Merge pull request #104 from mrlesmithjr/refactoring

Refactoring
This commit is contained in:
Larry Smith Jr
2023-06-15 09:07:11 -04:00
committed by GitHub
31 changed files with 1373 additions and 2419 deletions

View File

@@ -1 +1,2 @@
skip_list: []
skip_list:
- name[casing]

View File

@@ -37,6 +37,5 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-dev.txt
- name: molecule lint
run: |
molecule lint
- name: Check linting with pre-commit
run: pre-commit run --all-files

32
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,32 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-added-large-files
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: check-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: no-commit-to-branch
args: [--branch, develop, --branch, master, --branch, main]
- id: trailing-whitespace
- repo: https://github.com/ansible-community/ansible-lint
rev: v6.17.1
hooks:
- id: ansible-lint
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
language_version: python3
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
hooks:
- id: flake8
- repo: https://github.com/adrienverge/yamllint
rev: v1.32.0
hooks:
- id: yamllint

View File

@@ -1,32 +0,0 @@
---
dist: bionic
language: python
python:
- "3.8"
before_install:
- |
sudo apt -y install bridge-utils dnsmasq-base ebtables libvirt-bin libvirt-dev qemu-kvm qemu-utils ruby-dev
- |
wget https://releases.hashicorp.com/vagrant/2.2.7/vagrant_2.2.7_x86_64.deb
sudo apt -y install ./vagrant_2.2.7_x86_64.deb
sudo vagrant plugin install vagrant-libvirt
- |
sudo apt-get -y purge python3-openssl && sudo apt-get -y autoremove
sudo apt-get update && sudo apt-get install -y ca-certificates curl gcc iproute2 python3 python3-dev sudo
curl -skL https://bootstrap.pypa.io/get-pip.py | sudo -H python3
sudo pip3 install wheel
sudo pip3 install netaddr python-vagrant yamllint testinfra flake8
sudo pip3 install ansible ansible-lint
sudo pip3 install -I molecule molecule-vagrant
script:
- |
sudo molecule test --scenario-name kvm
sudo molecule test --scenario-name kvmsinglelv
sudo molecule test --scenario-name kvmonlyvg
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/

View File

@@ -1,322 +0,0 @@
commit 881d5d77fa435ccaa026c3341d0d2ac1fb537b98
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Mon Apr 27 11:26:18 2020 -0400
Fixing syntax issue for wantlist
commit 89360e3ffef9ff1dbbb5ad525a7ee1d77e6b8895
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Mon Apr 27 11:16:02 2020 -0400
Trying to fix the subelements lookup for a single element
This addresses #42. Will need to do some validation testing, etc.
commit c6a7034e4b0b381c5c5b44a15ce7baad7eab9c1b
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Fri Apr 24 17:22:07 2020 +0200
remove unused molecule env property
commit 883055c33f2d6b4c0df8e61ce49771c451905334
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Thu Apr 23 19:38:35 2020 +0200
lint
commit 325c2d6240022fe17abf40dffee842ccf79543f1
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Thu Apr 23 19:25:09 2020 +0200
install xfs
commit 4a1177e420fd9632f77d07ce0a19f89a1515f8eb
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Tue Apr 21 19:01:29 2020 +0200
use xfs_info on mountpoint instead of lvm
commit 7fd5a8eec9f4b5110929862056ab88c4db3f14de
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Sun Apr 19 01:59:29 2020 -0400
Only doing a Molecule lint at this time
commit 7e2a076b0a8155015fd21502db860fa89a2114b3
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Sun Apr 19 01:44:38 2020 -0400
Added Python requirements for testing, etc.
Closes #33
commit dadb9f24f7ebc2752e6495c4c3569bdee5e0cc68
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Fri Apr 17 13:12:06 2020 +0200
remove unwanted files
commit 2f63eab727cf7b0b389d0d0cc1a1c7236b71f839
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Fri Apr 17 12:56:31 2020 +0200
code smells
commit 050f8a56f10d81f7827be53b8c769b1aa5021c00
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 19:08:34 2020 +0200
typo in check
commit b955a6f073b91773f5f90da878268e74872a99e9
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 18:54:17 2020 +0200
remove unwanted newline
commit f81937e9d82bc48f2ee03f6ff462c32bca3da8f0
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 18:52:52 2020 +0200
makes xfs mountpoint repeatable
commit 1c3818e5d06887c01dc0a4b88a39c0561a446300
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 17:34:53 2020 +0200
mistake on remove volume
commit 47f8dae16a096050dccbb8d161f4a18946a6ae73
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 17:13:38 2020 +0200
github action lint
commit 96fa78d6d099d0a48642d377d3e7f30a0c554bdf
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 17:07:33 2020 +0200
remove deprecated machines
commit 17e8ec1058c5cb66b21b15a8d3912ac9980508a9
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 16:56:18 2020 +0200
configured molecule and fix xfs on centos
commit ba5d929fce982af9baa44cfe8ad0b3079133f444
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 15:14:30 2020 +0200
use dots instead of carets
commit ea9109220bb268b5f14e75e38d9fb32c2d79bae5
Author: Charlie Mordant <cmordant1@gmail.com>
Date: Wed Apr 15 14:33:41 2020 +0200
molecule test and idempotence
commit d8b3a4e93257dfeb79bc8d4ef349acb53f0019dc
Author: Samuel Mutel <smu-dw@deveryware.net>
Date: Mon Oct 14 12:21:03 2019 +0200
bug: Resize XFS parts is not working
commit b15ecea51d0045a89aae24e4b0c108b35f060b2c
Author: Tony Peña <emperor.cu@gmail.com>
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 <mikap83@gmail.com>
Date: Mon Apr 8 14:16:04 2019 +0200
issue #23: extra parenthesis
commit 0f428a0e40d71aea410fbc1aa329203c0b4f15cd
Author: faisalnizam <faisal@logiik.com>
Date: Tue Mar 26 10:48:45 2019 +0400
FIX LINT FOR BUILD
FIX LINT FOR BUILD
commit 8957630c04b8befa99c08ed667e43d95198202ce
Author: faisalnizam <faisal@logiik.com>
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 <mrlesmithjr@gmail.com>
Date: Tue Apr 2 08:03:42 2019 -0400
Resolves #21
commit b3ef85d4f738597260d9db0d90e84d0f8721259a
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Wed Dec 5 08:39:10 2018 -0500
Added skip codes for ansible-lint
commit 9f4afa7afb3fedc270c44ff1fa357da4b87845c0
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Wed Dec 5 08:00:13 2018 -0500
Fixing Travis testing and yamllint issues
commit 5603c5f6b0899a1b2cdeeeb3c035eb6249e96fa7
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Wed Dec 5 07:51:31 2018 -0500
Added Travis testing and hooks for galaxy
commit 563aa1effba936340cbaad9766a49f570292edee
Author: Mark Goddard <mark@stackhpc.com>
Date: Wed Oct 31 11:42:20 2018 +0000
Fix indentation
commit 4a58cb36cf6d4dd4bb23e86972658be508cca082
Author: Mark Goddard <mark@stackhpc.com>
Date: Wed Oct 31 11:16:27 2018 +0000
Update tasks/manage_lvm.yml
Co-Authored-By: oneswig <stig.github@telfer.org>
commit a0c784797f538fc5393d75589ac48e86c51e88db
Author: Stig Telfer <stig@stackhpc.com>
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 <dcastellanos@fintonic.com>
Date: Mon Dec 18 00:33:45 2017 +0100
Add opts and mopts support
commit 386cc28bdb58886ed492d3438c9cb088d36de161
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Sun Jun 11 14:57:53 2017 -0400
Addresses issue #10
Signed-off-by: Larry Smith Jr <mrlesmithjr@gmail.com>
commit 0d255cb5ce9e6016a503203c2ed39a70fb0ccd9c
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Fri May 5 09:12:25 2017 -0400
Fixes issue #8
Signed-off-by: Larry Smith Jr <mrlesmithjr@gmail.com>
commit f2d06d0d46086da0191b4dbde0d420e709e3ea01
Author: Stefan Heimberg <kontakt@stefanheimberg.ch>
Date: Thu Apr 6 00:25:55 2017 +0200
added support for btrfs
commit 7749d0c62a6e1539aff94c57fd2c0eeaf43dd1a0
Author: Kevin Loveland <kevin.loveland@gmail.com>
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 <kevin.loveland@gmail.com>
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 <mrlesmithjr@gmail.com>
Date: Sun Oct 2 09:58:47 2016 -0400
First commit of CHANGELOG
Signed-off-by: Larry Smith Jr <mrlesmithjr@gmail.com>
commit 99366fa547faccb0359dd8d3b19cec802640eb95
Author: Rohit Kothari <rohietkothari@gmail.com>
Date: Thu Sep 29 17:59:19 2016 -0700
Replace system-storage-manager with lvm2 in centos
commit ca1535d774b4e3310fc993841f1f99400612c7a5
Author: Olivier LOCARD <olivier.locard@deveryware.com>
Date: Fri Sep 23 16:21:07 2016 +0200
Add xfs_growfs for xfs systemfile type.
commit bb87fa8dbff5df50ed376db74a6d2b95f64fd745
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Tue Nov 3 10:39:58 2015 -0500
updated vars and conditionals
commit 49b20e2e4a80581f1c53559ff4073b3384eae28c
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Tue Nov 3 10:24:54 2015 -0500
updated when conditions
commit 0232734bed92e976376d4c9f2550b515f72f3d54
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Tue Nov 3 10:22:09 2015 -0500
updated tasks to only work when lvnames is defined
commit 9f592112095208843da1fd69a658bd49c163a7bb
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Tue Nov 3 09:37:38 2015 -0500
updated vars and meta
commit 686455514d8bc0da70b3440dbc5afe669188d333
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Tue Nov 3 09:22:00 2015 -0500
cleaned up and fixed all tasks including swap
commit 9f5c61e25599a130e1625e879438561cc1f6a437
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Mon Nov 2 23:38:38 2015 -0500
added new task
commit a5103ff6396138f531cf8457f16706b6fc90d1d1
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Mon Nov 2 23:38:23 2015 -0500
changing role tasks and vars
commit c776e9f339f0bcfe987aa571d29411ac44a29526
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Mon Nov 2 21:50:07 2015 -0500
updated meta
commit 46e0fd1fc2477693fc66aa4b38ac7bde19087047
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Mon Nov 2 21:23:59 2015 -0500
updated meta
commit d1d99b2f17d3bc46a479af5d01a976686429b7ce
Author: Larry Smith Jr <mrlesmithjr@gmail.com>
Date: Mon Nov 2 21:23:03 2015 -0500
first commit

View File

@@ -3,15 +3,11 @@ galaxy_info:
author: Larry Smith Jr.
description: Ansible role to manage(create, extend, resize) LVM Groups/Logical Volumes.
namespace: mrlesmithjr
role_name: manage-lvm
role_name: manage_lvm
license: MIT
min_ansible_version: 1.2
min_ansible_version: "1.2"
platforms:
- name: fedora
versions:
- 31
- name: EL
versions:
- all

View File

@@ -25,5 +25,5 @@
manage_lvm: true
tasks:
- name: "Include lvm"
include_role:
ansible.builtin.include_role:
name: "ansible-manage-lvm"

View File

@@ -16,6 +16,5 @@ def pytest_runtest_setup(item):
).get_hosts("all")
else:
pytest.skip(
"Test should run only from inside molecule.",
allow_module_level=True
"Test should run only from inside molecule.", allow_module_level=True
)

View File

@@ -8,7 +8,7 @@ def test_lvm_package_shall_be_installed(host):
def test_non_persistent_volume_group_is_created(host):
command = """sudo vgdisplay | grep -c 'my_vg'"""
cmd = host.run(command)
assert '1' in cmd.stdout
assert "1" in cmd.stdout
def test_mylv_logical_volume_is_created(host):

View File

@@ -25,5 +25,5 @@
manage_lvm: true
tasks:
- name: "Include lvm"
include_role:
ansible.builtin.include_role:
name: "ansible-manage-lvm"

View File

@@ -10,5 +10,5 @@
manage_lvm: true
tasks:
- name: "Include lvm"
include_role:
ansible.builtin.include_role:
name: "ansible-manage-lvm"

View File

@@ -8,4 +8,4 @@ def test_lvm_package_shall_be_installed(host):
def test_non_persistent_volume_group_is_created(host):
command = """sudo vgdisplay | grep -c 'my_vg'"""
cmd = host.run(command)
assert '1' in cmd.stdout
assert "1" in cmd.stdout

View File

@@ -18,5 +18,5 @@
manage_lvm: true
tasks:
- name: "Include lvm"
include_role:
ansible.builtin.include_role:
name: "ansible-manage-lvm"

View File

@@ -8,7 +8,7 @@ def test_lvm_package_shall_be_installed(host):
def test_non_persistent_volume_group_is_created(host):
command = """sudo vgdisplay | grep -c 'my_vg'"""
cmd = host.run(command)
assert '1' in cmd.stdout
assert "1" in cmd.stdout
def test_mylv_logical_volume_is_created(host):

View File

@@ -1,5 +1,6 @@
---
- hosts: test-nodes
- name: Example playbook
hosts: test-nodes
vars:
lvm_groups:
- vgname: test-vg
@@ -23,5 +24,5 @@
manage_lvm: true
tasks:
- name: Include lvm
include_role:
ansible.builtin.include_role:
name: ansible-manage-lvm

2964
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -5,25 +5,18 @@ description = ""
authors = ["Larry Smith Jr. <mrlesmithjr@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.10"
ansible = "4.2.0"
python = ">=3.9,<4.0"
ansible = "6.6.0"
[tool.poetry.dev-dependencies]
bandit = "^1.7.1"
black = "^21.11b1"
flake8 = "^4.0.1"
mypy = "^0.910"
poetry = "^1.1.11"
pylint = "^2.11.1"
ansible-lint = "4.2.0"
yamllint = "1.23.0"
mkdocs = "^1.2.3"
autopep8 = "^1.6.0"
pycodestyle = "^2.8.0"
pip-tools = "^6.4.0"
molecule = "3.0.3"
molecule-vagrant = "0.2"
pre-commit = "^2.15.0"
[tool.poetry.group.dev.dependencies]
ansible-lint = "6.8.7"
black = "^22.10.0"
pylint = "^2.15.7"
flake8 = "^6.0.0"
cookiecutter = "^2.1.1"
pre-commit = "^2.20.0"
molecule-plugins = {extras = ["vagrant"], version = "^23.4.1"}
molecule = {extras = ["docker"], version = "^5.0.1"}
[build-system]
requires = ["poetry-core>=1.0.0"]

View File

@@ -1,114 +1,73 @@
ansible-core==2.11.6; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
ansible-lint==4.2.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
ansible==4.2.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
arrow==1.2.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
astroid==2.8.6; python_version >= "3.6" and python_version < "4.0"
autopep8==1.6.0
backports.entry-points-selectable==1.1.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "2.7"
bandit==1.7.1; python_version >= "3.5"
bcrypt==3.2.0; python_version >= "3.6"
binaryornot==0.4.4; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
black==21.11b1; python_full_version >= "3.6.2"
cachecontrol==0.12.10; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
cachy==0.3.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
cerberus==1.3.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
certifi==2021.10.8; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
cffi==1.15.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
cfgv==3.3.1; python_full_version >= "3.6.1"
chardet==4.0.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
charset-normalizer==2.0.7; python_full_version >= "3.6.0" and python_version >= "3"
cleo==0.8.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
click-completion==0.5.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
click-help-colors==0.9.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
click==8.0.3; python_version >= "3.6" and python_full_version >= "3.6.2" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
clikit==0.6.2; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
colorama==0.4.4; platform_system == "Windows" and python_version >= "3.6" and python_full_version >= "3.6.2" and python_version < "4.0" and sys_platform == "win32" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
cookiecutter==1.7.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
crashtest==0.3.1; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0")
cryptography==36.0.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux" or python_full_version >= "3.5.0" and python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux"
distlib==0.3.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
distro==1.6.0; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux" or python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux2" or sys_platform == "linux" and python_version >= "3.6" and python_full_version >= "3.4.0" or sys_platform == "linux2" and python_version >= "3.6" and python_full_version >= "3.4.0"
fasteners==0.16.3; python_version >= "3.6"
filelock==3.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
flake8==4.0.1; python_version >= "3.6"
ghp-import==2.0.2; python_version >= "3.6"
gitdb==4.0.9; python_version >= "3.7"
gitpython==3.1.30; python_version >= "3.7"
html5lib==1.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
identify==2.4.0; python_full_version >= "3.6.1"
idna==3.3; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.5"
importlib-metadata==4.8.2; python_version >= "3.6"
isort==5.10.1; python_full_version >= "3.6.1" and python_version < "4.0" and python_version >= "3.6"
jeepney==0.7.1; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux"
jinja2-time==0.2.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
jinja2==3.0.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
keyring==21.8.0; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0")
lazy-object-proxy==1.6.0; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.6.0"
lockfile==0.12.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
markdown==3.3.6; python_version >= "3.6"
markupsafe==2.0.1; python_version >= "3.6"
mccabe==0.6.1; python_version >= "3.6" and python_version < "4.0"
mergedeep==1.3.4; python_version >= "3.6"
mkdocs==1.2.3; python_version >= "3.6"
molecule-vagrant==0.2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
molecule==3.0.3; python_version >= "3.6"
msgpack==1.0.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
mypy-extensions==0.4.3; python_full_version >= "3.6.2" and python_version >= "3.5"
mypy==0.910; python_version >= "3.5"
nodeenv==1.6.0; python_full_version >= "3.6.1"
packaging==20.9; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
paramiko==2.8.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pastel==0.2.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pathspec==0.9.0; python_full_version >= "3.6.2" and python_version >= "3.6"
pbr==5.8.0; python_version >= "3.6"
pep517==0.12.0; python_version >= "3.6"
pexpect==4.8.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pip-tools==6.4.0; python_version >= "3.6"
pkginfo==1.8.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
platformdirs==2.4.0; python_version >= "3.6" and python_full_version >= "3.6.2" and python_version < "4.0" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6")
pluggy==0.13.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
poetry-core==1.0.7; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
poetry==1.1.11; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
poyo==0.5.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pre-commit==2.15.0; python_full_version >= "3.6.1"
ptyprocess==0.7.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pycodestyle==2.8.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pyflakes==2.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
pylev==1.4.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pylint==2.11.1; python_version >= "3.6" and python_version < "4.0"
pynacl==1.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
pyparsing==3.0.6; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
python-dateutil==2.8.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
python-gilt==1.2.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
python-slugify==5.0.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
python-vagrant==0.5.15; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pywin32-ctypes==0.2.0; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "win32"
pyyaml-env-tag==0.1; python_version >= "3.6"
pyyaml==5.4.1; python_full_version >= "3.6.1" and python_version >= "3.6" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
regex==2021.11.10; python_full_version >= "3.6.2"
requests-toolbelt==0.9.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
requests==2.26.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
resolvelib==0.5.5; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
ruamel.yaml==0.17.17; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
secretstorage==3.3.1; python_version >= "3.6" and python_version < "4.0" and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0") and sys_platform == "linux"
selinux==0.2.1; python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux" or python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "linux2" or sys_platform == "linux" and python_version >= "3.6" and python_full_version >= "3.5.0" or sys_platform == "linux2" and python_version >= "3.6" and python_full_version >= "3.5.0"
sh==1.14.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
shellingham==1.4.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_version >= "3.6" and python_full_version >= "3.5.0"
six==1.16.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
smmap==5.0.0; python_version >= "3.7"
stevedore==3.5.0; python_version >= "3.6"
tabulate==0.8.9; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
text-unidecode==1.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
toml==0.10.2; python_full_version >= "3.6.1" and python_version >= "3.6" and python_version < "4.0"
tomli==1.2.2; python_version >= "3.6" and python_full_version >= "3.6.2"
tomlkit==0.7.2; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
tree-format==0.1.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
typing-extensions==4.0.0
urllib3==1.26.7; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version < "4"
virtualenv==20.10.0; python_full_version >= "3.6.1"
watchdog==2.1.6; python_version >= "3.6"
webencodings==0.5.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
wrapt==1.13.3; python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.5.0"
yamllint==1.23.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0")
zipp==3.6.0; python_version >= "3.6"
ansible-compat==3.0.2 ; python_version >= "3.9" and python_version < "4.0"
ansible-core==2.13.10 ; python_version >= "3.9" and python_version < "4.0"
ansible-lint==6.8.7 ; python_version >= "3.9" and python_version < "4.0"
ansible==6.6.0 ; python_version >= "3.9" and python_version < "4.0"
arrow==1.2.3 ; python_version >= "3.9" and python_version < "4.0"
astroid==2.15.5 ; python_version >= "3.9" and python_version < "4.0"
attrs==23.1.0 ; python_version >= "3.9" and python_version < "4.0"
binaryornot==0.4.4 ; python_version >= "3.9" and python_version < "4.0"
black==22.12.0 ; python_version >= "3.9" and python_version < "4.0"
bracex==2.3.post1 ; python_version >= "3.9" and python_version < "4.0"
certifi==2023.5.7 ; python_version >= "3.9" and python_version < "4.0"
cffi==1.15.1 ; python_version >= "3.9" and python_version < "4.0"
cfgv==3.3.1 ; python_version >= "3.9" and python_version < "4.0"
chardet==5.1.0 ; python_version >= "3.9" and python_version < "4.0"
charset-normalizer==3.1.0 ; python_version >= "3.9" and python_version < "4.0"
click-help-colors==0.9.1 ; python_version >= "3.9" and python_version < "4.0"
click==8.1.3 ; python_version >= "3.9" and python_version < "4.0"
colorama==0.4.6 ; python_version >= "3.9" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.9" and python_version < "4.0" and platform_system == "Windows"
cookiecutter==2.1.1 ; python_version >= "3.9" and python_version < "4.0"
cryptography==41.0.1 ; python_version >= "3.9" and python_version < "4.0"
dill==0.3.6 ; python_version >= "3.9" and python_version < "4.0"
distlib==0.3.6 ; python_version >= "3.9" and python_version < "4.0"
enrich==1.2.7 ; python_version >= "3.9" and python_version < "4.0"
filelock==3.12.2 ; python_version >= "3.9" and python_version < "4.0"
flake8==6.0.0 ; python_version >= "3.9" and python_version < "4.0"
identify==2.5.24 ; python_version >= "3.9" and python_version < "4.0"
idna==3.4 ; python_version >= "3.9" and python_version < "4.0"
isort==5.12.0 ; python_version >= "3.9" and python_version < "4.0"
jinja2-time==0.2.0 ; python_version >= "3.9" and python_version < "4.0"
jinja2==3.1.2 ; python_version >= "3.9" and python_version < "4.0"
jsonschema==4.17.3 ; python_version >= "3.9" and python_version < "4.0"
lazy-object-proxy==1.9.0 ; python_version >= "3.9" and python_version < "4.0"
markdown-it-py==3.0.0 ; python_version >= "3.9" and python_version < "4.0"
markupsafe==2.1.3 ; python_version >= "3.9" and python_version < "4.0"
mccabe==0.7.0 ; python_version >= "3.9" and python_version < "4.0"
mdurl==0.1.2 ; python_version >= "3.9" and python_version < "4.0"
molecule-plugins[vagrant]==23.4.1 ; python_version >= "3.9" and python_version < "4.0"
molecule==5.0.1 ; python_version >= "3.9" and python_version < "4.0"
molecule[docker]==5.0.1 ; python_version >= "3.9" and python_version < "4.0"
mypy-extensions==0.4.4 ; python_version >= "3.9" and python_version < "4.0"
nodeenv==1.8.0 ; python_version >= "3.9" and python_version < "4.0"
packaging==23.1 ; python_version >= "3.9" and python_version < "4.0"
pathspec==0.11.1 ; python_version >= "3.9" and python_version < "4.0"
platformdirs==2.6.2 ; python_version >= "3.9" and python_version < "4.0"
pluggy==0.13.1 ; python_version >= "3.9" and python_version < "4.0"
pre-commit==2.21.0 ; python_version >= "3.9" and python_version < "4.0"
pycodestyle==2.10.0 ; python_version >= "3.9" and python_version < "4.0"
pycparser==2.21 ; python_version >= "3.9" and python_version < "4.0"
pyflakes==3.0.1 ; python_version >= "3.9" and python_version < "4.0"
pygments==2.15.1 ; python_version >= "3.9" and python_version < "4.0"
pylint==2.17.4 ; python_version >= "3.9" and python_version < "4.0"
pyrsistent==0.19.3 ; python_version >= "3.9" and python_version < "4.0"
python-dateutil==2.8.2 ; python_version >= "3.9" and python_version < "4.0"
python-slugify==8.0.1 ; python_version >= "3.9" and python_version < "4.0"
python-vagrant==1.0.0 ; python_version >= "3.9" and python_version < "4.0"
pyyaml==5.4.1 ; python_version >= "3.9" and python_version < "4.0"
requests==2.31.0 ; python_version >= "3.9" and python_version < "4.0"
resolvelib==0.5.4 ; python_version >= "3.9" and python_version < "4.0"
rich==13.4.2 ; python_version >= "3.9" and python_version < "4.0"
ruamel-yaml-clib==0.2.7 ; platform_python_implementation == "CPython" and python_version < "3.12" and python_version >= "3.9"
ruamel-yaml==0.17.31 ; python_version >= "3.9" and python_version < "4.0"
setuptools==67.8.0 ; python_version >= "3.9" and python_version < "4.0"
six==1.16.0 ; python_version >= "3.9" and python_version < "4.0"
subprocess-tee==0.4.1 ; python_version >= "3.9" and python_version < "4.0"
text-unidecode==1.3 ; python_version >= "3.9" and python_version < "4.0"
tomli==1.2.3 ; python_version >= "3.9" and python_full_version < "3.11.0a7"
tomlkit==0.11.8 ; python_version >= "3.9" and python_version < "4.0"
typing-extensions==4.6.3 ; python_version >= "3.9" and python_version < "3.11"
urllib3==1.26.16 ; python_version >= "3.9" and python_version < "4.0"
virtualenv==20.21.1 ; python_version >= "3.9" and python_version < "4.0"
wcmatch==8.4.1 ; python_version >= "3.9" and python_version < "4.0"
wrapt==1.15.0 ; python_version >= "3.9" and python_version < "4.0"
yamllint==1.32.0 ; python_version >= "3.9" and python_version < "4.0"

View File

@@ -1,11 +1,10 @@
ansible-core==2.11.6; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
ansible==4.2.0; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
cffi==1.15.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
cryptography==36.0.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
jinja2==3.0.3; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
markupsafe==2.0.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
packaging==20.9; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pyparsing==3.0.6; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
pyyaml==5.4.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
resolvelib==0.5.5; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0"
ansible-core==2.13.10 ; python_version >= "3.9" and python_version < "4.0"
ansible==6.6.0 ; python_version >= "3.9" and python_version < "4.0"
cffi==1.15.1 ; python_version >= "3.9" and python_version < "4.0"
cryptography==41.0.1 ; python_version >= "3.9" and python_version < "4.0"
jinja2==3.1.2 ; python_version >= "3.9" and python_version < "4.0"
markupsafe==2.1.3 ; python_version >= "3.9" and python_version < "4.0"
packaging==23.1 ; python_version >= "3.9" and python_version < "4.0"
pycparser==2.21 ; python_version >= "3.9" and python_version < "4.0"
pyyaml==5.4.1 ; python_version >= "3.9" and python_version < "4.0"
resolvelib==0.5.4 ; python_version >= "3.9" and python_version < "4.0"

View File

@@ -1,7 +1,6 @@
---
- name: amazon | check for nvme devices
shell: |
ansible.builtin.shell: |
set -o pipefail
cat /proc/partitions | awk '{print $4}' | grep -q nvme. ; echo $?
args:
@@ -10,7 +9,7 @@
changed_when: false
- name: amazon | check for amazon ebs devices
shell: |
ansible.builtin.shell: |
set -o pipefail
lsblk -O -J | grep -qi "amazon elastic block store" ; echo $?
register: blkdev_awsebs
@@ -19,11 +18,11 @@
executable: /bin/bash
- name: amazon | set flag for nvme subsystem
set_fact:
ansible.builtin.set_fact:
device_is_nvme: "{{ true if (blkdev_nvme.stdout == '0') else false }}"
- name: amazon | set flag for aws ebs devices
set_fact:
ansible.builtin.set_fact:
device_is_awsebs: "{{ true if (blkdev_awsebs.stdout == '0') else false }}"
- name: Block to map renamed ec2 ebs nvmeXnY devices to their original sdX/xvdX names
@@ -31,13 +30,14 @@
become: true
block:
- name: amazon | download nvme mapping binary helper
get_url:
ansible.builtin.get_url:
url: "{{ ebsnvme_binary_helper_url }}"
dest: "{{ ebsnvme_binary_helper_tmp }}/"
mode: u=rw,g=r,o=r
changed_when: false
- name: amazon | extract binary helper
unarchive:
ansible.builtin.unarchive:
src: "{{ ebsnvme_binary_helper_tmp }}/{{ ebsnvme_binary_helper_file }}"
dest: "{{ ebsnvme_binary_helper_tmp }}/"
remote_src: yes
@@ -45,26 +45,26 @@
changed_when: false
- name: amazon | copy binary helper
copy:
ansible.builtin.copy:
src: "{{ ebsnvme_binary_helper_tmp }}/go-ebsnvme"
dest: "{{ ebsnvme_binary_helper_path }}"
mode: a+x
remote_src: yes
- name: amazon | template script helper
template:
src: 'ebsnvme-id.j2'
ansible.builtin.template:
src: "ebsnvme-id.j2"
dest: "{{ ebsnvme_scrip_helper_path }}"
mode: a+x
- name: amazon | template udev rule
template:
src: '70-ec2-nvme-devices.rules.j2'
dest: '/etc/udev/rules.d/70-ec2-nvme-devices.rules'
ansible.builtin.template:
src: "70-ec2-nvme-devices.rules.j2"
dest: "/etc/udev/rules.d/70-ec2-nvme-devices.rules"
mode: 0755
register: udev_rule
- name: amazon | reload and trigger udev rules
shell:
- name: amazon | reload and trigger udev rules # noqa no-changed-when no-handler
ansible.builtin.shell:
cmd: udevadm control --reload-rules && udevadm trigger
when: udev_rule.changed

View File

@@ -1,17 +1,18 @@
---
- name: centos | installing lvm2 and sg3_utils
package:
ansible.builtin.package:
name:
- lvm2
- sg3_utils
state: present
become: true
- include_tasks: amazon.yml
- name: Specific tasks for Amazon EC2
ansible.builtin.include_tasks: amazon.yml
when: ansible_facts.system_vendor == 'Amazon EC2'
- name: centos | debug lvg
debug:
ansible.builtin.debug:
var: lv
verbosity: 3
loop: "{{ lookup('subelements', lvm_groups, 'lvnames', {'skip_missing': True}, wantlist=True) }}"
@@ -19,7 +20,7 @@
loop_var: lv
- name: centos | install xfs tools
package:
ansible.builtin.package:
name: "xfsprogs"
state: "present"
become: true
@@ -35,35 +36,35 @@
- lv.1.create|bool
- name: centos | check for scsi adapters
find:
ansible.builtin.find:
paths: "/sys/class/scsi_host"
file_type: any
become: true
register: scsi_adapters
- block:
- name: centos | installing sg3_utils
package:
name: sg3_utils
state: present
become: true
- name: centos | checking for scsi devices
command: sg_scan
become: true
register: scsi_devices
changed_when: false
- name: centos | rescanning for new disks
command: "{{ rescan_scsi_command }}"
become: true
changed_when: false
when: scsi_devices.stdout|length > 0
- name: centos | rescanning for resized disks
command: "{{ rescan_scsi_command }} -s"
become: true
changed_when: false
when: scsi_devices.stdout|length > 0
- name: centos | Check for new disks
when: scsi_adapters.matched > 0
block:
- name: centos | installing sg3_utils
ansible.builtin.package:
name: sg3_utils
state: present
become: true
- name: centos | checking for scsi devices
ansible.builtin.command: sg_scan
become: true
register: scsi_devices
changed_when: false
- name: centos | rescanning for new disks
ansible.builtin.command: "{{ rescan_scsi_command }}"
become: true
changed_when: false
when: scsi_devices.stdout|length > 0
- name: centos | rescanning for resized disks
ansible.builtin.command: "{{ rescan_scsi_command }} -s"
become: true
changed_when: false
when: scsi_devices.stdout|length > 0

View File

@@ -1,11 +1,10 @@
---
# unable to resize xfs: looks like we've to reference the mountpoint instead of the device
- name: create_fs | 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 {{ lv.mntp }} | grep -c 'ftype=1'"
become: yes
ansible.builtin.shell: "xfs_info {{ lv.mntp }} | grep -c 'ftype=1'"
become: true
register: mountedxfs
ignore_errors: true
changed_when: false
@@ -17,7 +16,7 @@
- lv.create|bool
- name: create_fs | unmounting filesystem(s)
mount:
ansible.posix.mount:
path: "{{ lv.mntp }}"
src: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
fstype: "{{ lv.filesystem | default(omit) }}"
@@ -31,7 +30,7 @@
- lv.filesystem != "swap"
- name: create_fs | creating new filesystem on new LVM logical volume(s)
filesystem:
community.general.system.filesystem:
fstype: "{{ lv.filesystem }}"
dev: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
resizefs: yes
@@ -49,7 +48,7 @@
- lv.filesystem != 'xfs'
- name: create_fs | creating new xfs filesystem on new LVM logical volume(s)
filesystem:
community.general.system.filesystem:
fstype: "{{ lv.filesystem }}"
dev: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
opts: "{{ lv.fsopts | default(omit) }}"
@@ -66,7 +65,7 @@
- lv.filesystem == 'xfs'
- name: create_fs | mounting new filesystem(s)
mount:
ansible.posix.mount:
path: "{{ lv.mntp }}"
src: "/dev/{{ vg.vgname }}/{{ lv.lvname }}"
fstype: "{{ lv.filesystem }}"
@@ -83,8 +82,8 @@
- lv.mount is defined
- lv.mount|bool
- name: create_fs | resizing xfs filesystem on new LVM logical volume(s)
command: "xfs_growfs {{ lv.mntp }}"
- name: create_fs | resizing xfs filesystem on new LVM logical volume(s) # noqa no-changed-when
ansible.builtin.command: "xfs_growfs {{ lv.mntp }}"
become: true
when:
- vg.create is defined

View File

@@ -1,12 +1,11 @@
---
- name: create_lv | Display Volume Group
debug:
ansible.builtin.debug:
var: vg
verbosity: 2
- name: create_lv | creating new LVM logical volume(s)
lvol:
community.general.system.lvol:
vg: "{{ vg.vgname }}"
lv: "{{ lv.lvname }}"
size: "{{ lv.size }}"
@@ -24,8 +23,8 @@
- lv.create|bool
- name: create_lv | debug changed attribute
debug:
ansible.builtin.debug:
var: lvchanged
- name: create_lv | configuring FS
include_tasks: create_fs.yml
ansible.builtin.include_tasks: create_fs.yml

View File

@@ -1,6 +1,6 @@
---
- name: create_vg | creating new LVM volume group(s)
lvg:
community.general.system.lvg:
vg: "{{ vg.vgname }}"
pvs: "{{ vg.disks | join(',') }}"
state: present
@@ -12,7 +12,7 @@
### workaround: auto pvresize waiting for upgrade to new module supporting integrated pvresize
### ref: https://docs.ansible.com/ansible/3/collections/community/general/lvg_module.html
- name: create_vg | pvresize to max available free space
command: "pvresize {{ pv }}"
ansible.builtin.command: "pvresize {{ pv }}"
loop: "{{ vg.disks | default([]) }}"
loop_control:
loop_var: pv
@@ -23,7 +23,7 @@
- pvresize_to_max|bool
- name: manage_lvm | loop over logical volume group(s) to create logical volumes
include_tasks: create_lv.yml
ansible.builtin.include_tasks: create_lv.yml
loop: "{{ vg.lvnames | default([]) }}"
loop_control:
loop_var: lv

View File

@@ -1,12 +1,12 @@
---
- name: debian | Updating Apt Cache
apt:
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
become: true
- name: debian | installing pre-reqs
apt:
ansible.builtin.apt:
name:
- lvm2
- scsitools
@@ -14,11 +14,11 @@
become: true
- name: debian | install xfs tools
apt:
ansible.builtin.apt:
name: xfsprogs
state: present
become: true
loop: "{{ lvm_groups|subelements('lvnames') }}"
loop: "{{ lvm_groups | subelements('lvnames') }}"
when:
- item.1 is defined
- item.1 != 'None'
@@ -28,13 +28,13 @@
- item.1.create|bool
- name: debian | checking for scsi devices
command: sg_scan
ansible.builtin.command: sg_scan
become: true
register: scsi_devices
changed_when: false
- name: debian | rescanning for new disks added
command: "{{ rescan_scsi_command }}"
ansible.builtin.command: "{{ rescan_scsi_command }}"
become: true
changed_when: false
when: scsi_devices['stdout'] | length

View File

@@ -1,20 +1,23 @@
---
# tasks file for ansible-manage-lvm
- name: Set rescan_scsi_command for old debian version
set_fact:
ansible.builtin.set_fact:
rescan_scsi_command: "/sbin/rescan-scsi-bus"
when:
- ansible_facts.distribution | replace(' ','') | lower == 'debian'
- ansible_facts.distribution_release not in ('bookworm', 'sid')
- ansible_facts.distribution_major_version is version(10, '<=')
- include_tasks: debian.yml
- name: Debian specific tasks
ansible.builtin.include_tasks: debian.yml
when: ansible_facts.os_family == "Debian"
- include_tasks: centos.yml
- name: RHEL specific tasks
ansible.builtin.include_tasks: centos.yml
when: ansible_facts.os_family == "RedHat"
- include_tasks: manage_lvm.yml
- name: Manage LVM
ansible.builtin.include_tasks: manage_lvm.yml
when:
- lvm_groups is defined
- manage_lvm|bool

View File

@@ -1,18 +1,18 @@
---
- name: manage_lvm | manage physical volume group creation
include_tasks: create_vg.yml
ansible.builtin.include_tasks: create_vg.yml
loop: "{{ lvm_groups }}"
loop_control:
loop_var: vg
- name: manage_lvm | Removing LVM logical volume(s)
lvol:
community.general.system.lvol:
vg: "{{ item.0.vgname }}"
lv: "{{ item.1.lvname }}"
state: absent
force: true
become: true
loop: "{{ lvm_groups|subelements('lvnames', {'skip_missing': true}) }}"
loop: "{{ lvm_groups | subelements('lvnames', {'skip_missing': true}) }}"
when:
- item.1 is defined
- item.1 != 'None'
@@ -20,7 +20,7 @@
- not item.1.create|bool
- name: manage_lvm | Removing LVM volume group(s)
lvg:
community.general.system.lvg:
vg: "{{ item.vgname }}"
pvs: "{{ item.disks | join(',') }}"
state: absent

View File

@@ -1,3 +1,2 @@
# ebs nvme to scsi device naming mapping
KERNEL=="nvme[0-9]*n[0-9]*", ENV{DEVTYPE}=="disk", ATTRS{model}=="Amazon Elastic Block Store", PROGRAM="{{ ebsnvme_scrip_helper_path }} /dev/%k", SYMLINK+="%c"

View File

@@ -12,4 +12,3 @@
#
{{ ebsnvme_binary_helper_path }} -n $1 | awk -F '/' '{print $3}'

View File

@@ -1 +1 @@
skip_list: ['305','503','602']
skip_list: ['305', '503', '602']

View File

@@ -1,5 +1,6 @@
---
- hosts: localhost
connection: local
roles:
- ansible-manage-lvm
# - name: Test role
# hosts: localhost
# connection: local
# roles:
# - role: ansible-manage-lvm