diff --git a/.github/workflows/molecule.yml b/.github/workflows/molecule.yml
index 8077f12..3b79bb6 100644
--- a/.github/workflows/molecule.yml
+++ b/.github/workflows/molecule.yml
@@ -15,7 +15,7 @@ on:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
- # This workflow contains a single job called "build"
+
lint:
# The type of runner that the job will run on
runs-on: ubuntu-latest
diff --git a/.gitignore b/.gitignore
index e69de29..f823ee2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.idea
+**/__pycache__
+venv/
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 73f69e0..0000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
-# Editor-based HTTP Client requests
-/httpRequests/
diff --git a/.idea/ansible-manage-lvm.iml b/.idea/ansible-manage-lvm.iml
deleted file mode 100644
index d0876a7..0000000
--- a/.idea/ansible-manage-lvm.iml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
deleted file mode 100644
index 105ce2d..0000000
--- a/.idea/inspectionProfiles/profiles_settings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 8656114..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 900cbad..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 3ba4064..6aa1e37 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,52 +1,15 @@
---
-language: python
-python: "2.7"
-
-# Use the new container infrastructure
sudo: required
-
+language: python
services:
- docker
-
-env:
- - distribution: centos
- init: /usr/lib/systemd/systemd
- version: 7
- - distribution: fedora
- init: /usr/lib/systemd/systemd
- version: 26
- - distribution: fedora
- init: /usr/lib/systemd/systemd
- version: 25
- - distribution: ubuntu
- init: /lib/systemd/systemd
- version: bionic
- - distribution: ubuntu
- init: /lib/systemd/systemd
- version: xenial
- - distribution: debian
- init: /lib/systemd/systemd
- version: stretch
-
before_install:
- - 'sudo pip install yamllint'
- - yamllint -c .yamllint.yml .
- - 'sudo docker pull ${distribution}:${version}'
- - 'sudo docker build --no-cache --rm --file=tests/Dockerfile.${distribution}-${version} --tag=${distribution}-${version}:ansible tests'
-
+ - sudo apt-get -qq update
+install:
+ - pip3 install -r requirements.txt
+ - ansible --version
+ - molecule --version
script:
- - container_id=$(mktemp)
- - role_name="ansible-manage-lvm"
- - 'sudo docker run --detach --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro --volume="${PWD}":/etc/ansible/roles/${role_name}:ro ${distribution}-${version}:ansible ${init} > "${container_id}"'
- - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-lint -c /.ansible-lint /etc/ansible/roles/${role_name}/tests/test.yml'
- - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml --syntax-check'
- - 'sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml'
- - >
- sudo docker exec "$(cat ${container_id})" env ANSIBLE_FORCE_COLOR=1 ansible-playbook -v /etc/ansible/roles/${role_name}/tests/test.yml
- | grep -q 'changed=0.*failed=0'
- && (echo 'Idempotence test: pass' && exit 0)
- || (echo 'Idempotence test: fail' && exit 1)
- - 'sudo docker rm -f "$(cat ${container_id})"'
-
+ - molecule lint
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/
diff --git a/.yamllint.yml b/.yamllint.yml
index faf0b5d..70d5f7c 100644
--- a/.yamllint.yml
+++ b/.yamllint.yml
@@ -1,58 +1,36 @@
---
-extends: default
+# Based on ansible-lint config
+extends: default
+
+ignore: |
+ venv/
rules:
braces:
- # Defaults
- # min-spaces-inside: 0
- # max-spaces-inside: 0
-
- # Keeping 0 min-spaces to not error on empty collection definitions
- min-spaces-inside: 0
- # Allowing one space inside braces to improve code readability
- max-spaces-inside: 1
-
+ max-spaces-inside: 1
+ level: error
brackets:
- # Defaults
- # min-spaces-inside: 0
- # max-spaces-inside: 0
-
- # Keeping 0 min-spaces to not error on empty collection definitions
- min-spaces-inside: 0
- # Allowing one space inside braces to improve code readability
- max-spaces-inside: 1
-
+ max-spaces-inside: 1
+ level: error
colons:
- # Defaults
- # max-spaces-before: 0
- # max-spaces-after: 1
-
- max-spaces-before: 0
- # Allowing more than one space for code readability
- max-spaces-after: -1
-
- comments:
- # Defaults
- # level: warning
- # require-starting-space: true
- # min-spaces-from-content: 2
-
- # Disabling to allow for code comment blocks and #!/usr/bin/ansible-playbook
- require-starting-space: false
-
- indentation:
- # Defaults
- # spaces: consistent
- # indent-sequences: true
- # check-multi-line-strings: false
-
- # Requiring 2 space indentation
- spaces: 2
- # Requiring consistent indentation within a file, either indented or not
- indent-sequences: consistent
-
- # Disabling due to copious amounts of long lines in the code which would
- # require a code style change to resolve
- line-length: disable
-
- truthy: disable
+ max-spaces-after: -1
+ level: error
+ commas:
+ max-spaces-after: -1
+ level: error
+ comments: disable
+ comments-indentation: disable
+ document-start: disable
+ empty-lines:
+ max: 3
+ level: error
+ hyphens:
+ level: error
+ indentation: disable
+ key-duplicates: enable
+ line-length: disable
+ new-line-at-end-of-file: disable
+ new-lines:
+ type: unix
+ trailing-spaces: disable
+ truthy: disable
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e8552e4..a609213 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,19 +1,278 @@
-# Change Log
+commit 7e2a076b0a8155015fd21502db860fa89a2114b3
+Author: Larry Smith Jr
+Date: Sun Apr 19 01:44:38 2020 -0400
-## [Unreleased](https://github.com/mrlesmithjr/ansible-manage-lvm/tree/HEAD)
+ Added Python requirements for testing, etc.
+
+ Closes #33
-[Full Changelog](https://github.com/mrlesmithjr/ansible-manage-lvm/compare/v0.1.0...HEAD)
+commit dadb9f24f7ebc2752e6495c4c3569bdee5e0cc68
+Author: Charlie Mordant
+Date: Fri Apr 17 13:12:06 2020 +0200
-**Closed issues:**
+ remove unwanted files
-- Role fails on CentOS due to system-storage-manager package [\#2](https://github.com/mrlesmithjr/ansible-manage-lvm/issues/2)
+commit 2f63eab727cf7b0b389d0d0cc1a1c7236b71f839
+Author: Charlie Mordant
+Date: Fri Apr 17 12:56:31 2020 +0200
-## [v0.1.0](https://github.com/mrlesmithjr/ansible-manage-lvm/tree/v0.1.0) (2016-09-30)
-**Merged pull requests:**
+ code smells
-- Replace system-storage-manager with lvm2 in centos [\#3](https://github.com/mrlesmithjr/ansible-manage-lvm/pull/3) ([rohitkothari](https://github.com/rohitkothari))
-- Add xfs\_growfs for xfs systemfile type. [\#1](https://github.com/mrlesmithjr/ansible-manage-lvm/pull/1) ([olo-dw](https://github.com/olo-dw))
+commit 050f8a56f10d81f7827be53b8c769b1aa5021c00
+Author: Charlie Mordant
+Date: Wed Apr 15 19:08:34 2020 +0200
+ typo in check
+commit b955a6f073b91773f5f90da878268e74872a99e9
+Author: Charlie Mordant
+Date: Wed Apr 15 18:54:17 2020 +0200
-\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
\ No newline at end of file
+ remove unwanted newline
+
+commit f81937e9d82bc48f2ee03f6ff462c32bca3da8f0
+Author: Charlie Mordant
+Date: Wed Apr 15 18:52:52 2020 +0200
+
+ makes xfs mountpoint repeatable
+
+commit 1c3818e5d06887c01dc0a4b88a39c0561a446300
+Author: Charlie Mordant
+Date: Wed Apr 15 17:34:53 2020 +0200
+
+ mistake on remove volume
+
+commit 47f8dae16a096050dccbb8d161f4a18946a6ae73
+Author: Charlie Mordant
+Date: Wed Apr 15 17:13:38 2020 +0200
+
+ github action lint
+
+commit 96fa78d6d099d0a48642d377d3e7f30a0c554bdf
+Author: Charlie Mordant
+Date: Wed Apr 15 17:07:33 2020 +0200
+
+ remove deprecated machines
+
+commit 17e8ec1058c5cb66b21b15a8d3912ac9980508a9
+Author: Charlie Mordant
+Date: Wed Apr 15 16:56:18 2020 +0200
+
+ configured molecule and fix xfs on centos
+
+commit ba5d929fce982af9baa44cfe8ad0b3079133f444
+Author: Charlie Mordant
+Date: Wed Apr 15 15:14:30 2020 +0200
+
+ use dots instead of carets
+
+commit ea9109220bb268b5f14e75e38d9fb32c2d79bae5
+Author: Charlie Mordant
+Date: Wed Apr 15 14:33:41 2020 +0200
+
+ molecule test and idempotence
+
+commit d8b3a4e93257dfeb79bc8d4ef349acb53f0019dc
+Author: Samuel Mutel
+Date: Mon Oct 14 12:21:03 2019 +0200
+
+ bug: Resize XFS parts is not working
+
+commit b15ecea51d0045a89aae24e4b0c108b35f060b2c
+Author: Tony Peña
+Date: Wed Jun 26 14:56:13 2019 +0200
+
+ Update debian.yml
+
+ Since ansible 2.8.0 must be change way using dict
+
+commit 9788ee5df68798ad94f11c8133b1d62ff409d0e8
+Author: Michele Caputo
+Date: Mon Apr 8 14:16:04 2019 +0200
+
+ issue #23: extra parenthesis
+
+commit 0f428a0e40d71aea410fbc1aa329203c0b4f15cd
+Author: faisalnizam
+Date: Tue Mar 26 10:48:45 2019 +0400
+
+ FIX LINT FOR BUILD
+
+ FIX LINT FOR BUILD
+
+commit 8957630c04b8befa99c08ed667e43d95198202ce
+Author: faisalnizam
+Date: Tue Mar 26 10:40:11 2019 +0400
+
+ Adding SWAP FileSystem Exception
+
+ Adding Check for SWAP Filesystem if defined skip
+ 1. SKIP New Filesystem Creation
+ 2. SKIP mountpoint check
+
+commit 183087e767cbce08ce2da1a3b04f47d3fc03a7e6
+Author: Larry Smith Jr
+Date: Tue Apr 2 08:03:42 2019 -0400
+
+ Resolves #21
+
+commit b3ef85d4f738597260d9db0d90e84d0f8721259a
+Author: Larry Smith Jr
+Date: Wed Dec 5 08:39:10 2018 -0500
+
+ Added skip codes for ansible-lint
+
+commit 9f4afa7afb3fedc270c44ff1fa357da4b87845c0
+Author: Larry Smith Jr
+Date: Wed Dec 5 08:00:13 2018 -0500
+
+ Fixing Travis testing and yamllint issues
+
+commit 5603c5f6b0899a1b2cdeeeb3c035eb6249e96fa7
+Author: Larry Smith Jr
+Date: Wed Dec 5 07:51:31 2018 -0500
+
+ Added Travis testing and hooks for galaxy
+
+commit 563aa1effba936340cbaad9766a49f570292edee
+Author: Mark Goddard
+Date: Wed Oct 31 11:42:20 2018 +0000
+
+ Fix indentation
+
+commit 4a58cb36cf6d4dd4bb23e86972658be508cca082
+Author: Mark Goddard
+Date: Wed Oct 31 11:16:27 2018 +0000
+
+ Update tasks/manage_lvm.yml
+
+ Co-Authored-By: oneswig
+
+commit a0c784797f538fc5393d75589ac48e86c51e88db
+Author: Stig Telfer
+Date: Wed Oct 31 10:16:44 2018 +0100
+
+ Support not formatting volumes.
+
+ Logic to make the filesystem attribute optional, in situations where
+ we do not want the volumes formatted.
+
+commit 66368de1d3d2b6712cbf66fc3dd0962705bf86f9
+Author: David Castellanos
+Date: Mon Dec 18 00:33:45 2017 +0100
+
+ Add opts and mopts support
+
+commit 386cc28bdb58886ed492d3438c9cb088d36de161
+Author: Larry Smith Jr
+Date: Sun Jun 11 14:57:53 2017 -0400
+
+ Addresses issue #10
+
+ Signed-off-by: Larry Smith Jr
+
+commit 0d255cb5ce9e6016a503203c2ed39a70fb0ccd9c
+Author: Larry Smith Jr
+Date: Fri May 5 09:12:25 2017 -0400
+
+ Fixes issue #8
+
+ Signed-off-by: Larry Smith Jr
+
+commit f2d06d0d46086da0191b4dbde0d420e709e3ea01
+Author: Stefan Heimberg
+Date: Thu Apr 6 00:25:55 2017 +0200
+
+ added support for btrfs
+
+commit 7749d0c62a6e1539aff94c57fd2c0eeaf43dd1a0
+Author: Kevin Loveland
+Date: Fri Nov 18 10:26:16 2016 -0800
+
+ Fixed issue with idempotency of lvol module. See ansible-module-extras issue #428
+
+commit 3ad965237280d534f0aab0027f9ef61701354e8b
+Author: Kevin Loveland
+Date: Thu Nov 17 15:17:26 2016 -0800
+
+ Changes to adjust to removal of bare vars in Ansible 2.2
+
+commit a82877c290cfe0b62eda90d8874b8e2b62402946
+Author: Larry Smith Jr
+Date: Sun Oct 2 09:58:47 2016 -0400
+
+ First commit of CHANGELOG
+
+ Signed-off-by: Larry Smith Jr
+
+commit 99366fa547faccb0359dd8d3b19cec802640eb95
+Author: Rohit Kothari
+Date: Thu Sep 29 17:59:19 2016 -0700
+
+ Replace system-storage-manager with lvm2 in centos
+
+commit ca1535d774b4e3310fc993841f1f99400612c7a5
+Author: Olivier LOCARD
+Date: Fri Sep 23 16:21:07 2016 +0200
+
+ Add xfs_growfs for xfs systemfile type.
+
+commit bb87fa8dbff5df50ed376db74a6d2b95f64fd745
+Author: Larry Smith Jr
+Date: Tue Nov 3 10:39:58 2015 -0500
+
+ updated vars and conditionals
+
+commit 49b20e2e4a80581f1c53559ff4073b3384eae28c
+Author: Larry Smith Jr
+Date: Tue Nov 3 10:24:54 2015 -0500
+
+ updated when conditions
+
+commit 0232734bed92e976376d4c9f2550b515f72f3d54
+Author: Larry Smith Jr
+Date: Tue Nov 3 10:22:09 2015 -0500
+
+ updated tasks to only work when lvnames is defined
+
+commit 9f592112095208843da1fd69a658bd49c163a7bb
+Author: Larry Smith Jr
+Date: Tue Nov 3 09:37:38 2015 -0500
+
+ updated vars and meta
+
+commit 686455514d8bc0da70b3440dbc5afe669188d333
+Author: Larry Smith Jr
+Date: Tue Nov 3 09:22:00 2015 -0500
+
+ cleaned up and fixed all tasks including swap
+
+commit 9f5c61e25599a130e1625e879438561cc1f6a437
+Author: Larry Smith Jr
+Date: Mon Nov 2 23:38:38 2015 -0500
+
+ added new task
+
+commit a5103ff6396138f531cf8457f16706b6fc90d1d1
+Author: Larry Smith Jr
+Date: Mon Nov 2 23:38:23 2015 -0500
+
+ changing role tasks and vars
+
+commit c776e9f339f0bcfe987aa571d29411ac44a29526
+Author: Larry Smith Jr
+Date: Mon Nov 2 21:50:07 2015 -0500
+
+ updated meta
+
+commit 46e0fd1fc2477693fc66aa4b38ac7bde19087047
+Author: Larry Smith Jr
+Date: Mon Nov 2 21:23:59 2015 -0500
+
+ updated meta
+
+commit d1d99b2f17d3bc46a479af5d01a976686429b7ce
+Author: Larry Smith Jr
+Date: Mon Nov 2 21:23:03 2015 -0500
+
+ first commit
diff --git a/molecule/default/tests/__pycache__/conftest.cpython-27-PYTEST.pyc b/molecule/default/tests/__pycache__/conftest.cpython-27-PYTEST.pyc
deleted file mode 100644
index 4cd4455..0000000
Binary files a/molecule/default/tests/__pycache__/conftest.cpython-27-PYTEST.pyc and /dev/null differ
diff --git a/molecule/default/tests/__pycache__/test_default.cpython-27-PYTEST.pyc b/molecule/default/tests/__pycache__/test_default.cpython-27-PYTEST.pyc
deleted file mode 100644
index 13c9709..0000000
Binary files a/molecule/default/tests/__pycache__/test_default.cpython-27-PYTEST.pyc and /dev/null differ
diff --git a/requirements-dev.txt b/requirements-dev.txt
new file mode 100644
index 0000000..fad57a5
--- /dev/null
+++ b/requirements-dev.txt
@@ -0,0 +1,66 @@
+ansible==2.9.7
+ansible-lint==4.2.0
+arrow==0.15.5
+attrs==19.3.0
+bcrypt==3.1.7
+binaryornot==0.4.4
+Cerberus==1.3.2
+certifi==2020.4.5.1
+cffi==1.14.0
+chardet==3.0.4
+click==7.1.1
+click-completion==0.5.2
+click-help-colors==0.8
+colorama==0.4.3
+cookiecutter==1.7.0
+cryptography==2.9
+distro==1.5.0
+docker==4.2.0
+entrypoints==0.3
+fasteners==0.15
+flake8==3.7.9
+future==0.18.2
+idna==2.9
+importlib-metadata==1.6.0
+Jinja2==2.11.2
+jinja2-time==0.2.0
+MarkupSafe==1.1.1
+mccabe==0.6.1
+molecule==3.0.3
+molecule-vagrant==0.2
+monotonic==1.5
+more-itertools==8.2.0
+packaging==20.3
+paramiko==2.7.1
+pathspec==0.8.0
+pexpect==4.8.0
+pluggy==0.13.1
+poyo==0.5.0
+ptyprocess==0.6.0
+py==1.8.1
+pycodestyle==2.5.0
+pycparser==2.20
+pyflakes==2.1.1
+PyNaCl==1.3.0
+pyparsing==2.4.7
+pytest==5.4.1
+python-dateutil==2.8.1
+python-gilt==1.2.3
+python-vagrant==0.5.15
+PyYAML==5.3.1
+requests==2.23.0
+ruamel.yaml==0.16.10
+ruamel.yaml.clib==0.2.0
+selinux==0.2.1
+sh==1.12.14
+shellingham==1.3.2
+six==1.14.0
+tabulate==0.8.7
+testinfra==5.0.0
+tree-format==0.1.2
+urllib3==1.25.9
+wcwidth==0.1.9
+websocket-client==0.57.0
+whichcraft==0.6.1
+yamllint==1.23.0
+zipp==3.1.0
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..48c9c43
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,7 @@
+ansible-lint==4.2.0
+docker==4.2.0
+flake8==3.7.9
+molecule-vagrant==0.2
+molecule==3.0.3
+testinfra==5.0.0
+yamllint==1.23.0
diff --git a/tasks/create_fs.yml b/tasks/create_fs.yml
index c068417..1656131 100644
--- a/tasks/create_fs.yml
+++ b/tasks/create_fs.yml
@@ -44,7 +44,7 @@
- name: lvm | check already converted
# at least xfs is executed twice if the partition has changed in the meantime
# then it tries to recreate the fs on the mounted fs which indeed fails...
- shell: "xfs_info /dev/{{ vg.vgname }}/{{ lv.lvname }} | grep -c 'ftype=1'"
+ shell: "xfs_info {{ lv.mntp }} | grep -c 'ftype=1'"
become: yes
loop: "{{ vg.lvnames }}"
loop_control:
@@ -54,7 +54,7 @@
changed_when: no
when: >
(
- (lv is defined and item.1 != 'None') and
+ (lv is defined and lv != 'None') and
(
lv.filesystem is defined and
lv.filesystem == "xfs"
@@ -89,12 +89,6 @@
)
)
-- name: "debug mount"
- loop: "{{ vg.lvnames }}"
- debug: var=lv
- loop_control:
- loop_var: lv
-
- name: manage_lvm | mounting new filesystem(s)
mount:
path: "{{ lv.mntp }}"
diff --git a/tasks/debian.yml b/tasks/debian.yml
index 0ccccbf..cc489f2 100644
--- a/tasks/debian.yml
+++ b/tasks/debian.yml
@@ -7,7 +7,7 @@
state: "present"
become: true
-- name: centos | install xfs tools
+- name: debian | install xfs tools
package:
name: "xfsprogs"
state: "present"
diff --git a/tasks/main.yml b/tasks/main.yml
index 86d4e50..34c5d10 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,12 +1,12 @@
---
# tasks file for ansible-manage-lvm
-- include: debian.yml
+- include_tasks: debian.yml
when: ansible_os_family == "Debian"
-- include: centos.yml
+- include_tasks: centos.yml
when: ansible_os_family == "RedHat"
-- include: manage_lvm.yml
+- include_tasks: manage_lvm.yml
when: >
manage_lvm and
lvm_groups is defined
diff --git a/tasks/manage_lvm.yml b/tasks/manage_lvm.yml
index ad8aa0b..e224bff 100644
--- a/tasks/manage_lvm.yml
+++ b/tasks/manage_lvm.yml
@@ -1,15 +1,15 @@
---
- name: manage_lvm | manage physical volume group creation
- include: create_vg.yml
+ include_tasks: create_vg.yml
- name: manage_lvm | loop over logical volume group(s) to create logical volumes
- include: create_lv.yml
+ include_tasks: create_lv.yml
loop: "{{ lvm_groups }}"
loop_control:
loop_var: vg
- name: manage_lvm | loop over logical volume group(s) to create filesystems
- include: create_fs.yml
+ include_tasks: create_fs.yml
loop: "{{ lvm_groups }}"
loop_control:
loop_var: vg