Compare commits

...

27 Commits

Author SHA1 Message Date
dependabot[bot] 2ac4ddf97a chore: bump the python-deps group across 1 directory with 60 updates
Bumps the python-deps group with 60 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [ansible](https://github.com/ansible-community/ansible-build-data) | `6.6.0` | `8.7.0` |
| [black](https://github.com/psf/black) | `22.12.0` | `25.11.0` |
| [pylint](https://github.com/pylint-dev/pylint) | `2.17.4` | `3.3.9` |
| [flake8](https://github.com/pycqa/flake8) | `6.0.0` | `7.3.0` |
| [cookiecutter](https://github.com/cookiecutter/cookiecutter) | `2.1.1` | `2.6.0` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `2.21.0` | `4.3.0` |
| [molecule-plugins](https://github.com/ansible-community/molecule-plugins) | `23.4.1` | `23.5.0` |
| [molecule](https://github.com/ansible-community/molecule) | `5.0.1` | `6.0.3` |
| [ansible-compat](https://github.com/ansible/ansible-compat) | `3.0.2` | `24.10.0` |
| [ansible-core](https://github.com/ansible/ansible) | `2.13.10` | `2.15.13` |
| [arrow](https://github.com/arrow-py/arrow) | `1.2.3` | `1.4.0` |
| [astroid](https://github.com/pylint-dev/astroid) | `2.15.5` | `3.3.11` |
| [attrs](https://github.com/python-attrs/attrs) | `23.1.0` | `26.1.0` |
| [bracex](https://github.com/facelessuser/bracex) | `2.3.post1` | `2.6` |
| [certifi](https://github.com/certifi/python-certifi) | `2023.5.7` | `2026.4.22` |
| [cffi](https://github.com/python-cffi/cffi) | `1.15.1` | `2.0.0` |
| [cfgv](https://github.com/asottile/cfgv) | `3.3.1` | `3.4.0` |
| [chardet](https://github.com/chardet/chardet) | `5.1.0` | `5.2.0` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.1.0` | `3.4.7` |
| [click](https://github.com/pallets/click) | `8.1.3` | `8.1.8` |
| [click-help-colors](https://github.com/click-contrib/click-help-colors) | `0.9.1` | `0.9.4` |
| [cryptography](https://github.com/pyca/cryptography) | `46.0.6` | `47.0.0` |
| [dill](https://github.com/uqfoundation/dill) | `0.3.6` | `0.4.1` |
| [distlib](https://github.com/pypa/distlib) | `0.3.6` | `0.4.0` |
| [filelock](https://github.com/tox-dev/py-filelock) | `3.12.2` | `3.19.1` |
| [identify](https://github.com/pre-commit/identify) | `2.5.24` | `2.6.15` |
| [idna](https://github.com/kjd/idna) | `3.4` | `3.13` |
| [isort](https://github.com/PyCQA/isort) | `5.12.0` | `6.1.0` |
| [jinja2](https://github.com/pallets/jinja) | `3.1.2` | `3.1.6` |
| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.17.3` | `4.25.1` |
| [lazy-object-proxy](https://github.com/ionelmc/python-lazy-object-proxy) | `1.9.0` | `1.12.0` |
| [markupsafe](https://github.com/pallets/markupsafe) | `2.1.3` | `3.0.3` |
| [mypy-extensions](https://github.com/python/mypy_extensions) | `0.4.4` | `1.1.0` |
| [nodeenv](https://github.com/ekalinin/nodeenv) | `1.8.0` | `1.10.0` |
| [packaging](https://github.com/pypa/packaging) | `23.1` | `26.2` |
| [pathspec](https://github.com/cpburnz/python-pathspec) | `0.11.1` | `1.1.1` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `2.6.2` | `4.4.0` |
| [pluggy](https://github.com/pytest-dev/pluggy) | `0.13.1` | `1.6.0` |
| [pycodestyle](https://github.com/PyCQA/pycodestyle) | `2.10.0` | `2.14.0` |
| [pycparser](https://github.com/eliben/pycparser) | `2.21` | `2.23` |
| [pyflakes](https://github.com/PyCQA/pyflakes) | `3.0.1` | `3.4.0` |
| [pyrsistent](https://github.com/tobgu/pyrsistent) | `0.19.3` | `0.20.0` |
| [python-dateutil](https://github.com/dateutil/dateutil) | `2.8.2` | `2.9.0.post0` |
| [python-slugify](https://github.com/un33k/python-slugify) | `8.0.1` | `8.0.4` |
| [pyyaml](https://github.com/yaml/pyyaml) | `5.4.1` | `6.0.3` |
| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.5` |
| [resolvelib](https://github.com/sarugaku/resolvelib) | `0.5.4` | `1.2.1` |
| [rich](https://github.com/Textualize/rich) | `13.4.2` | `15.0.0` |
| ruamel-yaml | `0.17.31` | `0.19.1` |
| [setuptools](https://github.com/pypa/setuptools) | `67.8.0` | `82.0.1` |
| [six](https://github.com/benjaminp/six) | `1.16.0` | `1.17.0` |
| [subprocess-tee](https://github.com/pycontribs/subprocess-tee) | `0.4.1` | `0.4.2` |
| [tomli](https://github.com/hukkin/tomli) | `1.2.3` | `2.4.1` |
| [tomlkit](https://github.com/sdispater/tomlkit) | `0.11.8` | `0.14.0` |
| [typing-extensions](https://github.com/python/typing_extensions) | `4.6.3` | `4.15.0` |
| [urllib3](https://github.com/urllib3/urllib3) | `1.26.16` | `2.6.3` |
| [virtualenv](https://github.com/pypa/virtualenv) | `20.21.1` | `21.3.0` |
| [wcmatch](https://github.com/facelessuser/wcmatch) | `8.4.1` | `10.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.15.0` | `2.1.2` |
| [yamllint](https://github.com/adrienverge/yamllint) | `1.32.0` | `1.37.1` |



Updates `ansible` from 6.6.0 to 8.7.0
- [Changelog](https://github.com/ansible-community/ansible-build-data/blob/main/docs/release-process.md)
- [Commits](https://github.com/ansible-community/ansible-build-data/compare/6.6.0...8.7.0)

Updates `black` from 22.12.0 to 25.11.0
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.12.0...25.11.0)

Updates `pylint` from 2.17.4 to 3.3.9
- [Release notes](https://github.com/pylint-dev/pylint/releases)
- [Commits](https://github.com/pylint-dev/pylint/compare/v2.17.4...v3.3.9)

Updates `flake8` from 6.0.0 to 7.3.0
- [Commits](https://github.com/pycqa/flake8/compare/6.0.0...7.3.0)

Updates `cookiecutter` from 2.1.1 to 2.6.0
- [Release notes](https://github.com/cookiecutter/cookiecutter/releases)
- [Changelog](https://github.com/cookiecutter/cookiecutter/blob/2.6.0/HISTORY.md)
- [Commits](https://github.com/cookiecutter/cookiecutter/compare/2.1.1...2.6.0)

Updates `pre-commit` from 2.21.0 to 4.3.0
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.21.0...v4.3.0)

Updates `molecule-plugins` from 23.4.1 to 23.5.0
- [Release notes](https://github.com/ansible-community/molecule-plugins/releases)
- [Commits](https://github.com/ansible-community/molecule-plugins/compare/v23.4.1...v23.5.0)

Updates `molecule` from 5.0.1 to 6.0.3
- [Release notes](https://github.com/ansible-community/molecule/releases)
- [Commits](https://github.com/ansible-community/molecule/compare/v5.0.1...v6.0.3)

Updates `ansible-compat` from 3.0.2 to 24.10.0
- [Release notes](https://github.com/ansible/ansible-compat/releases)
- [Commits](https://github.com/ansible/ansible-compat/compare/v3.0.2...v24.10.0)

Updates `ansible-core` from 2.13.10 to 2.15.13
- [Release notes](https://github.com/ansible/ansible/releases)
- [Commits](https://github.com/ansible/ansible/compare/v2.13.10...v2.15.13)

Updates `arrow` from 1.2.3 to 1.4.0
- [Release notes](https://github.com/arrow-py/arrow/releases)
- [Changelog](https://github.com/arrow-py/arrow/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/arrow-py/arrow/compare/1.2.3...1.4.0)

Updates `astroid` from 2.15.5 to 3.3.11
- [Release notes](https://github.com/pylint-dev/astroid/releases)
- [Changelog](https://github.com/pylint-dev/astroid/blob/main/ChangeLog)
- [Commits](https://github.com/pylint-dev/astroid/compare/v2.15.5...v3.3.11)

Updates `attrs` from 23.1.0 to 26.1.0
- [Release notes](https://github.com/python-attrs/attrs/releases)
- [Changelog](https://github.com/python-attrs/attrs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python-attrs/attrs/compare/23.1.0...26.1.0)

Updates `bracex` from 2.3.post1 to 2.6
- [Release notes](https://github.com/facelessuser/bracex/releases)
- [Commits](https://github.com/facelessuser/bracex/compare/2.3.post1...2.6)

Updates `certifi` from 2023.5.7 to 2026.4.22
- [Commits](https://github.com/certifi/python-certifi/compare/2023.05.07...2026.04.22)

Updates `cffi` from 1.15.1 to 2.0.0
- [Release notes](https://github.com/python-cffi/cffi/releases)
- [Commits](https://github.com/python-cffi/cffi/compare/v1.15.1...v2.0.0)

Updates `cfgv` from 3.3.1 to 3.4.0
- [Commits](https://github.com/asottile/cfgv/compare/v3.3.1...v3.4.0)

Updates `chardet` from 5.1.0 to 5.2.0
- [Release notes](https://github.com/chardet/chardet/releases)
- [Changelog](https://github.com/chardet/chardet/blob/main/docs/changelog.rst)
- [Commits](https://github.com/chardet/chardet/compare/5.1.0...5.2.0)

Updates `charset-normalizer` from 3.1.0 to 3.4.7
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.1.0...3.4.7)

Updates `click` from 8.1.3 to 8.1.8
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.3...8.1.8)

Updates `click-help-colors` from 0.9.1 to 0.9.4
- [Changelog](https://github.com/click-contrib/click-help-colors/blob/master/CHANGES.rst)
- [Commits](https://github.com/click-contrib/click-help-colors/compare/0.9.1...0.9.4)

Updates `cryptography` from 46.0.6 to 47.0.0
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...47.0.0)

Updates `dill` from 0.3.6 to 0.4.1
- [Release notes](https://github.com/uqfoundation/dill/releases)
- [Commits](https://github.com/uqfoundation/dill/compare/dill-0.3.6...0.4.1)

Updates `distlib` from 0.3.6 to 0.4.0
- [Release notes](https://github.com/pypa/distlib/releases)
- [Changelog](https://github.com/pypa/distlib/blob/master/CHANGES.rst)
- [Commits](https://github.com/pypa/distlib/compare/0.3.6...0.4.0)

Updates `filelock` from 3.12.2 to 3.19.1
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.12.2...3.19.1)

Updates `identify` from 2.5.24 to 2.6.15
- [Commits](https://github.com/pre-commit/identify/compare/v2.5.24...v2.6.15)

Updates `idna` from 3.4 to 3.13
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.4...v3.13)

Updates `isort` from 5.12.0 to 6.1.0
- [Release notes](https://github.com/PyCQA/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PyCQA/isort/compare/5.12.0...6.1.0)

Updates `jinja2` from 3.1.2 to 3.1.6
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.2...3.1.6)

Updates `jsonschema` from 4.17.3 to 4.25.1
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/python-jsonschema/jsonschema/compare/v4.17.3...v4.25.1)

Updates `lazy-object-proxy` from 1.9.0 to 1.12.0
- [Changelog](https://github.com/ionelmc/python-lazy-object-proxy/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/ionelmc/python-lazy-object-proxy/compare/v1.9.0...v1.12.0)

Updates `markupsafe` from 2.1.3 to 3.0.3
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.3...3.0.3)

Updates `mypy-extensions` from 0.4.4 to 1.1.0
- [Commits](https://github.com/python/mypy_extensions/compare/0.4.4...1.1.0)

Updates `nodeenv` from 1.8.0 to 1.10.0
- [Release notes](https://github.com/ekalinin/nodeenv/releases)
- [Changelog](https://github.com/ekalinin/nodeenv/blob/master/CHANGES)
- [Commits](https://github.com/ekalinin/nodeenv/compare/1.8.0...1.10.0)

Updates `packaging` from 23.1 to 26.2
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/23.1...26.2)

Updates `pathspec` from 0.11.1 to 1.1.1
- [Release notes](https://github.com/cpburnz/python-pathspec/releases)
- [Changelog](https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst)
- [Commits](https://github.com/cpburnz/python-pathspec/compare/v0.11.1...v1.1.1)

Updates `platformdirs` from 2.6.2 to 4.4.0
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/platformdirs/compare/2.6.2...4.4.0)

Updates `pluggy` from 0.13.1 to 1.6.0
- [Changelog](https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pluggy/compare/0.13.1...1.6.0)

Updates `pycodestyle` from 2.10.0 to 2.14.0
- [Release notes](https://github.com/PyCQA/pycodestyle/releases)
- [Changelog](https://github.com/PyCQA/pycodestyle/blob/main/CHANGES.txt)
- [Commits](https://github.com/PyCQA/pycodestyle/compare/2.10.0...2.14.0)

Updates `pycparser` from 2.21 to 2.23
- [Release notes](https://github.com/eliben/pycparser/releases)
- [Commits](https://github.com/eliben/pycparser/compare/release_v2.21...release_v2.23)

Updates `pyflakes` from 3.0.1 to 3.4.0
- [Changelog](https://github.com/PyCQA/pyflakes/blob/main/NEWS.rst)
- [Commits](https://github.com/PyCQA/pyflakes/compare/3.0.1...3.4.0)

Updates `pyrsistent` from 0.19.3 to 0.20.0
- [Changelog](https://github.com/tobgu/pyrsistent/blob/master/CHANGES.txt)
- [Commits](https://github.com/tobgu/pyrsistent/compare/v0.19.3...v0.20.0)

Updates `python-dateutil` from 2.8.2 to 2.9.0.post0
- [Release notes](https://github.com/dateutil/dateutil/releases)
- [Changelog](https://github.com/dateutil/dateutil/blob/master/NEWS)
- [Commits](https://github.com/dateutil/dateutil/compare/2.8.2...2.9.0.post0)

Updates `python-slugify` from 8.0.1 to 8.0.4
- [Changelog](https://github.com/un33k/python-slugify/blob/master/CHANGELOG.md)
- [Commits](https://github.com/un33k/python-slugify/compare/v8.0.1...v8.0.4)

Updates `pyyaml` from 5.4.1 to 6.0.3
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.4.1...6.0.3)

Updates `requests` from 2.31.0 to 2.32.5
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.31.0...v2.32.5)

Updates `resolvelib` from 0.5.4 to 1.2.1
- [Changelog](https://github.com/sarugaku/resolvelib/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/sarugaku/resolvelib/compare/0.5.4...1.2.1)

Updates `rich` from 13.4.2 to 15.0.0
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v13.4.2...v15.0.0)

Updates `ruamel-yaml` from 0.17.31 to 0.19.1

Updates `setuptools` from 67.8.0 to 82.0.1
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v67.8.0...v82.0.1)

Updates `six` from 1.16.0 to 1.17.0
- [Changelog](https://github.com/benjaminp/six/blob/main/CHANGES)
- [Commits](https://github.com/benjaminp/six/compare/1.16.0...1.17.0)

Updates `subprocess-tee` from 0.4.1 to 0.4.2
- [Release notes](https://github.com/pycontribs/subprocess-tee/releases)
- [Commits](https://github.com/pycontribs/subprocess-tee/compare/v0.4.1...v0.4.2)

Updates `tomli` from 1.2.3 to 2.4.1
- [Changelog](https://github.com/hukkin/tomli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hukkin/tomli/compare/1.2.3...2.4.1)

Updates `tomlkit` from 0.11.8 to 0.14.0
- [Release notes](https://github.com/sdispater/tomlkit/releases)
- [Changelog](https://github.com/python-poetry/tomlkit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sdispater/tomlkit/compare/0.11.8...0.14.0)

Updates `typing-extensions` from 4.6.3 to 4.15.0
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.6.3...4.15.0)

Updates `urllib3` from 1.26.16 to 2.6.3
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.16...2.6.3)

Updates `virtualenv` from 20.21.1 to 21.3.0
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.21.1...21.3.0)

Updates `wcmatch` from 8.4.1 to 10.1
- [Release notes](https://github.com/facelessuser/wcmatch/releases)
- [Commits](https://github.com/facelessuser/wcmatch/compare/8.4.1...10.1)

Updates `wrapt` from 1.15.0 to 2.1.2
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.15.0...2.1.2)

Updates `yamllint` from 1.32.0 to 1.37.1
- [Release notes](https://github.com/adrienverge/yamllint/releases)
- [Changelog](https://github.com/adrienverge/yamllint/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/adrienverge/yamllint/compare/v1.32.0...v1.37.1)

---
updated-dependencies:
- dependency-name: ansible
  dependency-version: 8.7.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: black
  dependency-version: 25.11.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: pylint
  dependency-version: 3.3.9
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: flake8
  dependency-version: 7.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: cookiecutter
  dependency-version: 2.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: pre-commit
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: molecule-plugins
  dependency-version: 23.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: molecule
  dependency-version: 6.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: ansible-compat
  dependency-version: 24.10.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: ansible-core
  dependency-version: 2.15.13
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: arrow
  dependency-version: 1.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: astroid
  dependency-version: 3.3.11
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: attrs
  dependency-version: 26.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: bracex
  dependency-version: '2.6'
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: certifi
  dependency-version: 2026.4.22
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: cffi
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: cfgv
  dependency-version: 3.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: chardet
  dependency-version: 5.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: charset-normalizer
  dependency-version: 3.4.7
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: click
  dependency-version: 8.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: click-help-colors
  dependency-version: 0.9.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: cryptography
  dependency-version: 47.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: dill
  dependency-version: 0.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: distlib
  dependency-version: 0.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: filelock
  dependency-version: 3.19.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: identify
  dependency-version: 2.6.15
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: idna
  dependency-version: '3.13'
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: isort
  dependency-version: 6.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: jinja2
  dependency-version: 3.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: jsonschema
  dependency-version: 4.25.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: lazy-object-proxy
  dependency-version: 1.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: markupsafe
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: mypy-extensions
  dependency-version: 1.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: nodeenv
  dependency-version: 1.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: packaging
  dependency-version: '26.2'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: pathspec
  dependency-version: 1.1.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: platformdirs
  dependency-version: 4.4.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: pluggy
  dependency-version: 1.6.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: pycodestyle
  dependency-version: 2.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: pycparser
  dependency-version: '2.23'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: pyflakes
  dependency-version: 3.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: pyrsistent
  dependency-version: 0.20.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: python-dateutil
  dependency-version: 2.9.0.post0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: python-slugify
  dependency-version: 8.0.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: pyyaml
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: requests
  dependency-version: 2.32.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: resolvelib
  dependency-version: 1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: rich
  dependency-version: 15.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: ruamel-yaml
  dependency-version: 0.19.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: setuptools
  dependency-version: 82.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: six
  dependency-version: 1.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: subprocess-tee
  dependency-version: 0.4.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: tomli
  dependency-version: 2.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: tomlkit
  dependency-version: 0.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: typing-extensions
  dependency-version: 4.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
- dependency-name: urllib3
  dependency-version: 2.6.3
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: virtualenv
  dependency-version: 21.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: wcmatch
  dependency-version: '10.1'
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: wrapt
  dependency-version: 2.1.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: yamllint
  dependency-version: 1.37.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 02:07:50 +00:00
Larry Smith Jr. 5b36f4779f ci: remove misnamed molecule.yml (replaced by ci.yml) 2026-04-08 10:08:28 -04:00
Larry Smith Jr. 164b50b083 ci: add CI lint workflow (replaces misnamed molecule.yml) 2026-04-08 10:08:22 -04:00
Larry Smith Jr. 7328da933e ci: rename Molecule workflow to CI — molecule scenarios require Vagrant/VirtualBox, not runnable in CI 2026-04-08 10:08:07 -04:00
Larry Smith Jr. af9951c5cd ci: update Python 3.9→3.11 2026-04-08 10:00:48 -04:00
Larry Smith Jr. 454649d90b ci: fix galaxy publish to trigger only on release, simplify deps 2026-04-08 09:59:45 -04:00
Larry Smith Jr. 12f7033566 docs: rewrite README with proper quick start, variable docs, and sponsor section 2026-04-08 09:46:07 -04:00
Larry Smith Jr. 9a5d1dfc15 feat: add GitHub Sponsors funding file 2026-04-08 08:32:03 -04:00
Larry Smith Jr. 2f56dc54ad chore: remove Renovate config (app uninstalled) 2026-03-31 18:56:13 -04:00
dependabot[bot] 9f6bac5d63 chore: bump pygments from 2.15.1 to 2.20.0 (#155)
Bumps [pygments](https://github.com/pygments/pygments) from 2.15.1 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.15.1...2.20.0)

---
updated-dependencies:
- dependency-name: pygments
  dependency-version: 2.20.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-30 18:01:01 -04:00
Larry Smith Jr. 9ffff49ef8 Add grouped dependabot configuration (monthly, pip + actions) 2026-03-28 10:38:44 -04:00
dependabot[bot] 113974cccc Bump cryptography from 41.0.1 to 46.0.6 (#152)
Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.1 to 46.0.6.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/41.0.1...46.0.6)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-28 08:30:38 -04:00
Larry Smith Jr. 2c41273c9f Add Renovate configuration for automated dependency management 2026-03-25 15:55:03 -04:00
Larry Smith Jr. 6d0feecec7 docs: add Galaxy role name clarification and historical stats
As of December 2025, this role is available on Galaxy as
mrlesmithjr.manage_lvm (underscore). The previous hyphenated
variant (manage-lvm) was consolidated.

Added historical download statistics:
- manage_lvm: 697,492 downloads
- manage-lvm: 494,517 downloads
- Combined: 1,192,009 downloads

This role is used by OpenStack Kayobe for LVM management.
2025-12-18 15:11:16 -05:00
Larry Smith Jr. 416e840eea fix: specify Python 3.9 for Galaxy workflow
- Remove undefined matrix.python-version reference
- Use Python 3.9 to match molecule workflow and requirements
2025-11-03 07:29:16 -05:00
Larry Smith Jr. 850d571313 fix: update GitHub Actions to use current versions
- Update actions/checkout to v4
- Update actions/setup-python to v5
- Update actions/cache to v4 (fixes deprecation failures)
- Fix ansible-lint role-name rule violations
2025-11-03 07:28:15 -05:00
Spirit-act ff13947aaf fix: use explicit boolean check for Ansible 2.19+ compatibility
Fixes implicit truthy conditional that fails in Ansible 2.19+.

Changes `when: scsi_devices['stdout'] | length` to `when: scsi_devices['stdout'] | length > 0` to return an explicit boolean value instead of an integer.

Closes #146 (duplicate PR)
2025-11-01 15:55:35 -04:00
Larry Smith Jr. 26246c7160 Merge pull request #128 from stackhpc/remove-symlinks
Remove symlinks for molecule tests
2024-07-17 17:12:38 -04:00
Matt Crees 5540f7fda5 Remove symlinks for molecule tests
We are seeing failures with newer versions of Ansible due to the
presence of symlinks. For example:

```
error: can't copy 'ansible/roles/mrlesmithjr.manage_lvm/molecule/kvm/tests': doesn't exist or not a regular file
```
2024-05-21 17:16:05 +01:00
Larry Smith Jr 433b7ca1a9 Merge pull request #121 from mrlesmithjr/dependabot/pip/cryptography-42.0.2
Bump cryptography from 42.0.0 to 42.0.2
2024-02-16 22:55:08 -05:00
dependabot[bot] 9404a780c5 Bump cryptography from 42.0.0 to 42.0.2
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.0 to 42.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.0...42.0.2)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-17 00:09:34 +00:00
Larry Smith Jr c0184492d5 Merge pull request #120 from mrlesmithjr/dependabot/pip/ansible-core-2.15.9
Bump ansible-core from 2.15.8 to 2.15.9
2024-02-06 23:51:00 -05:00
Larry Smith Jr 60e08852ea Merge pull request #119 from mrlesmithjr/dependabot/pip/cryptography-42.0.0
Bump cryptography from 41.0.6 to 42.0.0
2024-02-06 23:49:52 -05:00
dependabot[bot] 42cc915582 Bump ansible-core from 2.15.8 to 2.15.9
Bumps [ansible-core](https://github.com/ansible/ansible) from 2.15.8 to 2.15.9.
- [Release notes](https://github.com/ansible/ansible/releases)
- [Commits](https://github.com/ansible/ansible/compare/v2.15.8...v2.15.9)

---
updated-dependencies:
- dependency-name: ansible-core
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-06 20:34:35 +00:00
dependabot[bot] 49edca9134 Bump cryptography from 41.0.6 to 42.0.0
Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.6 to 42.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/41.0.6...42.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-06 02:23:10 +00:00
Larry Smith Jr ee1e3d051b Merge pull request #118 from genaumann/pvresize_from_module
Add pvresize option
2024-01-17 00:21:19 -05:00
Gino Naumann 91f8cfca5d Add pvresize option
You can now define the pvresize per vg.

To avoid a breaking change, the global option pvresize_to_max is set as default
2024-01-16 12:50:12 +01:00
19 changed files with 672 additions and 393 deletions
+1
View File
@@ -1,2 +1,3 @@
skip_list:
- name[casing]
- role-name
+1
View File
@@ -0,0 +1 @@
github: mrlesmithjr
+23
View File
@@ -0,0 +1,23 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-actions:
patterns: ["*"]
labels: ["dependencies"]
commit-message:
prefix: "ci"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "monthly"
groups:
python-deps:
patterns: ["*"]
labels: ["dependencies"]
commit-message:
prefix: "chore"
@@ -1,5 +1,4 @@
---
name: Molecule
name: CI
on:
push:
branches-ignore:
@@ -11,23 +10,18 @@ on:
- main
- master
jobs:
build:
lint:
name: Lint
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 4
matrix:
python-version: [3.9]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: actions/cache@v2
python-version: '3.11'
- uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
+17 -21
View File
@@ -1,10 +1,6 @@
---
name: Ansible Galaxy
on:
push:
branches:
- main
- master
release:
types:
- published
@@ -13,22 +9,22 @@ jobs:
galaxy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
submodules: recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
python-version: '3.11'
- name: Install Ansible
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-dev.txt
- name: Trigger a new import on Galaxy.
run: ansible-galaxy role import --api-key ${{ secrets.GALAXY_API_KEY }} $(echo ${{ github.repository }} | cut -d/ -f1) $(echo ${{ github.repository }} | cut -d/ -f2)
pip install ansible-core
- name: Trigger a new import on Galaxy
run: >-
ansible-galaxy role import
--api-key ${{ secrets.GALAXY_API_KEY }}
${{ github.repository_owner }}
${{ github.event.repository.name }}
+102 -16
View File
@@ -1,36 +1,122 @@
# ansible-manage-lvm
Ansible role to manage LVM Groups/Logical Volumes.
An [Ansible](https://www.ansible.com) role to create, extend, and resize [LVM](https://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)) volume groups and logical volumes.
> NOTE: Can be used to create, extend or resize LVM Groups and volumes.
> Used by [OpenStack Kayobe](https://docs.openstack.org/kayobe/latest/) for LVM management.
## Ansible Galaxy
```bash
ansible-galaxy install mrlesmithjr.manage_lvm
```
> **Note:** As of December 2025, the canonical Galaxy name is `mrlesmithjr.manage_lvm` (underscore).
> Update any `requirements.yml` using the older hyphen-style name `mrlesmithjr.manage-lvm`.
<details>
<summary>Historical download statistics</summary>
| Role Name | Downloads (as of Dec 2025) |
|-----------|---------------------------|
| `mrlesmithjr.manage_lvm` | 697,492 |
| `mrlesmithjr.manage-lvm` | 494,517 |
| **Combined** | **1,192,009** |
Download counts reset when roles are re-imported to Galaxy. These figures represent actual historical usage.
</details>
## Supported Platforms
Any Linux distribution with LVM support, including:
| Platform | Versions |
|----------|----------|
| Ubuntu | 20.04, 22.04, 24.04 |
| Debian | 11, 12 |
| Rocky Linux / RHEL | 8, 9 |
| Fedora | 39+ |
## Requirements
Devices/disks to be members of the LVM setup **must be** identified prior to
using this role.
- Unpartitioned disk devices to assign to volume groups
- `lvm2` package (installed automatically by the role)
## Role Variables
## Important: Safety Default
[defaults/main.yml](defaults/main.yml)
`manage_lvm` defaults to `false`. **The role will not make any disk changes** unless you explicitly set:
## Dependencies
```yaml
manage_lvm: true
```
None
This prevents accidental modifications on misconfigured runs.
## Example Playbook
## Quick Start
[playbook.yml](playbook.yml)
```yaml
---
- hosts: all
become: true
vars:
manage_lvm: true
lvm_groups:
- vgname: data-vg
disks:
- /dev/sdb
create: true
lvnames:
- lvname: data
size: 100%FREE
create: true
filesystem: ext4
mount: true
mntp: /data
roles:
- role: mrlesmithjr.manage_lvm
```
## Key Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `manage_lvm` | `false` | Master switch — must be `true` to make any changes |
| `lvm_groups` | `[]` | List of volume group definitions |
| `pvresize_to_max` | `false` | Resize all PVs to maximum available size |
### `lvm_groups` Structure
```yaml
lvm_groups:
- vgname: my-vg # Volume group name
disks: # Physical volumes to assign
- /dev/sdb
- /dev/sdc
create: true # true = create, false = remove
pvresize: false # Resize PV to max size
lvnames:
- lvname: data # Logical volume name
size: 50g # Size: 10g | 1024 (MB) | 100%FREE
create: true # true = create, false = remove
filesystem: ext4 # ext4 | xfs | swap | etc.
mount: true # Mount after creation
mntp: /data # Mountpoint
mopts: noatime # Mount options (optional)
fsopts: # Filesystem creation options (optional)
```
See [defaults/main.yml](defaults/main.yml) for full examples including XFS, swap, and OpenStack Cinder volumes.
## License
MIT
## Author Information
## Support This Project
Larry Smith Jr.
This role has been downloaded over **1.1 million times** from Ansible Galaxy.
If your organization depends on it in production, consider
[sponsoring its maintenance](https://github.com/sponsors/mrlesmithjr).
Enterprise support tiers are available.
- [@mrlesmithjr](https://twitter.com/mrlesmithjr)
- [mrlesmithjr@gmail.com](mailto:mrlesmithjr@gmail.com)
- [http://everythingshouldbevirtual.com](http://everythingshouldbevirtual.com)
## Author
<a href="https://www.buymeacoffee.com/mrlesmithjr" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
Larry Smith Jr. — [everythingshouldbevirtual.com](http://everythingshouldbevirtual.com) · [mrlesmithjr@gmail.com](mailto:mrlesmithjr@gmail.com)
+3 -4
View File
@@ -9,6 +9,8 @@ lvm_groups: []
# # defines if VG should exist or be removed
# # true or false
# create: true
# # defines if PV should be resized to max size
# pvresize: false
# lvnames:
# - lvname: swap_1
# # Define size of lvol
@@ -86,8 +88,5 @@ ebsnvme_binary_helper_path: '/sbin/go-ebsnvme'
### nvme to scsi device name map script helper
ebsnvme_scrip_helper_path: '/usr/local/bin/ebsnvme-id'
### auto pvresize (waiting until ansible 2.10 or above as collections have new lvg with integrated pvresize)
### waiting for new module in collection set to true or run pvresize manually on remote systems
### https://docs.ansible.com/ansible/3/collections/community/general/lvg_module.html
###
### resize all pv's to max size
pvresize_to_max: false
+1 -1
View File
@@ -3,7 +3,7 @@ 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"
-1
View File
@@ -1 +0,0 @@
../default/tests
+20
View File
@@ -0,0 +1,20 @@
"""PyTest Fixtures."""
from __future__ import absolute_import
import os
import pytest
def pytest_runtest_setup(item):
"""Run tests only when under molecule with testinfra installed."""
try:
import testinfra
except ImportError:
pytest.skip("Test requires testinfra", allow_module_level=True)
if "MOLECULE_INVENTORY_FILE" in os.environ:
pytest.testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ["MOLECULE_INVENTORY_FILE"]
).get_hosts("all")
else:
pytest.skip(
"Test should run only from inside molecule.", allow_module_level=True
)
+33
View File
@@ -0,0 +1,33 @@
"""Role testing files using testinfra."""
def test_lvm_package_shall_be_installed(host):
assert host.package("lvm2").is_installed
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
def test_mylv_logical_volume_is_created(host):
command = """sudo lvs -o lv_name my_vg --separator='|' --noheadings \
| grep -c 'my_lv'"""
cmd = host.run(command)
assert int(cmd.stdout.rstrip()) >= 1
def test_mylv_logical_volume2_is_created(host):
command = """sudo lvs -o lv_name my_vg --separator='|' --noheadings \
| grep -c 'my_lw'"""
cmd = host.run(command)
assert int(cmd.stdout.rstrip()) >= 1
def test_volume_is_mounted(host):
host.file("/var/lib/mountpoint").mode == 0o731
def test_volume2_is_mounted(host):
host.file("/var/lib/mountpoint2").mode == 0o731
-1
View File
@@ -1 +0,0 @@
../../default/tests/conftest.py
+20
View File
@@ -0,0 +1,20 @@
"""PyTest Fixtures."""
from __future__ import absolute_import
import os
import pytest
def pytest_runtest_setup(item):
"""Run tests only when under molecule with testinfra installed."""
try:
import testinfra
except ImportError:
pytest.skip("Test requires testinfra", allow_module_level=True)
if "MOLECULE_INVENTORY_FILE" in os.environ:
pytest.testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ["MOLECULE_INVENTORY_FILE"]
).get_hosts("all")
else:
pytest.skip(
"Test should run only from inside molecule.", allow_module_level=True
)
-1
View File
@@ -1 +0,0 @@
../../default/tests/conftest.py
+20
View File
@@ -0,0 +1,20 @@
"""PyTest Fixtures."""
from __future__ import absolute_import
import os
import pytest
def pytest_runtest_setup(item):
"""Run tests only when under molecule with testinfra installed."""
try:
import testinfra
except ImportError:
pytest.skip("Test requires testinfra", allow_module_level=True)
if "MOLECULE_INVENTORY_FILE" in os.environ:
pytest.testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ["MOLECULE_INVENTORY_FILE"]
).get_hosts("all")
else:
pytest.skip(
"Test should run only from inside molecule.", allow_module_level=True
)
Generated
+351 -250
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -6,17 +6,17 @@ authors = ["Larry Smith Jr. <mrlesmithjr@gmail.com>"]
[tool.poetry.dependencies]
python = ">=3.9,<4.0"
ansible = "8.5.0"
ansible = "8.7.0"
[tool.poetry.group.dev.dependencies]
ansible-lint = "6.8.7"
black = "^22.10.0"
pylint = "^2.15.7"
flake8 = "^6.0.0"
black = ">=22.10,<26.0"
pylint = ">=2.15.7,<4.0.0"
flake8 = ">=6,<8"
cookiecutter = "^2.1.1"
pre-commit = "^2.20.0"
pre-commit = ">=2.20,<5.0"
molecule-plugins = {extras = ["vagrant"], version = "^23.4.1"}
molecule = {extras = ["docker"], version = "^5.0.1"}
molecule = {extras = ["docker"], version = ">=5.0.1,<7.0.0"}
[build-system]
requires = ["poetry-core>=1.0.0"]
+55 -55
View File
@@ -1,73 +1,73 @@
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-compat==24.10.0 ; python_version >= "3.9" and python_version < "4.0"
ansible-core==2.15.13 ; 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"
arrow==1.4.0 ; python_version >= "3.9" and python_version < "4.0"
astroid==3.3.11 ; python_version >= "3.9" and python_version < "4.0"
attrs==26.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"
bracex==2.6 ; python_version >= "3.9" and python_version < "4.0"
certifi==2026.4.22 ; python_version >= "3.9" and python_version < "4.0"
cffi==2.0.0 ; python_version >= "3.9" and python_version < "4.0"
cfgv==3.4.0 ; python_version >= "3.9" and python_version < "4.0"
chardet==5.2.0 ; python_version >= "3.9" and python_version < "4.0"
charset-normalizer==3.4.7 ; python_version >= "3.9" and python_version < "4.0"
click-help-colors==0.9.4 ; python_version >= "3.9" and python_version < "4.0"
click==8.1.8 ; 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"
cookiecutter==2.6.0 ; python_version >= "3.9" and python_version < "4.0"
cryptography==47.0.0 ; python_version >= "3.9" and python_version < "4.0"
dill==0.4.1 ; python_version >= "3.9" and python_version < "4.0"
distlib==0.4.0 ; 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"
filelock==3.19.1 ; 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"
identify==2.6.15 ; python_version >= "3.9" and python_version < "4.0"
idna==3.13 ; python_version >= "3.9" and python_version < "4.0"
isort==6.1.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"
jinja2==3.1.6 ; python_version >= "3.9" and python_version < "4.0"
jsonschema==4.25.1 ; python_version >= "3.9" and python_version < "4.0"
lazy-object-proxy==1.12.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"
markupsafe==3.0.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-plugins[vagrant]==23.5.0 ; 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"
mypy-extensions==1.1.0 ; python_version >= "3.9" and python_version < "4.0"
nodeenv==1.10.0 ; python_version >= "3.9" and python_version < "4.0"
packaging==26.2 ; python_version >= "3.9" and python_version < "4.0"
pathspec==1.1.1 ; python_version >= "3.9" and python_version < "4.0"
platformdirs==4.4.0 ; python_version >= "3.9" and python_version < "4.0"
pluggy==1.6.0 ; 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"
pycodestyle==2.14.0 ; python_version >= "3.9" and python_version < "4.0"
pycparser==2.23 ; python_version >= "3.9" and python_version < "4.0"
pyflakes==3.4.0 ; python_version >= "3.9" and python_version < "4.0"
pygments==2.20.0 ; 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"
pyrsistent==0.20.0 ; python_version >= "3.9" and python_version < "4.0"
python-dateutil==2.9.0.post0 ; python_version >= "3.9" and python_version < "4.0"
python-slugify==8.0.4 ; 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"
pyyaml==6.0.3 ; python_version >= "3.9" and python_version < "4.0"
requests==2.32.5 ; python_version >= "3.9" and python_version < "4.0"
resolvelib==1.2.1 ; python_version >= "3.9" and python_version < "4.0"
rich==15.0.0 ; 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"
ruamel-yaml==0.19.1 ; python_version >= "3.9" and python_version < "4.0"
setuptools==82.0.1 ; python_version >= "3.9" and python_version < "4.0"
six==1.17.0 ; python_version >= "3.9" and python_version < "4.0"
subprocess-tee==0.4.2 ; 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"
tomli==2.4.1 ; python_version >= "3.9" and python_full_version < "3.11.0a7"
tomlkit==0.14.0 ; python_version >= "3.9" and python_version < "4.0"
typing-extensions==4.15.0 ; python_version >= "3.9" and python_version < "3.11"
urllib3==2.6.3 ; python_version >= "3.9" and python_version < "4.0"
virtualenv==21.3.0 ; python_version >= "3.9" and python_version < "4.0"
wcmatch==10.1 ; python_version >= "3.9" and python_version < "4.0"
wrapt==2.1.2 ; python_version >= "3.9" and python_version < "4.0"
yamllint==1.37.1 ; python_version >= "3.9" and python_version < "4.0"
+9 -9
View File
@@ -1,10 +1,10 @@
ansible-core==2.13.10 ; python_version >= "3.9" and python_version < "4.0"
ansible-core==2.15.13 ; 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"
cffi==2.0.0 ; python_version >= "3.9" and python_version < "4.0"
cryptography==47.0.0 ; python_version >= "3.9" and python_version < "4.0"
jinja2==3.1.6 ; python_version >= "3.9" and python_version < "4.0"
markupsafe==3.0.3 ; python_version >= "3.9" and python_version < "4.0"
packaging==26.2 ; python_version >= "3.9" and python_version < "4.0"
pycparser==2.23 ; python_version >= "3.9" and python_version < "4.0"
pyyaml==6.0.3 ; python_version >= "3.9" and python_version < "4.0"
resolvelib==1.2.1 ; python_version >= "3.9" and python_version < "4.0"
+1 -13
View File
@@ -4,24 +4,12 @@
vg: "{{ vg.vgname }}"
pvs: "{{ vg.disks | join(',') }}"
state: present
pvresize: "{{ vg.pvresize | default(pvresize_to_max) }}"
become: true
when:
- vg.create is defined
- vg.create|bool
### 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
ansible.builtin.command: "pvresize {{ pv }}"
loop: "{{ vg.disks | default([]) }}"
loop_control:
loop_var: pv
changed_when: false
when:
- vg.create is defined
- vg.create|bool
- pvresize_to_max|bool
- name: manage_lvm | loop over logical volume group(s) to create logical volumes
ansible.builtin.include_tasks: create_lv.yml
loop: "{{ vg.lvnames | default([]) }}"
+1 -1
View File
@@ -37,4 +37,4 @@
ansible.builtin.command: "{{ rescan_scsi_command }}"
become: true
changed_when: false
when: scsi_devices['stdout'] | length
when: scsi_devices['stdout'] | length > 0