Compare commits

..

336 commits

Author SHA1 Message Date
Felix Fontein
68c3c9b7ba Release 10.6.0. 2025-04-21 21:09:23 +02:00
patchback[bot]
7bb291864e
[PR #9898/6e384a1c backport][stable-10] Add support for addressing subgroups by paths to the keycloak_user module (#10049)
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.15) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Waiting to run
nox / Run extra sanity tests (push) Waiting to run
Add support for addressing subgroups by paths to the keycloak_user module (#9898)

* Add support for addressing subgroups by paths to the keycloak_user module (issue #9647)

* Apply suggestions from code review.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 6e384a1c6a)

Co-authored-by: Christian Schlichtherle <christian@schlichtherle.de>
2025-04-21 16:52:30 +02:00
patchback[bot]
0090af8cfb
[PR #10043/2a5abab7 backport][stable-10] Remove blanket skips for Python 3 in CI (#10048)
Remove blanket skips for Python 3 in CI (#10043)

* Remove blanket skips for Python 3 in CI.

* Try to fix hg tests.

* Disable hg tests.

* Drop restriction of supervisor to <4.0.0.

This was introduced in https://github.com/ansible/ansible/pull/54935.

* Make tests work with supervisorctl 4.0.0.

According to https://supervisord.org/changes.html#id12,
"supervisorctl will now set its exit code to a non-zero value when an error condition occurs."
I'm not sure why a stopped service in 'status' constitutes an error condition,
but whatever 🤷...

* Use correct Python executable.

* Skip RHEL/macOS; diff on config write.

* Skip CentOS 7 and OpenSuSE on ansible-core 2.16.

(cherry picked from commit 2a5abab738)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-04-21 16:34:52 +02:00
patchback[bot]
42aeeb975b
[PR #10029/73178e3d backport][stable-10] fixed hidden warnings from extra tests - batch 3 (#10045)
fixed hidden warnings from extra tests - batch 3 (#10029)

* fixed hidden warnings from extra tests - batch 3

* add empty lines to separate sections of the EXAMPLE block

* Apply suggestions from code review

* Update plugins/modules/nmcli.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 73178e3d33)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-04-21 13:53:51 +00:00
Felix Fontein
9dd7be05dc
[stable-10] Use antsibull-nox instead of extra sanity test runner and extra workfows (#10042)
Use antsibull-nox instead of extra sanity test runner and extra workflows (#10022)

* Use antsibull-nox instead of extra sanity test runner and extra workflows.

* Avoid sys.argv[0].

(cherry picked from commit 3ee55c6828)
2025-04-21 14:21:00 +02:00
patchback[bot]
11a847a7b5
[PR #10024/ce421dbd backport][stable-10] Allowing uppercase tags in proxmox & proxmox_kvm (#10039)
Allowing uppercase tags in proxmox & proxmox_kvm (#10024)

* Allowing uppercase tags in proxmox & proxmox_kvm

* Fix #9895 : fixes the 'not a valid tag' error message when the VM or container tag contains uppercase characters

* Add PR URL to changelog fragment.

---------

Co-authored-by: s1githug <sgithug@free.fr>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit ce421dbd7d)

Co-authored-by: s1github <sgithub@free.fr>
2025-04-21 13:21:21 +02:00
patchback[bot]
ebcceafdb7
[PR #10028/e9997e08 backport][stable-10] deprecation: manifold (#10038)
deprecation: manifold (#10028)

* deprecation: manifold

* add changelog frag

* restore test file

(cherry picked from commit e9997e08ed)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-04-21 13:21:10 +02:00
patchback[bot]
79b3521547
[PR #10011/c2480730 backport][stable-10] fix: github_deploy_key check key exists on 422 (#10036)
fix: github_deploy_key check key exists on 422 (#10011)

* fix: github_deploy_key check key exists on 422

If we get a 422 response code as we add a key, check if it's because the key already exists or for another reason.

fixes: #6718

* chore: add changelog 10011-github_deploy_key-check-key-present

* chore: fix changelog fragment

* chore: fix changelog fragment

* Update changelog fragment.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit c248073079)

Co-authored-by: Alex Garel <alex@garel.org>
2025-04-21 13:21:02 +02:00
patchback[bot]
7aae8a94f2
[PR #10005/e0a283bb backport][stable-10] Fix method exists in sysrc (#10034)
Fix method exists in sysrc (#10005)

* Fix method exists.

* Add changelog fragment.

* Update the exists method to pass the present method tests.

* Replace f-string formatting.

* Update changelogs/fragments/10005-fix-method-exists-in-sysrc.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Add comment to the method exists.

* Update plugins/modules/sysrc.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update changelogs/fragments/10005-fix-method-exists-in-sysrc.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* The improved comment formatting fixed.

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit e0a283bb36)

Co-authored-by: Vladimir Botka <vbotka@gmail.com>
2025-04-21 13:20:53 +02:00
patchback[bot]
acde075b5f
[PR #10026/63cb8f0a backport][stable-10] deprecation: stackpath_compute (#10037)
deprecation: stackpath_compute (#10026)

* deprecation: stackpath_compute

* add changelog frag

* restore test file

(cherry picked from commit 63cb8f0ace)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-04-21 13:20:40 +02:00
patchback[bot]
0310c7875d
[PR #10013/4b9373f6 backport][stable-10] Homebrew: Emit a useful error message if brew info reports a package tap is null. (#10040)
Homebrew: Emit a useful error message if brew info reports a package tap is null. (#10013)

* Fix #10012.

Homebrew: Emit a useful error message if a package tap is null.  This can happen if an installed package is subsequently removed from the tap (e.g. it is withdrawn by homebrew).

* Added changelogs fragment for PR 10013

* Do not raise error when tap is null in package_detail
pylint: remove trailing whitespace

* Minor: Update plugins/modules/homebrew.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Minor: Update changelogs/fragments/10012-improve-error-handling-homebrew-missing-tap.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update plugins/modules/homebrew.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 4b9373f694)

Co-authored-by: brad2014 <brad2014@users.noreply.github.com>
2025-04-21 13:20:30 +02:00
patchback[bot]
8bce7601bc
[PR #10014/89105559 backport][stable-10] puppet: use better CmdRunner param formatting (#10021)
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Has been cancelled
Verify REUSE / check (push) Has been cancelled
puppet: use better CmdRunner param formatting (#10014)

* puppet: use better CmdRunner param formatting

* ignore none

* add changelog frag

(cherry picked from commit 8910555983)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-04-19 09:34:26 +02:00
patchback[bot]
ab5c4b186b
[PR #9959/5ef6f1eb backport][stable-10] Update one_vm.py (#10020)
Update one_vm.py (#9959)

* Update one_vm.py

Update updateconf attributes to match latest acceptable values.

* Add changelog fragment

* Update plugins/modules/one_vm.py

Co-authored-by: Nicola Soranzo <nicola.soranzo@gmail.com>

* Update plugins/modules/one_vm.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9959-update-opennebula-onevm-updateconf-params.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update one_vm.py

Add updateconf values to documentation

* Update one_vm.py

* Update one_vm.py

* Update one_vm.py

* Update one_vm.py

Fix doc formatting

* Update plugins/modules/one_vm.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update one_vm.py

Colon causing test failure

* Add colon.

---------

Co-authored-by: Nicola Soranzo <nicola.soranzo@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 5ef6f1ebd2)

Co-authored-by: Tom Paine <github@aioue.net>
2025-04-19 09:34:18 +02:00
patchback[bot]
ee2779e6c1
[PR #9795/96b49300 backport][stable-10] add the wsl connection plugin (#10019)
add the wsl connection plugin (#9795)

* add the wsl connection plugin

* move the banner_timeout required paramiko version to its own line

* document the proxy_command required paramiko version

* document the timeout required paramiko version

* simplify the sending of the become_pass value

* add Connection.__init__ type hints

* add MyAddPolicy.missing_host_key type hints

* normalize the Connection._parse_proxy_command replacers dict values to the str type

* add the user_known_hosts_file option

* modify the private_key_file option type to path

(cherry picked from commit 96b493002c)

Co-authored-by: Rui Lopes <rgl@ruilopes.com>
2025-04-19 09:34:11 +02:00
patchback[bot]
91ac9f84b8
[PR #9973/80252b29 backport][stable-10] Add zypper skip post errors feature (#10016)
Add zypper skip post errors feature (#9973)

* Add zypper skip post errors feature

* Add feature to handle zypper return code 107 with skip_post_errors (default: false).
* Add integration test to verify the skip_post_errors flag.
* Add changelog fragment

Issue: #9972
Issue-Ref: https://github.com/ansible-collections/community.general/issues/9972

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/zypper.py

* Update changelogs/fragments/9972-zypper-skip-post-errors.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update tests/integration/targets/zypper/tasks/zypper.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 80252b29f8)

Co-authored-by: mk2km <205020320+mk2km@users.noreply.github.com>
2025-04-19 09:34:06 +02:00
patchback[bot]
1c1d58482c
[PR #9987/a8b97732 backport][stable-10] Fix Keycloak authentication flow configuration issues (#10018)
Fix Keycloak authentication flow configuration issues (#9987)

* Add delete_authentication_config method and integrate it into create_or_update_executions

* typo

* Sanity

* Add integration tests for keycloak_authentication module with README, tasks, and variables

* Add copyright and license information to access_token.yml

* Sanity

* Refactor Keycloak integration tests: streamline README, update access token task, and enhance variable management

* Maj changelogs fragments

---------

Co-authored-by: Andre Desrosiers <andre.desrosiers@ssss.gouv.qc.ca>
(cherry picked from commit a8b977320c)

Co-authored-by: desand01 <desrosiers.a@hotmail.com>
2025-04-19 09:33:56 +02:00
patchback[bot]
138740127a
[PR #9970/42a161ab backport][stable-10] param pkcs12_alias and cert_alias to be optional in java_cert module (#10001)
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Has been cancelled
Verify REUSE / check (push) Has been cancelled
param pkcs12_alias and cert_alias to be optional in java_cert module  (#9970)

* changed pkcs12_alias and cert_alias to be optional when importing pkcs12 certificate in keystore

* Add changelog fragment

* Update changelogs/fragments/9970-pkcs12_alias_cert_alias_optional.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9970-pkcs12_alias_cert_alias_optional.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 42a161abf5)

Co-authored-by: Emanuele Bernardi <e.berna@gmail.com>
2025-04-16 21:14:31 +02:00
patchback[bot]
1d7aad9b46
[PR #9952/1243846c backport][stable-10] improve ansible_host in proxmox inventory plugin (#10003)
improve ansible_host in proxmox inventory plugin (#9952)

* improve ansible_host in proxmox inventory plugin

I had this issue myself and found out there was already an issue thread:

https://github.com/ansible-collections/community.general/issues/5906

this fixes the issue for hope we can all benefit after this gets merged

* f string styling

* add log line for the successful address selection

* remove white space

* add changelog: 9952-proxmox-inventory-plugin-improve-ansible_host.yml

* Update changelogs/fragments/9952-proxmox-inventory-plugin-improve-ansible_host.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1243846c3a)

Co-authored-by: Stein van Broekhoven <stein@aapjeisbaas.nl>
2025-04-16 21:06:04 +02:00
patchback[bot]
f3a12a9e78
[PR #9999/216e7dc0 backport][stable-10] Fix typo in rpm_ostree_pkg documentation example (#10000)
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.15) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Waiting to run
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Waiting to run
Verify REUSE / check (push) Waiting to run
Fix typo in rpm_ostree_pkg documentation example (#9999)

Fix typo in rpm_ostree_pkg examples

The example showing use of a delay to improve resiliency misspelled 'delay'

(cherry picked from commit 216e7dc06b)

Co-authored-by: Jeffrey Borcean <jjborcean@gmail.com>
2025-04-15 20:43:43 +02:00
patchback[bot]
0e818c4812
[PR #9976/04137746 backport][stable-10] keycloak_client: fix idempotency regression (#9997)
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.15) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Waiting to run
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Waiting to run
Verify REUSE / check (push) Waiting to run
keycloak_client: fix idempotency regression (#9976)

* add function to normalize kc responses

* add changelog fragment

* Update changelogs/fragments/9976-keycloak_client-fix-idempotency-regression.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* add newline to changelog fragment

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 0413774641)

Co-authored-by: gruenbauer@b1-systems.de <gruenbauer@b1-systems.de>
2025-04-14 22:51:23 +02:00
patchback[bot]
8751f0feea
[PR #9960/ab6e18b6 backport][stable-10] gitlab_project: add build_timeout option (#9995)
gitlab_project: add `build_timeout` option (#9960)

* gitlab_project: add `build_timeout` option

* gitlab_project: document unspecified build_timeout on creation

(cherry picked from commit ab6e18b6cf)

Co-authored-by: David Phillips <phillid@users.noreply.github.com>
2025-04-14 22:51:12 +02:00
patchback[bot]
5dd4cc5148
[PR #9962/a7ab7e92 backport][stable-10] Feat: Add infiniband mac address support in nmcli module (#9998)
Feat: Add infiniband mac address support in nmcli module (#9962)

* Feat: Add infiniband mac address support in nmcli module

* Add changelog fragment

* Tentative to fix the error

* Update changelogs/fragments/9962-nmcli-add-infiniband-mac-support.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nmcli.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix: fix test_bond_connection_unchanged module check

* Update plugins/modules/nmcli.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update changelogs/fragments/9962-nmcli-add-infiniband-mac-support.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit a7ab7e9247)

Co-authored-by: Benoît Leveugle <oxedions@gmail.com>
2025-04-14 22:51:01 +02:00
Felix Fontein
39f27d7d43 Prepare 10.6.0. 2025-04-14 22:11:48 +02:00
patchback[bot]
4dec46778c
[PR #9992/8525e420 backport][stable-10] Avoid deprecated AnsibleFilterTypeError (#9994)
Avoid deprecated AnsibleFilterTypeError (#9992)

Avoid deprecated AnsibleFilterTypeError.

(cherry picked from commit 8525e420bc)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-04-14 21:23:21 +02:00
patchback[bot]
d5e0d36e48
[PR #9833/04cfce78 backport][stable-10] Make ready for data tagging (#9990)
Make ready for data tagging (#9833)

* Fix dependent lookup.

* Fix ansible_type plugin utils and adjust documentation of reveal_ansible_type filter and ansible_type test.

* Fix diy callback plugin.

* Adjust to Data Tagging.

* Vendor and use internal code from ansible-core to fix YAML callback.

Ref: https://github.com/ansible/ansible/issues/84781
(cherry picked from commit 04cfce78ea)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-04-14 21:23:00 +02:00
patchback[bot]
fb45b908dd
[PR #9951/02ffb6e7 backport][stable-10] update PHP apache module workaround (#9979)
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Has been cancelled
Verify REUSE / check (push) Has been cancelled
update PHP apache module workaround (#9951)

* update php apache module workaround

* Update apache2_module.py

* Update apache2_module.py

* Update apache2_module.py

* add changelog fragment

* Update changelogs/fragments/9951-mod-php-identifier.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update 9951-mod-php-identifier.yml

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 02ffb6e7e3)

Co-authored-by: simonLeary42 <71396965+simonLeary42@users.noreply.github.com>
2025-04-10 07:27:14 +02:00
patchback[bot]
6e16c6c649
[PR #9953/1157b710 backport][stable-10] allow gitlab-project-members module to handle user level "owner" (#9980)
allow gitlab-project-members module to handle user level "owner" (#9953)

* fix(modules/gitlab-project-members): fix ...

... module not being able to handle owner access level

* add changelog fragment for this pr

* fix and extend integration tests

* extend parameter docu as requested by review

* also add docu for other parameters

* remove pip install break-packages flag from ...

... integration tests

---------

Co-authored-by: Mirko Wilhelmi <Mirko.Wilhelmi@sma.de>
(cherry picked from commit 1157b7102f)

Co-authored-by: morco <thegreatwiper@web.de>
2025-04-10 07:27:06 +02:00
patchback[bot]
033d5f23f8
[PR #9646/d7edd34b backport][stable-10] hpilo_boot: fix module failing when trying to power on an already powered-on server (#9981)
hpilo_boot: fix module failing when trying to power on an already powered-on server (#9646)

* fix: fix hpilo_boot.py module failing when trying to power on an already powered-on server

For this module to be idempotent, it should be successful when trying to reach a power state which is already there.

It was already the case for "poweroff", however when running the module with "boot_once" state, it was failing if the server was already powered_on, which is not an idempotent behavior

* doc: Add changelog fragment

* fix: add flag to run boot_once idempotently without breaking the previous behavior and add deprecation warning

* doc: fix documentation fragment description

* fix unwanted format changes

seems like I had an older version of this module formatted differently or that I had a formatter that automatically ran on this file

* fix linting errors

Removed trailing whitespace line 164

* add missing dash in idempotent_boot_once parameter description

* fix doc issue

* Update changelogs/fragments/9646-hpilo-fix-idempotency.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update plugins/modules/hpilo_boot.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update changelogs/fragments/9646-hpilo-fix-idempotency.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* comment out module deprecation and change idempotent boot_once parameter description

* Update plugins/modules/hpilo_boot.py

* Update plugins/modules/hpilo_boot.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Ryan BADAÏ <ryan.badai@dbi-services.com>
(cherry picked from commit d7edd34ba4)

Co-authored-by: Ryan Badaï <43403063+ryanb74@users.noreply.github.com>
2025-04-10 07:26:57 +02:00
patchback[bot]
6367bb853d
[PR #9964/1375cb65 backport][stable-10] Unify TLS/SSL config for Redfish modules with new common argument spec and docs fragment; add validate_certs and ca_path options (#9982)
Unify TLS/SSL config for Redfish modules with new common argument spec and docs fragment; add validate_certs and ca_path options (#9964)

Unify TLS/SSL config for Redfish modules with new common argument spec and docs fragment.

(cherry picked from commit 1375cb65d6)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-04-10 07:26:48 +02:00
patchback[bot]
8e6941ed5d
[PR #9965/d923e326 backport][stable-10] fix duplicate json conversion for rocketchat pre740 (#9969)
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Has been cancelled
Verify REUSE / check (push) Has been cancelled
fix duplicate json conversion for rocketchat pre740 (#9965)

* fix duplicate json conversion for rocketchat pre740

* add changelog

* Update changelogs/fragments/9965-fix-duplicate-jsonify-payload-for-rocketchat-pre740.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d923e326f6)

Co-authored-by: pandrieux <31440210+pandrieux@users.noreply.github.com>
2025-04-06 14:43:41 +02:00
patchback[bot]
2d730da8a7
[PR #9963/34b6fb74 backport][stable-10] proxmox_disk: fail gracefully if storage hasn't been provided by the user (#9968)
proxmox_disk: fail gracefully if storage hasn't been provided by the user (#9963)

Fail gracefully if storage hasn't been provided by the user.

(cherry picked from commit 34b6fb74eb)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-04-06 14:24:07 +02:00
Felix Fontein
88f5100657 Migrate .reuse/dep5 to REUSE.toml.
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Has been cancelled
Verify REUSE / check (push) Has been cancelled
(cherry picked from commit 70b5e362f9)
2025-03-29 13:46:13 +01:00
patchback[bot]
0293f84b3e
[PR #9945/e5e33534 backport][stable-10] Simplify YAML callback tests (#9948)
Simplify YAML callback tests (#9945)

Simplify YAML callback tests.

(cherry picked from commit e5e335348a)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-29 11:02:00 +01:00
Felix Fontein
8333c881d3 Next expected release will be 10.6.0.
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Has been cancelled
Verify REUSE / check (push) Has been cancelled
2025-03-24 22:28:48 +01:00
Felix Fontein
4a394088b3 Release 10.5.0. 2025-03-24 21:03:09 +01:00
patchback[bot]
d72d9b3e45
[PR #9910/1fbf5d8e backport][stable-10] proxmox_vm_info: don't expect key 'template' exists in dictionary (#9935)
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.15) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Waiting to run
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Waiting to run
Verify REUSE / check (push) Waiting to run
proxmox_vm_info: don't expect key 'template' exists in dictionary (#9910)

* don't expect key 'template' exists

* add changelog fragment

* Update changelogs/fragments/9875-proxmox-dont-expect-key-template-to-exist.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1fbf5d8eb4)

Co-authored-by: florianfischer91 <72799603+florianfischer91@users.noreply.github.com>
2025-03-24 18:10:09 +01:00
patchback[bot]
e44bbbdcba
[PR #9882/c3b0354d backport][stable-10] Fix payload to match Rocket Chat 7.4.1 API (#9933)
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.15) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Waiting to run
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Waiting to run
Verify REUSE / check (push) Waiting to run
Fix payload to match Rocket Chat 7.4.1 API (#9882)

* Fix payload to match Rocket Chat 7.4 API

* Add a fallback to send payload argument in case the user still interacts with a Rocket Chat version < 7.4.0

* Fix sanity checks

* Add changelog fragment of PR #9882

* Add argument option_is_pre740 to keep backward compatibility of the payload

* Add new argument doc

* Rename new parameter, add missing pieces of information in parameter doc

* Use appropriate change label and fix change description. Description about future plans for the parameter is now set at the parameter doc level

* Fix missing punctuation in the new parameter doc block

* Improve documentation.

* Fix line length.

---------

Co-authored-by: ludovic <ludovic.petetin@aleph-networks.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit c3b0354da0)

Co-authored-by: X <2465124+broferek@users.noreply.github.com>
2025-03-24 05:52:10 +01:00
patchback[bot]
eca7c1a00b
[PR #9926/cb776e7c backport][stable-10] The yarn module is Yarn Classic only at the moment (#9927)
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.15) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Waiting to run
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Waiting to run
Verify REUSE / check (push) Waiting to run
The yarn module is Yarn Classic only at the moment (#9926)

The yarn module is Yarn Classic only.

(cherry picked from commit cb776e7cd5)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-23 14:59:00 +01:00
patchback[bot]
b1ff713c41
[PR #9867/ec38a82e backport][stable-10] tests: enable copr tests (#9931)
tests: enable copr tests (#9867)

[WIP] tests: enable copr tests

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
(cherry picked from commit ec38a82ef1)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-03-23 14:58:51 +01:00
patchback[bot]
c95a8b6540
[PR #9921/410cf72a backport][stable-10] Unit tests: replace mock and compat with code from community.internal_test_tools (#9922)
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Has been cancelled
Verify REUSE / check (push) Has been cancelled
Unit tests: replace mock and compat with code from community.internal_test_tools (#9921)

* Replace compat with equivalent from community.internal_test_tools.

* Replace mock with equivalent from community.internal_test_tools.

(cherry picked from commit 410cf72aec)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-22 14:20:45 +01:00
patchback[bot]
57dcd31c82
[PR #9918/8ab8010b backport][stable-10] Use more unit test utils from community.internal_test_tools (#9919)
Use more unit test utils from community.internal_test_tools (#9918)

* Make conftest's patch_ansible_module use the context manager from .utils.

* Fix test dependencies.

* Use module mock utils from community.internal_test_tools.

* Use DataDictLoader from community.internal_test_tools.

* Use trust util from community.internal_test_tools.

(cherry picked from commit 8ab8010b6d)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-22 13:52:39 +01:00
patchback[bot]
7ba3d84004
[PR #9880/3922b82a backport][stable-10] nmcli: fix reordering of DNS nameservers and search suffixes (#9912)
Some checks are pending
EOL CI / EOL Sanity (Ⓐ2.15) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Waiting to run
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Waiting to run
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Waiting to run
import-galaxy / Test to import built collection artifact with Galaxy importer (push) Waiting to run
Verify REUSE / check (push) Waiting to run
nmcli: fix reordering of DNS nameservers and search suffixes (#9880)

* nmcli: fix reordering of DNS nameservers and search suffixes

- Fixes #8724

* Update changelog fragment index in line with PR number

- Now I understand what that number is for

* Use correct changelog format for nmcli PR #9880

(cherry picked from commit 3922b82a57)

Co-authored-by: ashleyghooper <ashleyghooper@gmail.com>
2025-03-21 21:50:53 +01:00
patchback[bot]
837c1289d0
[PR #9892/579f369e backport][stable-10] vmadm - Add new options (#9913)
vmadm - Add new options (#9892)

* Add flexible_disk_size and owner_uuid options

* vmadm - add changelog fragment

* Improve descriptions for options

(cherry picked from commit 579f369ef3)

Co-authored-by: stratacast <courtney@courtnix.systems>
2025-03-21 21:50:47 +01:00
patchback[bot]
3c7c946297
[PR #9904/e3d92491 backport][stable-10] Add caddy example to copr module (#9916)
Add caddy example to copr module (#9904)

Add caddy example to copr.py

(cherry picked from commit e3d92491a3)

Co-authored-by: Elijah Lopez <elijahllopezz@gmail.com>
2025-03-21 21:50:39 +01:00
patchback[bot]
f0f5035ba2
[PR #9893/9286b601 backport][stable-10] cmd_runner_fmt.as_fixed() now accepts list of args (#9915)
cmd_runner_fmt.as_fixed() now accepts list of args (#9893)

* cmd_runner_fmt.as_fixed() now accepts list of args

* update CmdRunner guide

* add changelog frag

* Update changelogs/fragments/9893-cmdrunner-as-fixed-args.yml

* fix overdoing in as_fixed()

(cherry picked from commit 9286b60182)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-03-21 21:50:30 +01:00
Felix Fontein
3955a6be0f Prepare 10.5.0. 2025-03-21 21:07:44 +01:00
patchback[bot]
bc5b4bdef3
[PR #9900/6a2d9ccd backport][stable-10] sysrc: extend the list of FreeBSD releases where the jail test fails (#9903)
sysrc: extend the list of FreeBSD releases where the jail test fails (#9900)

Extend the list of FreeBSD releases where the jail test fails.

(cherry picked from commit 6a2d9ccd99)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-18 22:14:23 +01:00
patchback[bot]
8f8b1ee4ce
[PR #9891/4a2cc711 backport][stable-10] systemd_info - extend support to timer unit (#9894)
systemd_info - extend support to timer unit (#9891)

* systemd_info - extend support to timer unit

* systemd_info - add changelogs fragments

* systemd_info - fix description and base_props

(cherry picked from commit 4a2cc71141)

Co-authored-by: Nocchia <133043574+NomakCooper@users.noreply.github.com>
2025-03-16 21:33:28 +01:00
patchback[bot]
6534db4942
[PR #9881/e5eac9fe backport][stable-10] homebrew_cask: Handle unusual brew version strings (#9889)
homebrew_cask: Handle unusual brew version strings (#9881)

* Use regex to parse unusual brew version strings

Fixes: #8432

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
(cherry picked from commit e5eac9fed1)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-03-15 09:22:45 +01:00
patchback[bot]
7a55295798
[PR #9847/96b003f9 backport][stable-10] Adding Audio device support to proxmox_kvm (#9887)
Adding Audio device support to proxmox_kvm (#9847)

* Add Audio device support to proxmox_kvm.py

Audio device was unsupported with message :
`FAILED! => {"changed": false, "msg": "Unsupported parameters for (community.general.proxmox_kvm) module: audio. Supported parameters include: acpi, agent, api_host, api_password, api_port, api_token_id, api_token_secret, api_user, archive, args, autostart, balloon, bios, boot, bootdisk, cicustom, cipassword, citype, ciupgrade, ciuser, clone, cores, cpu, cpulimit, cpuunits, delete, description, digest, efidisk0, force, format, freeze, full, hookscript, hostpci, hotplug, hugepages, ide, ipconfig, keyboard, kvm, localtime, lock, machine, memory, migrate, migrate_downtime, migrate_speed, name, nameservers, net, newid, node, numa, numa_enabled, onboot, ostype, parallel, pool, protection, reboot, revert, sata, scsi, scsihw, searchdomains, serial, shares, skiplock, smbios, snapname, sockets, sshkeys, startdate, startup, state, storage, tablet, tags, target, tdf, template, timeout, tpmstate0, update, update_unsafe, usb, validate_certs, vcpus, vga, virtio, vmid, watchdog."}`

With this patch it is possible to update proxmox VM config with an audio device.

```yaml
- name: Add Spice compatible audio device
  community.general.proxmox_kvm:
    api_user: "{{ api_user }}"
    api_password: "{{ api_password }}"
    api_host: "{{ api_host }}"
    node: "{{ node_name }}"
    vmid: "{{ proxmox_vmid }}"
    audio: '{"audio0":"device=ich9-intel-hda,driver=spice"}'
    update: true
  delegate_to: localhost
```

* Update plugins/modules/proxmox_kvm.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update plugins/modules/proxmox_kvm.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/proxmox_kvm.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Create changelog fragment 9847-Adding_audio_device-support_to_proxmox_kvm.yml

* Update 9847-Adding_audio_device-support_to_proxmox_kvm.yml

Update following recommandations, thanks

* Update changelogs/fragments/9847-Adding_audio_device-support_to_proxmox_kvm.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 96b003f9af)

Co-authored-by: Croko-fr <62189784+Croko-fr@users.noreply.github.com>
2025-03-15 08:04:40 +01:00
patchback[bot]
0fd7cfd2d6
[PR #9821/3bd0ab4a backport][stable-10] systemd_info - add wildcards support (#9883)
systemd_info - add wildcards support (#9821)

* systemd_info - add wildcards support

* systemd_info - add wildcards fragments

* systemd_info - improved dedicated functions

* systemd_info - improved code and functions for better maintenance and timing

* fix unitname description

* removed redundancies and keys() in lists, replaced fnmatch with filter and run_command with cmdrunner

* systemd_info - add new cmdrunner

* systemd_info - fix runner

* systemd_info - fix env in runner

* systemd_info - rename runner and get_version

* systemd_info - change args runner, fix fragment, add botmeta

* systemd_info - merge type args

(cherry picked from commit 3bd0ab4a49)

Co-authored-by: Nocchia <133043574+NomakCooper@users.noreply.github.com>
2025-03-15 07:46:34 +01:00
patchback[bot]
68ca28b69a
[PR #9849/add892aa backport][stable-10] NMAP Inventory Plugin: Added option for specifying DNS servers for name resolution (#9886)
NMAP Inventory Plugin: Added option for specifying DNS servers for name resolution (#9849)

* Added option for specifying DNS servers for name resolution in NMAP inventory plugin.

* Added option for specifying DNS servers for name resolution in NMAP inventory plugin.

* NMAP Inventory Plugin: Added option for specifying DNS servers for name resolution.

* Update plugins/inventory/nmap.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* NMAP Inventory Plugin: Added option for specifying DNS servers for name resolution.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit add892aa45)

Co-authored-by: Jim Anderson <thesemicolons@protonmail.com>
2025-03-15 07:46:25 +01:00
patchback[bot]
c91e7b4c03
[PR #9871/dd0a2cbf backport][stable-10] sudoers: display stderr raised while validation (#9885)
sudoers: display stderr raised while validation (#9871)

* sudoers: display stderr raised while validation

* Print stdout and stderr raised from sudoers validation

Fixes: #9674

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit dd0a2cbff9)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-03-15 07:46:14 +01:00
patchback[bot]
2583152512
[PR #9837/abe4e5ce backport][stable-10] Redfish: implement setting PowerRestorePolicy (#9878)
Redfish: implement setting PowerRestorePolicy (#9837)

This property ("The desired power state of the system when power is
restored after a power loss.") was added in ComputerSystem.v1_6_0 which
became part of 2018.3 Redfish release.

Tested against an OpenBMC system running bmcweb Redfish server making sure the
policy is updated only when needed and that errors and messages are propogated
properly.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
(cherry picked from commit abe4e5ce95)

Co-authored-by: Paul Fertser <fercerpav@gmail.com>
2025-03-12 20:06:02 +01:00
patchback[bot]
cee6c98d2a
[PR #9872/fdbc06c7 backport][stable-10] CI: Add FreeBSD 13.5 (#9874)
CI: Add FreeBSD 13.5 (#9872)

Add FreeBSD 13.5.

(cherry picked from commit fdbc06c714)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-12 17:58:32 +01:00
patchback[bot]
8859379bed
[PR #9858/710dc5df backport][stable-10] pacemaker unit test: passing null with UTHelper (#9868)
pacemaker unit test: passing null with UTHelper (#9858)

(cherry picked from commit 710dc5df86)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-03-11 07:14:08 +01:00
patchback[bot]
e899631137
[PR #9836/941df094 backport][stable-10] Adds option for http agent for user in slack callback (#9866)
Adds option for http agent for user in slack callback (#9836)

* Adds option for http agent for user in slack callback

* Adds changelog fragment for 9836 issue

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix typo.

---------

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 941df094ca)

Co-authored-by: Anwesha Das <anwesha@das.community>
2025-03-10 18:12:18 +01:00
patchback[bot]
e99dcaa729
[PR #9846/86dea88c backport][stable-10] dnf_versionlock: add support for Fedora 41 and dnf5 (#9865)
dnf_versionlock: add support for Fedora 41 and dnf5 (#9846)

Fixes: #9556

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
(cherry picked from commit 86dea88cb6)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-03-10 06:31:08 +01:00
patchback[bot]
c12dd2f9c7
[PR #9845/7d5357d7 backport][stable-10] Fix roles/policies normalization in consul_token. (#9863)
Fix roles/policies normalization in consul_token. (#9845)

* Fix roles/policies normalization in consul_token.

* Update changelogs/fragments/9845-consul_token_idempotency.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 7d5357d74c)

Co-authored-by: Florian Apolloner <florian@apolloner.eu>
2025-03-10 06:30:54 +01:00
patchback[bot]
8253fb171d
[PR #9859/eff25c8a backport][stable-10] Fix/improve tests (#9860)
Fix/improve tests (#9859)

* Fix tests.

* Improve callback tests.

(cherry picked from commit eff25c8a6e)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-09 17:01:54 +01:00
patchback[bot]
5f1f76b8f4
[PR #9853/4727fb77 backport][stable-10] cmd_runner tests: fix reliance on unspecified behavior (#9857)
cmd_runner tests: fix reliance on unspecified behavior (#9853)

Fix reliance on unspecified behavior.

(cherry picked from commit 4727fb77b3)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-09 09:01:13 +01:00
patchback[bot]
e3793e09e8
[PR #9850/9df84654 backport][stable-10] Improve/fix unit tests (#9852)
Improve/fix unit tests (#9850)

* Improve/fix tests.

* Fix cargo test.

(cherry picked from commit 9df8465476)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-08 16:42:05 +01:00
patchback[bot]
a800a6dbad
[PR #9842/c46575cf backport][stable-10] Simplify module_utils unit tests (#9844)
Simplify module_utils unit tests (#9842)

Simplify module_utils unit tests.

(cherry picked from commit c46575cf06)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-07 18:33:20 +01:00
patchback[bot]
7d45b678e4
[PR #9838/a1781d09 backport][stable-10] Unit tests: make set_module_args() a context manager, and remove copies of it in some tests (#9839)
Unit tests: make set_module_args() a context manager, and remove copies of it in some tests (#9838)

Make set_module_args() a context manager, and remove copies of set_module_args().

Prepares for Data Tagging.

(cherry picked from commit a1781d09dd)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-07 07:27:55 +01:00
patchback[bot]
cd0ca389ed
[PR #9803/c43289b8 backport][stable-10] homebrew: Do not crash when package names include tap prefix. (#9834)
homebrew:  Do not crash when package names include tap prefix. (#9803)

* homebrew:  Do not crash when package names include tap prefix.

Fixes #9777

* homebrew: PR #9803 minor update: removed trailing whitespace

* Update changelogs/fragments/9777-homebrew-fix-crash-when-packages-include-tap.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from code review

Co-authored-by: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>

* Update plugins/modules/homebrew.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit c43289b8f1)

Co-authored-by: brad2014 <brad2014@users.noreply.github.com>
2025-03-05 21:37:08 +01:00
patchback[bot]
9ebf72d560
[PR #9531/402f7254 backport][stable-10] add pacemaker_resource plugin (#9835)
add pacemaker_resource plugin (#9531)

* Add initial pacemaker resource

* Additional fixes on pacemaker_resource

* Fix up module parameters

* fix doc and lint

* fix group command build

* Apply suggestions for removing status and improve descriptions

* fix cmd builder list

* Apply suggestions and add initial unit tests

* Fix unit tests expected output

* Initial refactor on pacemaker resource

Refactorization on pacemaker_resource to utilize module helpers.

* Apply suggestions and fix up initial unit test

* Apply suggestions from code review

* Fix pep8 format for utils

* Fix unit tests for pacemaker resource

* Add botmeta maintainers for new moduules

* Apply suggestions from code review

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Apply unit test suggestion

* Add disable and enable states for pacemaker_resource

* Fix state names and add cli_action for runner

* Remove unnecessary variables

* Fix documentation example playbook

* Fix IP Address for resource_option

* Refactor and remove unnecessary facts

* Apply suggestions from code review

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 402f725424)

Co-authored-by: Dexter <45038532+munchtoast@users.noreply.github.com>
2025-03-05 21:36:56 +01:00
patchback[bot]
d6a4fab8ea
[PR #9819/5f48f2ca backport][stable-10] Example typo in homebrew_services.py (#9827)
Example typo in homebrew_services.py (#9819)

Maybe this was mixed up with the _brew_service_state() function? I get this error as-written:
```
fatal: [eahmm3]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (community.general.homebrew_services) module: service
_state. Supported parameters include: name, path, state (formula)."}
```

(cherry picked from commit 5f48f2ca0d)

Co-authored-by: Ernie Hershey <github@ernie.org>
2025-03-03 21:32:19 +01:00
patchback[bot]
4e43b124cd
[PR #9828/77dc0868 backport][stable-10] homebrew_services: skip tests on macOS 13.2 and 14.3 (#9830)
homebrew_services: skip tests on macOS 13.2 and 14.3 (#9828)

Skip tests on macOS 13.2 and 14.3.

(cherry picked from commit 77dc086896)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-03-03 21:32:00 +01:00
patchback[bot]
9bcf61d153
[PR #9824/129f51cf backport][stable-10] Redfish: implement obtaining PowerRestorePolicy (#9824) (#9825)
Redfish: implement obtaining PowerRestorePolicy (#9824) (#9824)

This property ("The desired power state of the system when power is
restored after a power loss.") was added in ComputerSystem.v1_6_0 which
became part of 2018.3 Redfish release.

Example result from querying OpenBMC's bmcweb Redfish server:
```
    entries:
    -   -   system_uri: /redfish/v1/Systems/system
        - AlwaysOff
    ret: true
```

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
(cherry picked from commit 129f51cf9d)

Co-authored-by: Paul Fertser <fercerpav@gmail.com>
2025-03-03 21:15:22 +01:00
patchback[bot]
7f5305fb80
[PR #9818/3b6efd5c backport][stable-10] cloudflare_dns: handle exhausted response stream in case of http error (#9823)
cloudflare_dns: handle exhausted response stream in case of http error (#9818)

* cloudflare_dns: handle exhausted response stream in case of http error

* Update changelogs/fragments/9818-cloudflare-dns-exhausted-response.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 3b6efd5cbc)

Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
2025-03-03 07:24:12 +01:00
patchback[bot]
aea60a8dd6
[PR #9812/cf147b9f backport][stable-10] misc typo fix (#9816)
misc typo fix (#9812)

Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
(cherry picked from commit cf147b9fca)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2025-03-01 11:31:08 +01:00
patchback[bot]
195ac4d7e6
[PR #9809/e39320c3 backport][stable-10] proxmox: fix status getter (#9817)
proxmox: fix status getter (#9809)

* proxmox: fix status getter

get_lxc_status was missing a selection of the 'status' key

* proxmox: add changelog fragment

* proxmox: fix changelog fragment

(cherry picked from commit e39320c354)

Co-authored-by: JL Euler <Lithimlin@users.noreply.github.com>
2025-03-01 11:30:52 +01:00
patchback[bot]
91d515bd1e
[PR #9768/4c11902f backport][stable-10] keycloak_realm: remove realm id requirement (#9810)
keycloak_realm: remove realm id requirement (#9768)

* remove realm id requirement

* replace id with realm

* replace id with realm in documentation

* add changelog fragment

* Update changelogs/fragments/9768-keycloak_realm-remove-id-requirement.yaml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9768-keycloak_realm-remove-id-requirement.yaml

Co-authored-by: Felix Fontein <felix@fontein.de>

* add comment to get_realm_by_id

* Update plugins/module_utils/identity/keycloak/keycloak.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 4c11902fdc)

Co-authored-by: gruenbauer@b1-systems.de <gruenbauer@b1-systems.de>
2025-02-27 21:59:36 +01:00
patchback[bot]
7d8f5559e2
[PR #9457/98b328c5 backport][stable-10] apache2_mod_proxy: big revamp (#9806)
apache2_mod_proxy: big revamp (#9457)

* apache2_mod_proxy: big revamp

* fix case when state=null

* fix logic for change detection

(cherry picked from commit 98b328c539)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-26 22:05:03 +01:00
patchback[bot]
9e68816db9
[PR #9805/dd4268e0 backport][stable-10] CI: Add macOS 15.3 (#9808)
CI: Add macOS 15.3 (#9805)

* Add macOS 15.3.

* Install setuptools on macOS 15.

(cherry picked from commit dd4268e0d9)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-26 22:04:52 +01:00
Felix Fontein
fc1ba5152c Next expected release will be 10.5.0. 2025-02-24 07:15:53 +01:00
Felix Fontein
205e28d2fe Release 10.4.0. 2025-02-24 06:47:35 +01:00
patchback[bot]
27629b6497
[PR #9787/e8e3e5c2 backport][stable-10] Allow Xen Host and/or Xen VM names instead of their UUIDs (#9801)
Allow Xen Host and/or Xen VM names instead of their UUIDs (#9787)

* Allow using Xen Host and/or Xen VM names instead of their UUIDs for inventory

* xen_orchestra inventory plugin allow using vm and host names instead of UUID inventory

* Update changelog fragment with correct PR number

* Set missing inventory attributes in unit test

* Add version_added suggestion as per github comments

* Description update.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit e8e3e5c2b0)

Co-authored-by: rt-vnx <riordan.toms@vonex.com.au>
2025-02-24 06:18:09 +01:00
patchback[bot]
5735c5a045
[PR #9764/8425464c backport][stable-10] Add new systemd_info module (#9800)
Add new systemd_info module (#9764)

* add systemd_info module

* fix object results

* apply review changes

* apply module change and add doc_fragments

* removed use_unsafe_shell and doc_fragments/systemd

* fix unitname description doc

* fixed doc, replaced systemctl show syntax, added base prop result doc

* fix documentation

* fix RV values in description

* fix RV() description values

* add get_bin_path try/fail and remove list()

* fix doc, removed try block

* add Archlinux in integration test

(cherry picked from commit 8425464c0a)

Co-authored-by: Nocchia <133043574+NomakCooper@users.noreply.github.com>
2025-02-23 17:52:07 +01:00
patchback[bot]
ceb051851e
[PR #9796/217a1883 backport][stable-10] locale_gen: enable tests for Arch Linux, make sure they don't even try to run on RHEL and Fedora VMs (#9798)
locale_gen: enable tests for Arch Linux, make sure they don't even try to run on RHEL and Fedora VMs (#9796)

Enable locale_gen tests for Arch Linux, make sure they don't even try to run on RHEL and Fedora VMs.

(cherry picked from commit 217a18839d)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-23 15:27:08 +01:00
patchback[bot]
a17083ea84
[PR #9657/2b6f4ba2 backport][stable-10] lldp: Handling attributes that are defined multiple times (#9799)
lldp: Handling attributes that are defined multiple times (#9657)

* lldp: Ignoring values for keys already defined

This fixes crashes when the lldpctl output has lines for unknown tlvs that
redefine a key in the middle of the nested dict data structure.

* lldp: handling attributes that are defined multiple times

- Fix crash caused by certain lldpctl output where an attribute is defined as branch and leaf
- Adds multivalues parameter to control behavior when lldpctl outputs an attribute multiple times

* lldp: using isinstance instead of type

* Link to Github PR

Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* lldp: only push value to subkey in multivalues mode

To provide backwards compatibility values that are defined as a
attribute and also as a path element are only pushed to the 'value'
subkey when using the new multivalues mode.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 2b6f4ba299)

Co-authored-by: Julian Wecke <julian@net23.de>
2025-02-23 15:26:57 +01:00
patchback[bot]
d03fdc8093
[PR #9684/961c9b7f backport][stable-10] Ssh config other options (#9794)
Ssh config other options (#9684)

* Add other_options support to ssh_config module

* Changelog fragment

* Fix missing and modified stuff

* Minor changes

* Update fragment with PR URL

* Fix PEP8 issue

* Fix idempotency issue

* Update changelogs/fragments/ssh_config_add_other_options.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ssh_config.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ssh_config.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Incorporate suggestions

* Missed removing str conversion

* PEP8

* Update plugins/modules/ssh_config.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add fail condition, fix codestyle

* Force lower case key values only

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 961c9b7f4c)

Co-authored-by: Stephen Bradshaw <stephen.mark.bradshaw@gmail.com>
2025-02-22 09:20:31 +01:00
patchback[bot]
469209a17f
[PR #9788/bb2c45b5 backport][stable-10] json_query filter docs: fix typo cluster2 when cluster1 is mentioned (#9793)
json_query filter docs: fix typo cluster2 when cluster1 is mentioned (#9788)

Typo cluster2 but cluster1 is mentioned

(cherry picked from commit bb2c45b5bb)

Co-authored-by: Kloppi313 <36038231+Kloppi313@users.noreply.github.com>
2025-02-21 20:50:45 +01:00
patchback[bot]
72ea96cc74
[PR #9774/ddc1ea6a backport][stable-10] Fix proxy settings for elasticsearch_plugin.py (#9786)
Fix proxy settings for elasticsearch_plugin.py (#9774)

elasticsearch_plugin: fix error when setting proxy settings

Co-authored-by: Tim Hovius <w.hovius@rechtspraak.nl>
(cherry picked from commit ddc1ea6ae4)

Co-authored-by: Tim Hovius <timhovius@gmail.com>
2025-02-20 22:27:16 +01:00
patchback[bot]
b2c34d1afe
[PR #9778/203c1ecf backport][stable-10] redhat_registration: use 'enable_content' D-Bus option when available (#9784)
redhat_registration: use 'enable_content' D-Bus option when available (#9778)

This makes sure that subscription-manager always enables the content for
the system right after the registration.

This is particular important on EL 10+ and Fedora 41+.

(cherry picked from commit 203c1ecfec)

Co-authored-by: Pino Toscano <ptoscano@redhat.com>
2025-02-20 22:27:03 +01:00
patchback[bot]
f4fca86f82
[PR #9106/105ae056 backport][stable-10] bugfix - Prevent passwordstore lookup to create subkey when create == false (#9780)
bugfix - Prevent passwordstore lookup to create subkey when create == false (#9106)

Fixes #9105

Apply suggestion

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 105ae0566a)

Co-authored-by: Manuel Luzarreta <mluzarreta.pro@pm.me>
2025-02-19 22:30:24 +01:00
patchback[bot]
78c8fa0d49
[PR #9775/8e36fd48 backport][stable-10] apache2_mod_proxy: follow-up for #9762, forgot one place with find_all/findAll (#9776)
apache2_mod_proxy: follow-up for #9762, forgot one place with find_all/findAll (#9775)

Follow-up for #9762, forgot one place.

(cherry picked from commit 8e36fd4847)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-18 21:53:16 +01:00
patchback[bot]
d3650f27b0
[PR #9762/a3fd357d backport][stable-10] Make apache2_mod_proxy work with Python 3, half-way modern Apache 2 versions, and add basic tests (#9771)
Make apache2_mod_proxy work with Python 3, half-way modern Apache 2 versions, and add basic tests (#9762)

* Move Apache 2 installation to setup role.

* Make module work with Python 3.

* Add basic tests.

* Add changelog fragment.

* Simplify change.

* Pass referer.

(cherry picked from commit a3fd357d81)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-18 20:30:09 +01:00
patchback[bot]
7b901f9caa
[PR #9760/d696bb7b backport][stable-10] proxmox inventory: proposal for #9710 (caching) (#9770)
proxmox inventory: proposal for #9710 (caching) (#9760)

* Proposal for #9710

* Fixed comments

* Fixed trailing whitespace

* Fixed changelog fragment

(cherry picked from commit d696bb7b89)

Co-authored-by: Dirk S. <iqt4@users.noreply.github.com>
2025-02-17 19:26:05 +01:00
patchback[bot]
35d6ab10bb
[PR #9743/94e15110 backport][stable-10] incus_connection: Allow non-root users to connect to an instance (#9765)
incus_connection: Allow non-root users to connect to an instance (#9743)

* feat: add remote_user option to incus connection

* feat: add changelog fragment

* fix: formatting

(cherry picked from commit 94e1511005)

Co-authored-by: Peter Siegel <33677897+yeetypete@users.noreply.github.com>
2025-02-17 07:55:37 +01:00
patchback[bot]
d811807e1f
[PR #9753/fa7876bb backport][stable-10] Jira: add SSL client certificate support for authentication (#9763)
Jira: add SSL client certificate support for authentication (#9753)

* jira: add ssl client certificate support for authentification

* fix code bugs from first CI run

* fix fstring not compatible with older python and chhange urlopen module call

* removed duplicated post,put,get method

* fix urllib module detection Python2/ Python3

* edit HTTP Request back to fetch_url

* add changelog fragment

* fix python line spacing

* Update plugins/modules/jira.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/jira.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* edit documentation certificate auth not mutually exclusive

* Update changelogs/fragments/9753-jira-add-client-certificate-auth.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* edit documentation for client certificate auth and token

* add no_log for client_cert and client_key

* removed no_log for client_cert and client_key

---------

Co-authored-by: domin <domin@MacBookPro.fritz.box>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit fa7876bb40)

Co-authored-by: Dominik <47948163+weristdominik@users.noreply.github.com>
2025-02-16 21:37:34 +01:00
Felix Fontein
dedd625700 Prepare 10.4.0 release. 2025-02-16 20:27:32 +01:00
patchback[bot]
10e41862cb
[PR #9754/b80fa80c backport][stable-10] clc_*: deprecation (#9761)
clc_*: deprecation (#9754)

* clc_*: deprecation

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit b80fa80c90)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-16 20:06:48 +01:00
patchback[bot]
3d418d9ede
[PR #9739/b2e2d2d3 backport][stable-10] keycloak_client: compare desired and before dicts directly in checkmode (#9759)
keycloak_client: compare desired and before dicts directly in checkmode (#9739)

* compare desired and before dicts directly in checkmode

* fix authorizationServicesEnabled being dropped by kc if unset

* only add authorizationsServicesEnabled=false if before_client exists

* add changelog fragment

* Update changelog.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit b2e2d2d37b)

Co-authored-by: gruenbauer@b1-systems.de <gruenbauer@b1-systems.de>
2025-02-16 12:38:04 +01:00
patchback[bot]
ebb150c3f9
[PR #9728/410999df backport][stable-10] bitwarden lookup: add options to filter by collection_name and validate number of results (#9757)
bitwarden lookup: add options to filter by collection_name and validate number of results (#9728)

* feat(lookups/bitwarden): add collection_name filter

* feat(lookups/bitwarden): add result_count check

* docs(lookups/bitwarden): add changelog fragment

* Update changelogs/fragments/9728-bitwarden-collection-name-filter.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/bitwarden.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/bitwarden.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/bitwarden.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/bitwarden.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix(lookups/bitwarden): fix result_count check for multiple terms

* fix(lookups/bitwarden): Enforce mutual exclusion of 'collection_name' and 'collection_id'

* formatting(lookups/bitwarden): remove trailing whitespace

* Update plugins/lookup/bitwarden.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update plugins/lookup/bitwarden.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update plugins/lookup/bitwarden.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* formatting(lookups/bitwarden): remove trailing whitespace

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 410999dffa)

Co-authored-by: Jonas <jonas.switala@frequentis.com>
2025-02-16 12:24:57 +01:00
patchback[bot]
df28c80946
[PR #9755/ba252294 backport][stable-10] profitbricks: fix typo in deprecation text (#9756)
profitbricks: fix typo in deprecation text (#9755)

(cherry picked from commit ba25229482)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-16 11:32:54 +01:00
patchback[bot]
403152d91a
[PR #9653/64d78585 backport][stable-10] proxmox_kvm Allow vm hibernation (#9752)
proxmox_kvm Allow vm hibernation (#9653)

* Allow vm hibernation

* add changelog fragment

* pylint and pep8 tests failed

* forgot period

* added introducing version number to module description

(cherry picked from commit 64d785858e)

Co-authored-by: ff05 <71757437+ff05@users.noreply.github.com>
2025-02-15 13:41:32 +01:00
patchback[bot]
75e35bfa6c
[PR #9659/06df717b backport][stable-10] lxd_connection: Allow non-root users to connect to an instance (#9751)
lxd_connection: Allow non-root users to connect to an instance (#9659)

* fix: add support for non-root user

* fix: show correct info for connection

* fix: use build_exec_command to execute as nonroot

* unset default user

* feat: add options for setting remote user and become method

* fix: add root as default remote_user

* fix: remove ansible_ssh_user from remote_user vars

* fix: use single quotes inside f-string

* fix: ensure lxc exec comes first

* fix: line length

* fix: use -c flag with su

* Update plugins/connection/lxd.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/connection/lxd.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/connection/lxd.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* doc: add changelog fragment

* fix: use underscore for module name in fragment

* Update 9659-lxd_connection-nonroot-user.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix: add put command

* feat: add get_remote_uid_gid placeholder function

* feat: complete placeholder _get_remote_uid_gid function

* fix: better logging

* fix: ensure default values are of type str

* fix: use ints for uid and gid

* fix: print put command

* fix: format

* fix: display msg for PUT

* fix: add comment about defaults

* fix: format

* fix: use os module to get uid and gid

* Revert "fix: use os module to get uid and gid"

This reverts commit bb2ba14b8f.

* Update plugins/connection/lxd.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix: omit uid, gid args in lxd file push if root

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 06df717bc6)

Co-authored-by: Peter Siegel <33677897+yeetypete@users.noreply.github.com>
2025-02-15 13:41:24 +01:00
patchback[bot]
fa846e9677
[PR #9727/910c57aa backport][stable-10] keycloak: repair integration tests by removing jinja2 templating from conditionals (#9726) (#9748)
keycloak: repair integration tests by removing jinja2 templating from conditionals (#9726) (#9727)

* fix: remove jinja2 templating from conditionals in keycloak_role module integration tests (#9726)

* fix: remove jinja2 templating in conditional in keycloak clientsecret info integration test (#9726)

This test needs a further fix; see #9744. Left for a future PR for now.

* fix: remove jinja2 templating in conditional in keycloak clientsecret regenerate integration test (#9726)

* chore: remove jinja2 templating in conditional in keycloak user federation integration test (#9726)

These instances of templating were not causing failures,
but this removes the warnings.

* chore: remove jinja2 templating in conditional in keycloak user rolemapping integration test (#9726)

These instances of templating were not causing failures,
but this removes the warnings.

* docs: add changelog fragment (#9726)

* docs: repair changelog fragment yaml (#9726)

* docs: actually repair changelog fragment yaml (#9726)

* chore: remove changelog fragment for test only pr (#9726)

(cherry picked from commit 910c57aaa0)

Co-authored-by: Mark Armstrong <markparmstrong@gmail.com>
2025-02-15 12:31:44 +01:00
patchback[bot]
db62a36d6e
[PR #9676/9d0bd1d4 backport][stable-10] Test helper guide (#9749)
Test helper guide (#9676)

(cherry picked from commit 9d0bd1d4d9)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-15 12:30:54 +01:00
patchback[bot]
e3dae0b646
[PR #9736/8e324881 backport][stable-10] rename test helper (#9745)
rename test helper (#9736)

* rename test helper

* update ignore lines

(cherry picked from commit 8e324881a6)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-15 08:25:27 +01:00
patchback[bot]
9aaf8e4825
[PR #9733/085bcb22 backport][stable-10] profitbricks: deprecation (#9740)
profitbricks: deprecation (#9733)

* profitbricks: deprecation

* add changelog frag

(cherry picked from commit 085bcb22a2)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-13 20:39:51 +01:00
patchback[bot]
cf0a233d7b
[PR #9729/7af5e158 backport][stable-10] Add FullPowerCycle to Power commands (#9730)
Add `FullPowerCycle` to Power commands (#9729)

* Add `FullPowerCycle` to Power commands

* Add changelog fragment

* Rename command

* Fix line length for redfish_command options

(cherry picked from commit 7af5e158b8)

Co-authored-by: Scott Seekamp <sseekamp@coreweave.com>
2025-02-11 22:23:51 +01:00
patchback[bot]
cebd5bb3c8
[PR #9651/fdd1331e backport][stable-10] Implement #9650 Add parameter hooks to inventory plugin iocage (#9731)
Implement #9650 Add parameter hooks to inventory plugin iocage (#9651)

* Add parameter hooks to inventory plugin iocage.

* Add changelog fragment.

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Parameter renamed to hooks_results

* Fix DOCUMENTATION YAML 4-space indentation.

* Fix DOCUMENTATION YAML 2-space indentation.

* Update changelogs/fragments/9651-iocage-inventory-hooks.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add note about activated pool mountpoint.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit fdd1331e4a)

Co-authored-by: Vladimir Botka <vbotka@gmail.com>
2025-02-11 22:23:42 +01:00
patchback[bot]
d452e903f8
[PR #9722/d756aeb6 backport][stable-10] CI: Cleanup AZP config similarly to ansible-core did some years ago (#9725)
CI: Cleanup AZP config similarly to ansible-core did some years ago (#9722)

Cleanup AZP config similarly to ansible-core did some years ago.

(cherry picked from commit d756aeb6ce)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-10 23:14:00 +01:00
patchback[bot]
c76ef6ba99
[PR #9694/d5add1ed backport][stable-10] ipa_host: Maintain the host certificates (#9721)
ipa_host: Maintain the host certificates (#9694)

* ipa_host: Maintain the host certificates

Fix #9693

* Add changelog fragment

* Fix changelog message

* Fix changelog message again

(cherry picked from commit d5add1ed9f)

Co-authored-by: sedrubal <sedrubal@users.noreply.github.com>
2025-02-10 22:08:17 +01:00
patchback[bot]
52bd7cdb2d
[PR #6264/1f92a699 backport][stable-10] zfs: fix multi-line value in user-defined property (#9718)
zfs: fix multi-line value in user-defined property (#6264)

* zfs: fix multi-line value in user-defined property

* zfs: fix multi-line value in user-defined property

* Update changelogs/fragments/6264-zfs-multiline-property-value.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/zfs.py

Co-authored-by: sam-lunt <samuel.j.lunt@gmail.com>

* rename self.properties -> self.extra_zfs_properties

---------

Co-authored-by: Vita Batrla <vita.batrla@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: sam-lunt <samuel.j.lunt@gmail.com>
(cherry picked from commit 1f92a69992)

Co-authored-by: Vita Batrla <34657903+batrla@users.noreply.github.com>
2025-02-10 22:05:04 +01:00
patchback[bot]
da3ba1e7be
[PR #9698/1beee879 backport][stable-10] lvg: Add parameter to disable removal of extra physical volumes (#9717)
lvg: Add parameter to disable removal of extra physical volumes (#9698)

* Add parameter to disable removal of extra physical volumes

Signed-off-by: Massl123 <Massl123@users.noreply.github.com>

* Set PR number in changelog fragment

Signed-off-by: Massl123 <Massl123@users.noreply.github.com>

* Fix tests

Signed-off-by: Massl123 <Massl123@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add comment in pvs

Signed-off-by: Massl123 <Massl123@users.noreply.github.com>

---------

Signed-off-by: Massl123 <Massl123@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1beee87961)

Co-authored-by: Marcel Freundl <Massl123@users.noreply.github.com>
2025-02-10 22:04:51 +01:00
patchback[bot]
cb46453b78
[PR #9697/165106d2 backport][stable-10] zfs_facts: set parameter "type" as a list (#9716)
zfs_facts: set parameter "type" as a list (#9697)

* zfs_facts: set parameter "type" as a list

Plus minor readability improvements

* add changelog frag

* Update plugins/modules/zfs_facts.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 165106d2bd)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-10 22:04:41 +01:00
patchback[bot]
a784e66a2c
[PR #9658/a842a268 backport][stable-10] Update nmcli.py to support VRF commands (#9715)
Update nmcli.py to support VRF commands (#9658)

Adding VRF support and documentation to the nmcli module

Signed-off-by: Andreas Karis <ak.karis@gmail.com>
(cherry picked from commit a842a26849)

Co-authored-by: Andreas Karis <akaris@redhat.com>
2025-02-10 22:04:32 +01:00
patchback[bot]
52cc1881d8
[PR #9625/4e0de41a backport][stable-10] onepassword_doc: fix 1Password Connect support (#9719)
onepassword_doc: fix 1Password Connect support (#9625)

Fix 1Password Connect support for onepassword_doc.

(cherry picked from commit 4e0de41a85)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-10 22:04:24 +01:00
Felix Fontein
5c7076e0bc The next expected release will be 10.4.0. 2025-02-10 21:49:34 +01:00
Felix Fontein
fc752f3143 Release 10.3.1. 2025-02-10 21:23:52 +01:00
Felix Fontein
4637c265fa Prepare 10.3.1 release. 2025-02-10 20:05:52 +01:00
patchback[bot]
33e980039b
[PR #9665/75ffae43 backport][stable-10] More resilient brew formulae name handling (#9714)
More resilient brew formulae name handling (#9665)

* Remove update_homebrew=False (it's the default)

* Fix handling of irregular cases (brew does lowercase normalization)

* Fix handling of tap with no public fallback

* Add changelog fragment

* Add missing cleanup step

* Fix typo

* Check re-install and re-uninstall too

(cherry picked from commit 75ffae43e6)

Co-authored-by: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>
2025-02-10 19:18:00 +01:00
patchback[bot]
e49775765d
[PR #9695/191a4d8f backport][stable-10] xml: ensure the stream object is closed in main() (#9712)
xml: ensure the stream object is closed in main() (#9695)

* ensure the stream object is closed in main()

* add changelog frag

* Update plugins/modules/xml.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/xml.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 191a4d8f63)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-09 14:27:17 +01:00
patchback[bot]
c2590cfcd8
[PR #9705/efe0c464 backport][stable-10] Disable failing copr tests (#9709)
Disable failing copr tests (#9705)

Disable failing copr tests.

(cherry picked from commit efe0c464ff)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-09 12:44:53 +01:00
Felix Fontein
4282b6ed16 Fix typo.
(cherry picked from commit d6943c9838)
2025-02-09 08:10:54 +01:00
patchback[bot]
3c77c8ec3c
[PR #9691/41caa9a2 backport][stable-10] keycloak module utils replace missing return in get_role_composites (#9703)
keycloak module utils replace missing return in `get_role_composites` (#9691)

* fix: replace missing return (#9678)

* chore: add changelog fragment (#9678)

* chore: update changelog fragment (#9678)

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 41caa9a22c)

Co-authored-by: Mark Armstrong <markparmstrong@gmail.com>
2025-02-08 21:46:52 +01:00
patchback[bot]
07e4e4a782
[PR #9699/10c15d31 backport][stable-10] filesystem tests: reiserfsprogs is no longer available on Arch Linux (#9702)
filesystem tests: reiserfsprogs is no longer available on Arch Linux (#9699)

reiserfsprogs is no longer available on Arch Linux.

(cherry picked from commit 10c15d31f7)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-08 20:25:41 +01:00
patchback[bot]
d881a59ed7
[PR #9686/0b4337c1 backport][stable-10] Also disable snap_alias tests for RHEL 8.8 (#9689)
Also disable snap_alias tests for RHEL 8.8 (#9686)

Also disable snap_alias tests for RHEL 8.8.

(cherry picked from commit 0b4337c13d)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-04 22:29:25 +01:00
patchback[bot]
338328341e
[PR #9679/54eec2cb backport][stable-10] Disable snap tests on RHEL 8.8 (#9682)
Disable snap tests on RHEL 8.8 (#9679)

Disable snap tests on RHEL 8.8.

(cherry picked from commit 54eec2cb09)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-02-03 10:56:51 +01:00
patchback[bot]
6e48528b22
[PR #9675/4a31c753 backport][stable-10] test helper: remove magically finding the testcasemock in the test module (#9677)
test helper: remove magically finding the testcasemock in the test module (#9675)

(cherry picked from commit 4a31c753e7)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-03 07:03:39 +01:00
patchback[bot]
f545c300d9
[PR #9672/7a6125b9 backport][stable-10] test helper: improvements (#9673)
test helper: improvements (#9672)

(cherry picked from commit 7a6125b99a)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-02 10:50:11 +01:00
patchback[bot]
df496e37c0
[PR #9644/250dc113 backport][stable-10] Fb keycloak client improvement (#9671)
Fb keycloak client improvement (#9644)

* Fix for failed test

TASK [keycloak_client : Assert changes not detected in last two tasks (desire when same, and check)] ***
task path: /root/ansible_collections/community/general/tests/output/.tmp/integration/keycloak_client-p3ttqf7d-ÅÑŚÌβŁÈ/tests/integration/targets/keycloak_client/tasks/main.yml:79
fatal: [testhost]: FAILED! => {
    "assertion": "check_client_when_present_and_same is not changed",
    "changed": false,
    "evaluated_to": false,
    "msg": "Assertion failed"
}

* Improved test data to test more scenarios, e.g documentation uses True in examples

* Normalize values in config

* add changelog

* Apply suggestions from code review

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update tests/integration/targets/keycloak_client/vars/main.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update changelogs/fragments/9644-kc_client-test-improvement-and-fix.yaml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 250dc1139c)

Co-authored-by: amPrimeSign <146177975+amPrimeSign@users.noreply.github.com>
2025-02-01 22:46:14 +01:00
patchback[bot]
c35f13084d
[PR #9666/c0f57b5c backport][stable-10] test helper: add support for check and diff modes (#9669)
test helper: add support for check and diff modes (#9666)

(cherry picked from commit c0f57b5c62)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-01 18:49:35 +01:00
patchback[bot]
4d4e626f95
[PR #9664/439da9e6 backport][stable-10] test helper unit tests: reformat YAML files (#9667)
test helper unit tests: reformat YAML files (#9664)

(cherry picked from commit 439da9e6da)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-01 17:01:24 +01:00
patchback[bot]
faa913d566
[PR #9176/47637cde backport][stable-10] locale_gen: add testcase for de_CH.utf8 (#9668)
locale_gen: add testcase for de_CH.utf8 (#9176)

(cherry picked from commit 47637cdec7)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-01 17:00:26 +01:00
patchback[bot]
7e4a39964e
[PR #9662/4d384bd7 backport][stable-10] test helper: fix parameter passing in creation static method (#9663)
test helper: fix parameter passing in creation static method (#9662)

(cherry picked from commit 4d384bd74a)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-02-01 15:01:57 +01:00
patchback[bot]
c6aecd18f4
[PR #9660/5f157aac backport][stable-10] lvol: fix the force parameter's description (#9661)
lvol: fix the force parameter's description (#9660)

(cherry picked from commit 5f157aac15)

Co-authored-by: Conner Crosby <cavcrosby@gmail.com>
2025-02-01 15:01:45 +01:00
patchback[bot]
c5bdb1501e
[PR #9649/19d00496 backport][stable-10] cloudflare_dns: fix crash when deleting a DNS record or when updating a record with solo=true (#9655)
cloudflare_dns: fix crash when deleting a DNS record or when updating a record with solo=true (#9649)

* cloudflare_dns: fix crash when deleting a DNS record or when updating a record with solo=true

On 2025-01-27, Cloudflare removed the 'zone_id' field from the DNS record API responses. This caused a KeyError in the delete_dns_records method, which previously relied on rr['zone_id'].

This commit ensures the zone ID is retrieved via _get_zone_id() rather than using the no-longer-provided 'zone_id' field in the record response.

Reference: https://developers.cloudflare.com/dns/changelog/#2025-01-27

* Add changelog fragment

* Update changelogs/fragments/9649-cloudflare_dns-fix-crash-when-deleting-record.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9649-cloudflare_dns-fix-crash-when-deleting-record.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 19d0049698)

Co-authored-by: valievkarim <valievkarim@gmail.com>
2025-01-31 10:57:23 +01:00
patchback[bot]
163bfd0f37
[PR #9645/37a9413a backport][stable-10] proxmox: fix pubkey translation and usage in update (#9648)
proxmox: fix pubkey translation and usage in update (#9645)

* proxmox: fix: pubkey translation and usage in update

* proxmox fix: add changelog

* proxmox: fix backticks in changelog

(cherry picked from commit 37a9413a80)

Co-authored-by: JL Euler <Lithimlin@users.noreply.github.com>
2025-01-29 20:42:19 +01:00
patchback[bot]
0331798f84
[PR #9633/8749da77 backport][stable-10] onepassword_ssh_key: avoid inheriting from OnePassCLIv2 (#9639)
onepassword_ssh_key: avoid inheriting from OnePassCLIv2 (#9633)

* Avoid inheriting from OnePassCLIv2.

* Add changelog fragment.

(cherry picked from commit 8749da7756)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-01-27 07:27:43 +01:00
Felix Fontein
2c7940c5de Fix classification of changelog fragment. 2025-01-27 07:06:49 +01:00
Felix Fontein
4ef5c3c11a The next expected release will be 10.4.0. 2025-01-27 07:03:31 +01:00
Felix Fontein
7468bf30f2 Release 10.3.0. 2025-01-27 06:28:21 +01:00
patchback[bot]
b4e7b7cb50
[PR #9623/03dfed4c backport][stable-10] pipx: use global in state=latest (#9638)
pipx: use global in state=latest (#9623)

* pipx: use global in state=latest

* add changelog frag

(cherry picked from commit 03dfed4c35)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-27 05:50:41 +01:00
patchback[bot]
666db05eda
[PR #9170/bf6ae7bf backport][stable-10] pipx: add testcase for upgrade --global (#9637)
pipx: add testcase for upgrade --global (#9170)

(cherry picked from commit bf6ae7bf59)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-27 05:39:21 +01:00
patchback[bot]
e255e5ed0c
[PR #9437/96f465dd backport][stable-10] Add module proxmox_backup_info (#9635)
Add module proxmox_backup_info  (#9437)

* Create proxmox_backup_info.py

The `proxmox_backup_info` module displays information such as backup times, VM name, VM ID, mode, backup type, and backup schedule using the Proxmox Server API.

* Create test_proxmox_backup_info.py

create test for proxmox_backup_info.py module

* Update plugins/modules/proxmox_backup_info.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* check tests proxmox_backup_info.py

* check tests test_proxmox_backup_info.py

* Update check tests test_proxmox_backup_info.py

* Update check tests proxmox_backup_info.py

* Update authors proxmox_backup_info.py

* Update active maintainers for proxmox_backup_info module

* Update add proxmox_backup_info module in proxmox group

* edit timestamp to UTC test_proxmox_backup_info.py

* Update vm name or vmid to VM name or VM id proxmox_backup_info.py

* update  documentation in proxmox_backup_info.py

* Update backup_section decription in proxmox_backup_info.py

* Update plugins/modules/proxmox_backup_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* change backup_section to backup_jobs

* change backup_section to backup_jobs

* remove whitespace in line 35 and 36

* improve descriptions

* check again proxmox_backup_info.py module

* change vmid type and some descriptions proxmox_backup_info.py

* delete comment #if ...

* solve trailing whitespace error

* Update the name of the functions

* Update proxmox_backup_info.py

* Update proxmox_backup_info.py

* Update tests/unit/plugins/modules/test_proxmox_backup_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update test_proxmox_backup_info.py

* Update runtime.yml

* add proxmox_backup_schedule module in runtime.yml

* add proxmox_backup_schedule.py module in BOTMETA.yml

* remove proxmox_backup_schedule module runtime.yml

* remove proxmox_backup_schedule.py module in BOTMETA.yml

* change some id to ID proxmox_backup_info.py

* Update proxmox_backup_info.py

* remove required: falsefrom documentations

* change vimd values to str format

* add samples to output documentations

* the exact output of vimd in endpoint of proxmox resoures is like int

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: mmayabi <137920552+mmayabi@users.noreply.github.com>
(cherry picked from commit 96f465ddf8)

Co-authored-by: raoufnezhad <72685312+raoufnezhad@users.noreply.github.com>
2025-01-26 21:39:05 +01:00
patchback[bot]
f79aa6f63f
[PR #9225/d71ba0fa backport][stable-10] Proxmox module refactoring (#9634)
Proxmox module refactoring (#9225)

* proxmox: Refactor

This is a squash of the following commits for easier rebasing:

proxmox module_utils: make use of choose_first_if_multiple in get_vm

proxmox: refactor module

proxmox: add changelog

proxmox: fix deprecation message

proxmox: remove type hints

proxmox: remove spaces for keywords

proxmox: run formatter

proxmox: make compabtible with old python versions

proxmox: remove f-strings

proxmox: fix string formatting in build_volume

proxmox: revert disk size parameter to simple integer

proxmox: update changelog fragment

proxmox: fix argument spec

proxmox: fix size handling in build_volume

proxmox: fix formatting

proxmox: update changelog fragment

* proxmox: Fix changelog fragment, doc, and deprecation string formatting.

* proxmox: Fix formatting in imports

* proxmox: require one of `vmid` or `hostname`, simplify checks

* proxmox: apply check for supported features to entire module

* proxmox: move parameter conversions inside create and update functions

(cherry picked from commit d71ba0fae8)

Co-authored-by: JL Euler <Lithimlin@users.noreply.github.com>
2025-01-26 16:12:40 +01:00
patchback[bot]
da040cb412
[PR #9494/af011827 backport][stable-10] Keycloak modules retry request on authentication error, support refresh token parameter (#9631)
Keycloak modules retry request on authentication error, support refresh token parameter (#9494)

* feat: begin refactor to support refresh token in keycloak modules

* chore: add start of tests for shared token usage

* feat: progress towards supporting refresh token; token introspection not yet working [8857]

* chore: reset to main branch previous state; a different approach is needed [8857]

* feat: add request methods to keycloak class, which will be expanded with retry logic [8857]

* feat: all requests to keycloak use request methods instead of open_url [8857]

* fix: data argument is optional in keycloak request methods [8857]

* feat: add integration test for keycloak module authentication methods [8857]

* chore: refactor get token logic to separate logic using username/pass credentials [8857]

* chore: refactor token request logic further to isolate request logic [8857]

* chore: fix minor lint issues [8857]

* test: add (currently failing) test for request with invalid auth token, valid refresh token [8857]

* chore: allow realm to be provided to role module with refresh_token, without username/pass [8857]

* feat: add retry logic to requests in keycloak module utils [8857]

* chore: rename keycloak module fail_open_url method to fail_request [8857]

* chore: update all keycloak modules to support refresh token param [8857]

* chore: add refresh_token param to keycloak doc_fragments [8857]

* chore: restore dependency between auth_realm and auth_username,auth_password params [8857]

* chore: rearrange module param checks to reduce future pr size [8857]

* chore: remove extra comma [8857]

* chore: update version added for refresh token param [8857]

* chore: add changelog fragment [8857]

* chore: re-add fail_open_url to keycloak module utils for backward compatability [8857]

* fix: do not make a new request to keycloak without reauth when refresh token not provided (#8857)

* fix: only make final auth attempt if username/pass provided, and return exception on failure (#8857)

* fix: make re-auth and retry code more consistent, ensure final exceptions are thrown (#8857)

* test: fix arguments for invalid token, valid refresh token test (#8857)

* feat: catch invalid refresh token errors during re-auth attempt (#8857)

Add test to verify this behaviour works.

* test: improve test coverage, including some unhappy path tests for authentication failures (#8857)

* chore: store auth errors from token request in backwards compatible way (#8857)

* fix: ensure method is still specified for all requests (#8857)

* chore: simplify token request logic (#8857)

* chore: rename functions to request tokens using refresh token or username/password (#8857)

To emphasize their difference from the `get_token` function,
which either gets the token from the module params
*or* makes a request for it.

* doc: add docstrings for new or significantly modified functions (#8857)

* test: repair unit test following change to exception message upon key error during auth request (#8857)

(cherry picked from commit af0118278b)

Co-authored-by: Mark Armstrong <markparmstrong@gmail.com>
2025-01-26 15:43:41 +01:00
patchback[bot]
04b68c296b
[PR #9580/25a262bd backport][stable-10] Create onepassword_ssh_key plugin (#9632)
Create `onepassword_ssh_key` plugin (#9580)

* add 1password_ssh_key lookup

* refactor

* Delete onepassword_ssh_key.py

* Revert "Delete onepassword_ssh_key.py"

This reverts commit e17ff7e232.

* Delete onepassword_ssh_key.py

* add tests

* add test license

* cleanup

* refactor

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix indentation

* fix RETURN indentation

* use get_option to get ssh_format

* linting

* update project year in copyright

* add plugin to BOTMETA.yml

* use OnePassCLIv2's get_raw and use OnePass's token

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 25a262bdcf)

Co-authored-by: Mohammed Babelly <mohammed@nevercode.io>
2025-01-26 15:43:32 +01:00
patchback[bot]
8e2fa624e0
[PR #9621/fb4f7248 backport][stable-10] keycloak_client: sanitize saml.encryption.private.key (#9630)
keycloak_client: sanitize `saml.encryption.private.key` (#9621)

* sanitize saml.encryption.private.key in module output

* add changelog fragment

* Re-categorize changelog fragment.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit fb4f7248c9)

Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
2025-01-26 13:22:56 +01:00
patchback[bot]
c7ac7fbefd
[PR #9602/6d5aa4ae backport][stable-10] allow jira transition with target id (#9626)
allow jira transition with target id (#9602)

* allow jira transition with target id

This is needed, because jira seems to autotranslate the status name

* add changelog fragment

* add newline to changelog fragment

* format according to pep 8

* switch formatting of fragment to LF

* implement suggestions on changelog fragment

* implement changes to module based on suggestions

* add status id as a alternative to status

* implement suggestions and add correct error handling

* fix up mistakes

(cherry picked from commit 6d5aa4ae78)

Co-authored-by: Luiggi33 <github@luiggi33.de>
2025-01-26 13:15:01 +01:00
patchback[bot]
ed6e87c994
[PR #9614/cc331db4 backport][stable-10] apache2-mod-proxy: simplified/improved string manipulation (#9627)
apache2-mod-proxy: simplified/improved string manipulation (#9614)

* apache2-mod-proxy: simplified/improved string manipulation

* add changelog frag

* Update changelogs/fragments/9614-apache2-mod-proxy-revamp7.yml

* remove redundant .keys() call

* remove unneeded str() call

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit cc331db43d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-26 13:14:54 +01:00
patchback[bot]
cc49336090
[PR #9601/b9299e63 backport][stable-10] proxmox_template: Add optional checksum validation (#9624)
proxmox_template: Add optional checksum validation (#9601)

* Adds support for checksums in Proxmox_template.

* Implemented checksum verification

* Removed unintended captilization changes

* further fixing of unintended changes

* removed misspelling

* Final adjustementsto proxmox_template.py

* fixed typo

* fixed a typo in sha512

* add changelog fragment

* fixed type in choices for checksum_algortihm

* fixed file naming error and add relevant links to changelog

* Fix all unintentional refactorings

* refactoring changes removed

* renamed the function verify_checksum to fetch_and_verify for clarity

* Adjusted additions based on feedback

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit b9299e633c)

Co-authored-by: Andrew Bowen <andrewb12505@gmail.com>
2025-01-25 10:32:43 +01:00
patchback[bot]
4b410c5007
[PR #9618/6294f0b7 backport][stable-10] pagerduty_alert: remove redundant required=false (#9622)
pagerduty_alert: remove redundant required=false (#9618)

(cherry picked from commit 6294f0b747)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-24 22:02:23 +01:00
patchback[bot]
13be47c7a6
[PR #9612/f5cbf5ac backport][stable-10] apache2-mod-proxy: use deps to handle dependencies (#9617)
apache2-mod-proxy: use deps to handle dependencies (#9612)

* apache2-mod-proxy: use deps to handle dependencies

* add changelog frag

* fix errors

(cherry picked from commit f5cbf5acc7)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-23 20:47:59 +01:00
patchback[bot]
94903785d0
[PR #9609/bf5c7f8b backport][stable-10] apache2-mod-proxy: better handling regexp extraction (#9616)
apache2-mod-proxy: better handling regexp extraction (#9609)

* apache2-mod-proxy: better handling regexp extraction

* add changelog frag

(cherry picked from commit bf5c7f8be8)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-23 20:40:33 +01:00
patchback[bot]
20e394fd3d
[PR #9613/a5d2e3ec backport][stable-10] apache2-mod-proxy: reformatted YAML blocks (#9615)
apache2-mod-proxy: reformatted YAML blocks (#9613)

(cherry picked from commit a5d2e3ec80)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-23 20:28:36 +01:00
patchback[bot]
17157cdfb5
[PR #9600/a4562bce backport][stable-10] apache2-mod-proxy: make state option a list (#9611)
apache2-mod-proxy: make state option a list (#9600)

* apache2-mod-proxy: make state option a list

* add changelog frag

* Update plugins/modules/apache2_mod_proxy.py

* Update changelogs/fragments/9600-apache2-mod-proxy-revamp2.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit a4562bced4)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-23 20:10:51 +01:00
patchback[bot]
769b22cd4c
[PR #9608/d7f067dd backport][stable-10] apache2-mod-proxy: receive results from fetch_url as tuple of vars (#9610)
apache2-mod-proxy: receive results from fetch_url as tuple of vars (#9608)

* apache2-mod-proxy: receive results from fetch_url as tuple of vars

* add changelog frag

(cherry picked from commit d7f067dd28)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-23 20:10:42 +01:00
patchback[bot]
dbd19a5583
[PR #9573/8f299761 backport][stable-10] Implement #9572 Add parameter sudo to inventory plugin iocage (#9605)
Implement #9572 Add parameter sudo to inventory plugin iocage (#9573)

* Add parameter sudo to inventory plugin iocage #9572

* Add changelog fragment.

* Fix error: Expected string in description of sudo.

* Fix No2 error: Expected string in description of sudo.

* Fix documentation type bool

* Update changelogs/fragments/9573-iocage-inventory-sudo.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Add option sudo_preserve_env default=true

* Fix DOCUMENTATION.

* Set sudo_preserve_env default=false.

* Update changelogs/fragments/9573-iocage-inventory-sudo.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 8f29976102)

Co-authored-by: Vladimir Botka <vbotka@gmail.com>
2025-01-22 20:51:37 +01:00
patchback[bot]
45f7661249
[PR #9598/f27d5e7a backport][stable-10] snap: add RV version (#9606)
snap: add RV version (#9598)

* snap: add RV version

* add chglog frag

* fix typo

* fix docs

* add missing import

* fix sanity

* more fixes

* Update plugins/modules/snap.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/snap_alias.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit f27d5e7a42)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-22 20:51:27 +01:00
patchback[bot]
ed472d8291
[PR #9599/1c0b487b backport][stable-10] apache2-mod-proxy: refactor BalancerMember serialization (#9607)
apache2-mod-proxy: refactor BalancerMember serialization (#9599)

* apache2-mod-proxy: refactor BalancerMember serialization

* add changelog frag

(cherry picked from commit 1c0b487b41)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-22 20:51:20 +01:00
patchback[bot]
c72d8d4b56
[PR #9565/f5c1b9c7 backport][stable-10] add json_patch, json_patch_recipe and json_diff filters (#9597)
add json_patch, json_patch_recipe and json_diff filters (#9565)

* add json_patch, json_patch_recipe and json_diff filters

* fix copyright notices

* fix documentation

* fix docs, add maintainer

* fix review remarks

* add integration test

* fix docs (positional)

* add input validation

* formatting fixes

* more typing tweaks

* documentation fix

* fix review comments

* simplicfy input checking

* accept bytes and bytearray input

* add the fail_test argument

* fix docs format

* fix typing hints

* remove unneeded __future__ imports

(cherry picked from commit f5c1b9c70f)

Co-authored-by: Stanislav Meduna <stano@meduna.org>
2025-01-21 21:04:41 +01:00
patchback[bot]
e9b58cfc09
[PR #9579/0de39a6f backport][stable-10] use open() as context manager (#9596)
use open() as context manager (#9579)

* use open() as context manager

* add changelog frag

(cherry picked from commit 0de39a6f47)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-21 21:04:28 +01:00
patchback[bot]
98d25a3e4d
[PR #9582/c5cc9494 backport][stable-10] ufw: added support for vrrp protocol (#9595)
ufw: added support for vrrp protocol (#9582)

* ufw: added support for vrrp protocol

* Add changelog fragment for (#9582)

* ufw: Add support for vrrp

Co-authored-by: Felix Fontein <felix@fontein.de>

* ufw: Add support for vrrp

Co-authored-by: Felix Fontein <felix@fontein.de>

* ufw: Add support for vrrp

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit c5cc949492)

Co-authored-by: Andrew Bowen <andrewb12505@gmail.com>
2025-01-21 21:04:19 +01:00
patchback[bot]
7a000108af
[PR #9571/d6863eae backport][stable-10] feat(nmcli): support the fail_over_mac parameter (#9594)
feat(nmcli): support the fail_over_mac parameter (#9571)

* feat(nmcli): support the fail_over_mac parameter

* add fail_over_mac to +bond.options

* update unit tests

* Update changelogs/fragments/9570-feat-nmcli-add-fail-over-mac-parameter.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nmcli.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* change to type str and add choices according to documentation

* Update plugins/modules/nmcli.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d6863eaec3)

Co-authored-by: cnfrancis <37379852+cnfrancis@users.noreply.github.com>
2025-01-21 21:04:10 +01:00
patchback[bot]
a8a1c0af2a
[PR #9583/81e22180 backport][stable-10] action/become/cache/callback: adjust import __future__ for Python3 (#9586)
action/become/cache/callback: adjust import __future__ for Python3 (#9583)

* action/become/cache/callback: adjust import __future__ for Python3

* add changelog frag

* remove metaclass

* adjust chglog

* adjust chglog

(cherry picked from commit 81e22180d1)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-20 20:15:52 +01:00
patchback[bot]
c394fbe8e9
[PR #9577/7fa859a3 backport][stable-10] module helper: delegate debug() to AnsibleModule (#9591)
module helper: delegate debug() to AnsibleModule (#9577)

* module helper: delegate debug() to AnsibleModule

* add changelog frag

* add comments for future

* use deprecate()

* fix errors

(cherry picked from commit 7fa859a3b8)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-20 20:03:59 +01:00
patchback[bot]
fed5965518
[PR #9585/b85d36a0 backport][stable-10] filter plugins: adjust import __future__ for Python3, remove __metaclass__ (#9588)
filter plugins: adjust import __future__ for Python3, remove __metaclass__ (#9585)

* filter plugins: adjust import __future__ for Python3, remove __metaclass__

* rollback chg in test file

* add changelog frag

(cherry picked from commit b85d36a01f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-20 20:00:22 +01:00
patchback[bot]
1e0a2a72f7
[PR #9584/bd864c45 backport][stable-10] connection/inventory: adjust import __future__ for Python3 (#9587)
connection/inventory: adjust import __future__ for Python3 (#9584)

* connection/inventory: adjust import __future__ for Python3

* add changelog frag

* remove metaclass

* adjust chglog

(cherry picked from commit bd864c45ff)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-20 19:47:33 +01:00
patchback[bot]
add595e121
[PR #9578/bcc92e8a backport][stable-10] redhat_subscription: stop manual unsubscribing on unregistration (#9590)
redhat_subscription: stop manual unsubscribing on unregistration (#9578)

Unregistering a system also drops all the resources for it
automatically, so there is no need to manually unsubscribing (which
actually means removing all the subscriptions).

In addition to that, newer versions of subscription-manager drop all the
support for entitlements, so the "remove" subcommand (used by
unsubscribe()) does not exist anymore, and thus the unregistration fails
with those versions.

This fixes the registration on EL 10 systems, and Fedora 41 and greater.

(cherry picked from commit bcc92e8aac)

Co-authored-by: Pino Toscano <ptoscano@redhat.com>
2025-01-20 19:47:22 +01:00
Felix Fontein
4476a4bb1c Prepare 10.3.0. 2025-01-18 17:15:19 +01:00
patchback[bot]
f104fe3a58
[PR #8424/cee62a40 backport][stable-10] Proxmox remote pct connection (#9581)
Proxmox remote pct connection (#8424)

* First Revision (squashed)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Second Revision (squashed)

* implement data_in

* Removed quot()
There is no need for quoting, exec_command gets the command already quoted with shell from Ansible

* Use shell from self._shell

* Improved error handling

* updated docs

* Use Int for Container ID

* Updated docs to include detailed description for non root usage

* Fix ansible_user var in example

* Fix become method
We need to differentiate between become method used in Proxmox and the one inside the container.

* Implement review findings
- f-Strings
- lower() when input
- yaml indent
- consistent quotes
- use to_text()
- Enhanced examples
- Ansibullbot findings

* remove ssh cache

* Ensure we delete the tempfile

* use octal mode

* Use FileLock().lock_file

* ansibullbot findings

* refactor _connect()

* Update plugins/connection/pct_remote.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* renamed plugin to proxmox_pct_remote

* Use ansible.builtin.ping as example

* added unit tests

* fixed bugs in close()

* catch invalid host key

* test invalid host key

* Added integration test

* cleanup

* setup test via ansible

* Revised notes based on review feedback

* Review findings
Co-authored-by: Felix Fontein <felix@fontein.de>

* gather_facts hint in example

* Update tests/integration/targets/connection_proxmox_pct_remote/aliases

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix FreeBSD, deactivate macOS

* Test and Fix: Hang on copy with empty content

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit cee62a4069)

Co-authored-by: Nils <31704359+mietzen@users.noreply.github.com>
2025-01-18 16:43:09 +01:00
patchback[bot]
1bc052ae6b
[PR #9547/c823e37d backport][stable-10] add filter support for one_template module (#9575)
add filter support for one_template module (#9547)

apply suggestion from code review
add one_template filter changelog fragment
rewrote filter flag to use string instead of int
renamed flag to option in changelog
added PR link to changelog fragment

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit c823e37d00)

Co-authored-by: Simon <simon.kropf@protonmail.com>
2025-01-15 20:56:55 +01:00
patchback[bot]
6260d5f873
[PR #9555/e2d19a96 backport][stable-10] Add cpanm option --with-recommends (#9574)
Add cpanm option --with-recommends (#9555)

* Add cpanm option --with-recommands

Fix #9554

* With accepted suggestions

* Use install_recommendations for cpanm option --with-recommends

* Fix typo in changelogs/fragments/9554

recommands -> recommends

* Doc for options users have for recommands and suggests dependencies

* Add new args to the command runner.

* Add test for cpanm --with-recommends

(cherry picked from commit e2d19a968b)

Co-authored-by: Erwan Colin <zephone@protonmail.com>
2025-01-15 20:56:44 +01:00
patchback[bot]
6907ae5a5e
[PR #9539/94d5256a backport][stable-10] Fix #9538 Inventory iocage fails when DHCP is enabled (#9568)
Fix #9538  Inventory iocage fails when DHCP is enabled (#9539)

* Fix #9538  Inventory iocage fails when DHCP is enbled.

* Add changelog fragment 9539-iocage-inventory-dhcp.yml

* Keep iocage_ip4 a string.

* Rename the variable iocage_ip4 to iocage_ip4_dict in _parse_ip4.

* Update the changelog fragment.

* Rename _parse_ip4 parameter ip4_addr to ip4.

* Fix changelog frangment present tense.

* If IP is not available set iocage_ip4='-' instead of the empty string.

* Update changelogs/fragments/9539-iocage-inventory-dhcp.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 94d5256adb)

Co-authored-by: Vladimir Botka <vbotka@gmail.com>
2025-01-13 18:28:24 +01:00
patchback[bot]
2314db59c7
[PR #9546/114deae3 backport][stable-10] Fix homebrew tap name handling (#9569)
Fix homebrew tap name handling (#9546)

* Add failing test

* Use fully qualified names

* Add changelog fragment

* Remove unnecessary initial cleanup

* Fix tests/integration/targets/homebrew/tasks/formulae.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 114deae3e4)

Co-authored-by: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>
2025-01-13 18:28:13 +01:00
patchback[bot]
e32515889b
[PR #9526/d325cfc3 backport][stable-10] o*: style adjustments (#9566)
o*: style adjustments (#9526)

* o*: style adjustments

* apply recommendations from review

* Update plugins/modules/one_vm.py

* fix example

* adjustment from review

* Update plugins/modules/one_vm.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d325cfc343)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-12 12:13:38 +00:00
patchback[bot]
7542b5429b
[PR #9563/3dcac2b0 backport][stable-10] test helper: adjusted unit tests using new features (#9564)
test helper: adjusted unit tests using new features (#9563)

(cherry picked from commit 3dcac2b030)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-12 10:12:02 +01:00
patchback[bot]
18afa4e8b0
[PR #9524/568fcea1 backport][stable-10] pr*: style adjustments (#9560)
pr*: style adjustments (#9524)

* pr*: style adjustments

* revert removal of "null"

* Update plugins/modules/redfish_command.py

* Update plugins/modules/redhat_subscription.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 568fcea15e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-08 21:40:36 +01:00
patchback[bot]
b23d011582
[PR #9551/3f7ea607 backport][stable-10] Use multiple YAML documents for inventory plugin examples (#9559)
Use multiple YAML documents for inventory plugin examples (#9551)

* Use multiple YAML documents for inventory plugin examples.

* Add ignore.txt entries.

* Delete no longer needed ignore.txt files.

* Fix typo.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 3f7ea60766)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-01-08 20:34:06 +01:00
patchback[bot]
8b56b6dfea
[PR #9552/bf69dc46 backport][stable-10] CI: Add Fedora 41, Alpine 3.21, RHEL 9.5, FreeBSD 14.2 to CI for devel (#9558)
CI: Add Fedora 41, Alpine 3.21, RHEL 9.5, FreeBSD 14.2 to CI for devel (#9552)

* Add Fedora 41, Alpine 3.21, RHEL 9.5, FreeBSD 14.2 to CI for devel.

* Add some ignores that are likely needed.

* Try to fix/ignore various errors.

* Fix redis setup on Fedora 41.

* Undo disable yum_versionlock since it's already globally disabled.

(cherry picked from commit bf69dc46ff)

Co-authored-by: Felix Fontein <felix@fontein.de>
2025-01-08 19:32:06 +01:00
patchback[bot]
c2a90c215f
[PR #9542/81ea9f69 backport][stable-10] Add hkariti to notifications ignore list (#9550)
Add hkariti to notifications ignore list (#9542)

* Add hkariti to notifications ignore list

* Update .github/BOTMETA.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 81ea9f69bf)

Co-authored-by: Hagai Kariti <hkariti@gmail.com>
2025-01-07 19:09:01 +01:00
patchback[bot]
39a66a3196
[PR #9535/3af793c2 backport][stable-10] plugins (become, callback, filter): style adjustments (#9545)
plugins (become, callback, filter): style adjustments (#9535)

* plugins (become, callback, filter, inventory): style adjustments

* remove inventory plugins from PR

* adjustments from review

* typo

(cherry picked from commit 3af793c2c1)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-07 18:45:39 +01:00
patchback[bot]
75f649648e
[PR #9528/838cdaab backport][stable-10] lmn*: style adjustments (#9543)
lmn*: style adjustments (#9528)

* lmn*: style adjustments

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 838cdaab42)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-07 18:45:30 +01:00
patchback[bot]
1f29fa2e39
[PR #9532/8cef0ee5 backport][stable-10] defghi*: style adjustments (#9544)
defghi*: style adjustments (#9532)

* defghi*: style adjustments

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 8cef0ee551)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-07 06:51:47 +01:00
patchback[bot]
26b8f30afa
[PR #9534/aac71990 backport][stable-10] (abc*, doc frags): style adjustments (#9541)
(abc*, doc frags): style adjustments (#9534)

(cherry picked from commit aac7199087)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-06 22:01:09 +01:00
patchback[bot]
80f43bbbf5
[PR #9529/27c34b15 backport][stable-10] jk*: style adjustments (#9540)
jk*: style adjustments (#9529)

* jk*: style adjustments

* Apply suggestions from code review

* fix return yamls

(cherry picked from commit 27c34b150f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-06 21:42:27 +01:00
Felix Fontein
ec58aadaa7 Fix CI badge image URL. Add documentation badge.
(cherry picked from commit 007302d5af)
2025-01-04 11:28:41 +01:00
patchback[bot]
6f50af8a6e
[PR #9515/d2078be2 backport][stable-10] uvw*: style adjustments (#9527)
uvw*: style adjustments (#9515)

* uvw*: style adjustments

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* adjustments from review

* Update plugins/modules/utm_proxy_frontend.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/utm_proxy_frontend_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d2078be247)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-04 11:27:56 +01:00
patchback[bot]
e2604e7533
[PR #9513/7c54c703 backport][stable-10] xyz*: style adjustments (#9525)
xyz*: style adjustments (#9513)

(cherry picked from commit 7c54c70301)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-04 11:04:02 +01:00
patchback[bot]
8208e52c42
[PR #9517/33b9ad09 backport][stable-10] s*: style adjustments (#9523)
s*: style adjustments (#9517)

* s*: style adjustments

* fix quotes

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 33b9ad09d5)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-03 23:04:09 +01:00
patchback[bot]
39e4f89ff0
[PR #9516/695b1abc backport][stable-10] st*: style adjustments (#9522)
st*: style adjustments (#9516)

* st*: style adjustments

* lien lenght adjustments

(cherry picked from commit 695b1abc8d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-03 20:11:42 +01:00
patchback[bot]
c7202a1902
[PR #9518/d7da0ae7 backport][stable-10] remove stearz as maintainer (#9521)
remove stearz as maintainer (#9518)

* remove stearz as maintainer

As I do not work with Sophos UTMs anymore I am no longer able to test/maintain. - I added team_e_spirit as maintainer as I think they are still using and willing to support the modules.

* added ignore lines to remove stearz as maintainer

(cherry picked from commit d7da0ae7f6)

Co-authored-by: Stephan Schwarz <22387558+stearz@users.noreply.github.com>
2025-01-03 20:11:32 +01:00
patchback[bot]
1f64be7cac
[PR #9512/103b331a backport][stable-10] runtime/modules ordering: missed two modules before (#9514)
runtime/modules ordering: missed two modules before (#9512)

(cherry picked from commit 103b331a5d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-03 10:43:26 +01:00
patchback[bot]
2447bc90a4
[PR #9403/e853bdf6 backport][stable-10] Redfish: implement obtaining AccountService config (#9511)
Redfish: implement obtaining AccountService config (#9403)

Example result from querying OpenBMC's bmcweb Redfish server:

```
    changed: false
    failed: false
    redfish_facts:
        accountservice_config:
            entries:
                '@odata.id': /redfish/v1/AccountService
                '@odata.type': '#AccountService.v1_15_0.AccountService'
                AccountLockoutDuration: 0
                AccountLockoutThreshold: 0
                Accounts:
                    '@odata.id': /redfish/v1/AccountService/Accounts
                ActiveDirectory:
                    Authentication:
                        AuthenticationType: UsernameAndPassword
                        Password: null
                        Username: ''
                    LDAPService:
                        SearchSettings:
                            BaseDistinguishedNames:
                            - ''
                            GroupsAttribute: ''
                            UsernameAttribute: ''
                    RemoteRoleMapping: []
                    ServiceAddresses:
                    - ''
                    ServiceEnabled: false
                Description: Account Service
                HTTPBasicAuth: Enabled
                HTTPBasicAuth@AllowableValues:
                - Enabled
                - Disabled
                Id: AccountService
                LDAP:
                    Authentication:
                        AuthenticationType: UsernameAndPassword
                        Password: null
                        Username: ''
                    Certificates:
                        '@odata.id': /redfish/v1/AccountService/LDAP/Certificates
                    LDAPService:
                        SearchSettings:
                            BaseDistinguishedNames:
                            - ''
                            GroupsAttribute: ''
                            UsernameAttribute: ''
                    RemoteRoleMapping: []
                    ServiceAddresses:
                    - ''
                    ServiceEnabled: false
                MaxPasswordLength: 20
                MinPasswordLength: 8
                MultiFactorAuth:
                    ClientCertificate:
                        CertificateMappingAttribute: CommonName
                        Certificates:
                            '@odata.id': /redfish/v1/AccountService/MultiFactorAuth/ClientCertificate/Certificates
                            '@odata.type': '#CertificateCollection.CertificateCollection'
                            Members: []
                            Members@odata.count: 0
                        Enabled: true
                        RespondToUnauthenticatedClients: true
                Name: Account Service
                Oem:
                    OpenBMC:
                        '@odata.id': /redfish/v1/AccountService#/Oem/OpenBMC
                        '@odata.type': '#OpenBMCAccountService.v1_0_0.AccountService'
                        AuthMethods:
                            BasicAuth: true
                            Cookie: true
                            SessionToken: true
                            TLS: true
                            XToken: true
                Roles:
                    '@odata.id': /redfish/v1/AccountService/Roles
                ServiceEnabled: true
            ret: true
```

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
(cherry picked from commit e853bdf6f9)

Co-authored-by: Paul Fertser <fercerpav@gmail.com>
2025-01-02 16:37:15 +01:00
patchback[bot]
98029089d8
[PR #9506/655d943d backport][stable-10] meta/runtime.yml: sort keys for modules (#9508)
meta/runtime.yml: sort keys for modules (#9506)

* meta/runtime.yml: sort keys for modules

* Update meta/runtime.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 655d943dbb)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-01 10:12:51 +00:00
patchback[bot]
964aa945a4
[PR #9497/39deb815 backport][stable-10] clc_*: create doc fragment (#9507)
clc_*: create doc fragment (#9497)

* clc_*: create doc fragment

* add BOTMETA entry

* add doc frag itself

* add empty options dict to doc frag

* fix BOTMETA entry

* fix BOTMETA entry

* move author back to module

(cherry picked from commit 39deb81514)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2025-01-01 09:51:07 +01:00
Felix Fontein
7d24ba8a28 The next expected release will be 10.3.0. 2024-12-31 13:43:41 +01:00
Felix Fontein
be5b4adf5b Release 10.2.0. 2024-12-31 12:14:11 +01:00
patchback[bot]
62b45e235d
[PR #9503/6e919a4b backport][stable-10] opentelemetry callback plugin: remove unused code (#9504)
opentelemetry callback plugin: remove unused code (#9503)

* opentelemetry callback plugin: remove unused code

* changelog

(cherry picked from commit 6e919a4b76)

Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
2024-12-31 12:13:17 +01:00
patchback[bot]
f99508b307
[PR #9496/43d5d6e2 backport][stable-10] remove code handling unsupported Python versions (#9502)
remove code handling unsupported Python versions (#9496)

* remove code handling unsupported Python versions

* drop unused import

* remove no longer needed ignore lines

(cherry picked from commit 43d5d6e2ce)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-31 10:46:15 +01:00
patchback[bot]
9afc096cd2
[PR #9498/7f3fef30 backport][stable-10] fix typo (#9500)
fix typo (#9498)

(cherry picked from commit 7f3fef3038)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-31 10:39:17 +01:00
patchback[bot]
27c0c29cf3
[PR #9490/1e28302a backport][stable-10] htpasswd: let changed reflect updated permissions (#9493)
htpasswd: let changed reflect updated permissions (#9490)

* Let changed reflect updated permissions.

* Make pylint happy.

(cherry picked from commit 1e28302a66)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-31 10:28:58 +01:00
patchback[bot]
c890a161ae
[PR #9487/9aff6109 backport][stable-10] atomic_*: deprecation (#9495)
atomic_*: deprecation (#9487)

(cherry picked from commit 9aff6109ae)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-31 10:28:48 +01:00
patchback[bot]
c911aa8a84
[PR #9483/d81f56e1 backport][stable-10] sensu_*: deprecation (#9488)
sensu_*: deprecation (#9483)

* sensu_*: deprecation

* add changelog frag

(cherry picked from commit d81f56e10b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-31 00:11:19 +01:00
patchback[bot]
a3cb344689
[PR #9486/01244237 backport][stable-10] Optimize ldap modules auth note in a doc fragment (#9489)
Optimize ldap modules auth note in a doc fragment (#9486)

Optimize ldap auth doc fragment

(cherry picked from commit 01244237a1)

Co-authored-by: Philippe Duveau <pduvax@gmail.com>
2024-12-30 23:49:14 +01:00
patchback[bot]
bd4112e87b
[PR #9482/cd2dbbaf backport][stable-10] opentelemetry callback plugin: remove code for Python < 3.7 (#9484)
opentelemetry callback plugin: remove code for Python < 3.7 (#9482)

* opentelemetry callback plugin: remove code for Python < 3.7

* add changelog frag

(cherry picked from commit cd2dbbafcd)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-30 23:38:34 +01:00
patchback[bot]
ec9b1fc503
[PR #9238/6bb7a1cc backport][stable-10] locale_gen: fix/improvements (#9481)
locale_gen: fix/improvements (#9238)

* locale_gen: fix/improvements

* fix sanity

* add RV doc

* add integration test forcing mechanism=debian

- test is failing

* fix RETURN doc

* reformat yaml

* comment out the test for ubuntu_mode=True

* multiple changes:

- add changelog fragment
- improved docs

* normalize docs after rebasing

* Update changelogs/fragments/9131-locale-gen-rewrite.yml

* apply recommendations from review

* Update plugins/modules/locale_gen.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9238-locale-gen-rewrite.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/locale_gen.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/locale_gen.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6bb7a1cc73)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-30 22:00:27 +01:00
patchback[bot]
5467334117
[PR #9275/adb4b3c8 backport][stable-10] Add module ldap inc (#9480)
Add module ldap inc (#9275)

* Add module ldap_inc

This module adds the ‘modify-increment’ capability corresponding to the extension implemented by OpenLdap described in RFC-4525. It can be used to increment an integer attribute and read it atomically. It is an help for posix userId definition while relying only on the directory server.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>

Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

Fix the check mode support

Check mode documentation fix

* Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ldap_inc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit adb4b3c8a5)

Co-authored-by: Philippe Duveau <pduvax@gmail.com>
2024-12-30 21:53:03 +01:00
patchback[bot]
e962b9237d
[PR #9470/f55899d6 backport][stable-10] svc: adjustments to docs (#9479)
svc: adjustments to docs (#9470)

* svc: adjustments to docs

* Update plugins/modules/svc.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit f55899d6ef)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-30 20:00:23 +01:00
patchback[bot]
48c36bc72b
[PR #9277/403418f7 backport][stable-10] proxmox_template: fix the wrong path called on proxmox_template.task_status (#9476)
proxmox_template: fix the wrong path called on proxmox_template.task_status (#9277)

fix: add missing 's' on proxmox_template.task_status

Missing the 's' means using the wrong API, making log reading
impossible. Should fix !9276

Signed-off-by: Alexandre Nicolaie <xunleii@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 403418f75d)

Co-authored-by: Alexandre Nicolaie <xunleii@users.noreply.github.com>
2024-12-30 12:55:24 +01:00
patchback[bot]
56bb7d7b9d
[PR #9425/f8bfd5df backport][stable-10] gitlab_instance_variable: Add support for 'raw' property (#9477)
gitlab_instance_variable: Add support for 'raw' property (#9425)

* gitlab_instance_variable: Add support for 'raw' property

* Changelog fragment

* Add missing punctuation

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add version_added

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit f8bfd5df0d)

Co-authored-by: KBjorndal-VizRT <83645484+KBjorndal-VizRT@users.noreply.github.com>
2024-12-30 12:55:14 +01:00
patchback[bot]
af2438f664
[PR #9471/4a1a8d6b backport][stable-10] pacemaker_cluster: fix run_command() calls (#9474)
pacemaker_cluster: fix run_command() calls (#9471)

* pacemaker_cluster: fix run_command() calls

* add changelog frag

* remove set_node()

(cherry picked from commit 4a1a8d6b38)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-30 12:10:08 +01:00
patchback[bot]
a68de9bfb6
[PR #9456/17d36da1 backport][stable-10] yaml callback plugin: deprecation (#9469)
yaml callback plugin: deprecation (#9456)

* yaml callback pulign: deprecation

* add changelog frag

* Update plugins/callback/yaml.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* set removal to 13.0.0

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 17d36da150)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 22:46:54 +01:00
patchback[bot]
4614047132
[PR #9383/482a90e8 backport][stable-10] add support for systemd creds encrypt/decrypt (#9468)
add support for systemd creds encrypt/decrypt (#9383)

* add support for systemd creds encrypt/decrypt

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add __metaclass__

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* Python 2.7 issues

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update version_added and ci test aliases

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* switch to container

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* run tests in docker as well

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* move tasks into tasks/

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* no need to call echo

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* lint and add become:

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* dont append a newline

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* don't clean newlines

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* only use module name

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* clean

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* change msg to value

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* add return values

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* update attributes and description

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* Update plugins/modules/systemd_creds_decrypt.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* set newline default

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* Update plugins/modules/systemd_creds_encrypt.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update plugins/modules/systemd_creds_encrypt.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update plugins/modules/systemd_creds_encrypt.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* update required and spelling

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

* use single backslash

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>

---------

Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 482a90e8b4)

Co-authored-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
2024-12-29 21:24:39 +01:00
patchback[bot]
6b02eaa795
[PR #9449/0bbc3ecc backport][stable-10] manageiq_alert_profiles: improve handling param requirements (#9464)
manageiq_alert_profiles: improve handling param requirements (#9449)

* manageiq_alert_profiles: improve handling param requirements

Basically two changes:
* `name` is already required when state is either present or absent, and there are no other states, so making it fully required and removing the conditional
* `alerts` is documented as required when state=present, this has been verified in the code, so added that parameter to the existing `required_if` spec.

* add changelog frag

(cherry picked from commit 0bbc3eccd9)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 21:24:30 +01:00
patchback[bot]
6f774fd4a5
[PR #9455/d887930e backport][stable-10] normalize docs in callback plugins (#9467)
normalize docs in callback plugins (#9455)

* normalize docs in callback plugins

Normalize doc blocks for plugins

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d887930e49)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 21:24:21 +01:00
patchback[bot]
f05618a6f2
[PR #9452/29e32267 backport][stable-10] normalize docs in become plugins (#9465)
normalize docs in become plugins (#9452)

* normalize docs in become plugins

Normalize doc blocks for plugins

* adjustments

(cherry picked from commit 29e3226718)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 21:24:10 +01:00
patchback[bot]
98a956a9d6
[PR #9442/ec585392 backport][stable-10] Docs: fix its vs. it's (#9458)
Docs: fix its vs. it's (#9442)

* Fix its vs. it's.

* Improvements from review.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Improve formulations.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit ec585392e5)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-29 14:13:18 +01:00
patchback[bot]
60d51f7b49
[PR #9451/474546b1 backport][stable-10] facter: deprecation (#9459)
facter: deprecation (#9451)

* facter: deprecation

Per https://github.com/ansible-collections/community.general/pull/7356#issuecomment-1752460442 it has been agreed that this module would be replaced with the better named `facter_facts`.

* add changelog frag

* add deprecation note to the module documentation

(cherry picked from commit 474546b117)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 14:13:11 +01:00
patchback[bot]
245be47a4e
[PR #9450/1de16e50 backport][stable-10] dnsmadeeasy: doc-adjustments (#9460)
dnsmadeeasy: doc-adjustments (#9450)

(cherry picked from commit 1de16e50f1)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 14:13:03 +01:00
patchback[bot]
6d346ddadd
[PR #9453/040cd0ca backport][stable-10] normalize docs in cache/connection plugins (#9462)
normalize docs in cache/connection plugins (#9453)

Normalize doc blocks for plugins

(cherry picked from commit 040cd0ca50)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 14:12:55 +01:00
patchback[bot]
cb969fc468
[PR #9447/5f47127e backport][stable-10] adjust doc style - batch 2 (#9463)
adjust doc style - batch 2 (#9447)

(cherry picked from commit 5f47127ef7)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 14:12:46 +01:00
patchback[bot]
ec6c2a76ad
[PR #9443/c83fc5fd backport][stable-10] slack: deprecate current default auto for prepend_hash (#9446)
slack: deprecate current default `auto` for `prepend_hash` (#9443)

Thanks @felixfontein !

(cherry picked from commit c83fc5fd49)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-29 00:38:08 +01:00
patchback[bot]
b22777de44
[PR #9435/2f82bd8e backport][stable-10] Adjust doc style (#9445)
Adjust doc style (#9435)

* adjust doc style

* Update plugins/modules/swupd.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* restore sanity

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 2f82bd8ece)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-29 00:37:58 +01:00
patchback[bot]
151f6c9ce3
[PR #9379/22035608 backport][stable-10] plugins: replace to_native(), to_text(), str() with str() where possible or leave it away in f-string formatting (#9444)
plugins: replace to_native(), to_text(), str() with str() where possible or leave it away in f-string formatting (#9379)

* Replace to_native(), to_text(), str() with str() where possible or leave it away in f-string formatting.

* Improve formulation.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Use more f-strings.

* Remove unicode prefix for strings.

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 2203560867)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-29 00:06:56 +01:00
patchback[bot]
0acaad60c8
[PR #9256/d8b38073 backport][stable-10] proxmox_disk: fix async method of resize_disk (#9439)
proxmox_disk: fix async method of resize_disk (#9256)

* proxmox_disk: fix async method of resize_disk

Rewritten resizing of disk into separated function and used async method to retrieve task result. Additionally, rewritten function to detect failed tasks early, without waiting for timeout.

* proxmox_disk: add changelog fragment

* proxmox_disk: fix sanity errors

* Apply suggestions from code review

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* proxmox_disk: workaround for legacy Proxmox

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from the review

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d8b38073c1)

Co-authored-by: castorsky <csky57@gmail.com>
2024-12-28 14:43:34 +01:00
patchback[bot]
a06c1f5c9a
[PR #9432/bde58a7b backport][stable-10] purestorage: deprecate leftovers (#9440)
purestorage: deprecate leftovers (#9432)

* purestorage: deprecate leftovers

* add changelog frag

* fixes

(cherry picked from commit bde58a7b42)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-28 14:43:20 +01:00
patchback[bot]
becda864c4
[PR #9436/4b4e4b7e backport][stable-10] chore(docs): rpm_ostree_pkg fix examples (#9441)
chore(docs): rpm_ostree_pkg fix examples (#9436)

(cherry picked from commit 4b4e4b7e0a)

Co-authored-by: Sergei Waigant <30412320+sergeiwaigant@users.noreply.github.com>
2024-12-28 14:43:11 +01:00
patchback[bot]
92d077e816
[PR #9433/6748ec39 backport][stable-10] remove extraneous doc fragments (#9434)
remove extraneous doc fragments (#9433)

(cherry picked from commit 6748ec3993)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-28 00:16:41 +01:00
patchback[bot]
700623863c
[PR #9422/ed092956 backport][stable-10] [a-n]*.py: normalize doc_fragments (#9428)
[a-n]*.py: normalize doc_fragments (#9422)

* [a-n]*.py: normalize doc_fragments

* Update plugins/doc_fragments/ldap.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/doc_fragments/ldap.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit ed092956ba)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-28 00:03:57 +01:00
patchback[bot]
31f57b9385
[PR #9423/0afd3386 backport][stable-10] [m-z]*.py: normalize doc_fragments (#9430)
[m-z]*.py: normalize doc_fragments (#9423)

(cherry picked from commit 0afd3386d1)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-27 14:52:39 +01:00
patchback[bot]
14038511a1
[PR #9421/2a2a9661 backport][stable-10] [ab]*.py: normalize docs (#9427)
[ab]*.py: normalize docs (#9421)

* [ab]*.py: normalize docs

* Update plugins/modules/atomic_image.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 2a2a9661d9)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-27 14:52:29 +01:00
patchback[bot]
3db0a11148
[PR #9418/43599c68 backport][stable-10] c*.py: normalize docs (#9426)
c*.py: normalize docs (#9418)

* c*.py: normalize docs

* fix copy/paste mistake

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 43599c6850)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-27 14:44:36 +01:00
patchback[bot]
05ba79c5fe
[PR #9393/84655b0d backport][stable-10] i[b-n]*.py: normalize docs (#9412)
i[b-n]*.py: normalize docs (#9393)

* i[b-n]*.py: normalize docs

* Update plugins/modules/ilo_redfish_command.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 84655b0d0f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 22:44:45 +01:00
patchback[bot]
0df708b15a
[PR #9401/df42f29e backport][stable-10] [def]*.py: normalize docs (#9413)
[def]*.py: normalize docs (#9401)

* [def]*.py: normalize docs

* Update plugins/modules/datadog_monitor.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit df42f29e53)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 22:44:35 +01:00
patchback[bot]
1829ad4fdc
[PR #9395/3048d530 backport][stable-10] g*.py: normalize docs (#9415)
g*.py: normalize docs (#9395)

* g*.py: normalize docs

* Update plugins/modules/gandi_livedns.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 3048d5305d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 22:44:20 +01:00
patchback[bot]
0e99b006a2
[PR #9394/912065ad backport][stable-10] h*.py: normalize docs (#9417)
h*.py: normalize docs (#9394)

* h*.py: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 912065ad0e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 22:44:08 +01:00
patchback[bot]
f66bd1035d
[PR #9363/61b2304f backport][stable-10] dig: handle NoNameservers exception (#9409)
dig: handle NoNameservers exception (#9363)

Handle NoNameservers.

(cherry picked from commit 61b2304f4d)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-26 17:12:50 +01:00
patchback[bot]
7732d64abb
[PR #9388/6aadcc72 backport][stable-10] [mem ... n]*.py: normalize docs (#9406)
[mem ... n]*.py: normalize docs (#9388)

* [mem ... n]*.py: normalize docs

* Update plugins/modules/netcup_dns.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* netcup_dns: change type of RV(records)

From complex to list of dicts.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6aadcc72d1)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 17:06:05 +01:00
patchback[bot]
03f3b74934
[PR #9392/a99f72fc backport][stable-10] [ip ... j]*.py: normalize docs (#9404)
[ip ... j]*.py: normalize docs (#9392)

* [ip ... j]*.py: normalize docs

* Update plugins/modules/ip_netns.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit a99f72fc36)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 14:01:34 +01:00
patchback[bot]
29e9afcbf4
[PR #9389/a9fca563 backport][stable-10] ma*.py: normalize docs (#9405)
ma*.py: normalize docs (#9389)

* ma*.py: normalize docs

* Update plugins/modules/matrix.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit a9fca56374)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 14:01:25 +01:00
patchback[bot]
11ba71c802
[PR #9391/49ed3d4a backport][stable-10] k*.py: normalize docs (#9407)
k*.py: normalize docs (#9391)

* k*.py: normalize docs

* Update plugins/modules/keycloak_realm_keys_metadata_info.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/kibana_plugin.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 49ed3d4acf)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 14:01:16 +01:00
patchback[bot]
d3badc6d43
[PR #9382/88330575 backport][stable-10] [oc ... onep]*.py: normalize docs (#9408)
[oc ... onep]*.py: normalize docs (#9382)

* [oc ... onep]*.py: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 88330575ff)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 14:01:05 +01:00
patchback[bot]
92a07f1794
[PR #9390/cea6eeef backport][stable-10] l*.py: normalize docs (#9402)
l*.py: normalize docs (#9390)

(cherry picked from commit cea6eeef37)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 09:25:49 +01:00
patchback[bot]
7a44dbfe45
[PR #9364/6b7ea344 backport][stable-10] [prox ... pyth]*: normalize docs (#9400)
[prox ... pyth]*: normalize docs (#9364)

* [prox ... pyth]*: normalize docs

* Apply suggestions from code review

Co-authored-by: IamLunchbox <56757745+IamLunchbox@users.noreply.github.com>

* Update plugins/modules/pushbullet.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/pushbullet.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: IamLunchbox <56757745+IamLunchbox@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6b7ea3443d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 08:39:32 +01:00
patchback[bot]
4f9e7bd793
[PR #9352/9fc3092b backport][stable-10] s[e-n]*: normalize docs (#9399)
s[e-n]*: normalize docs (#9352)

* s[e-n]*: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* quote line with : and remove extraneous notes

* Update plugins/modules/slack.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/seport.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9fc3092bb3)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 08:39:21 +01:00
patchback[bot]
872bc91096
[PR #9372/bef82e28 backport][stable-10] p[a-e]*: normalize docs (#9397)
p[a-e]*: normalize docs (#9372)

* p[a-e]*: normalize docs

* Update plugins/modules/packet_volume.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit bef82e28a2)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-26 08:39:08 +01:00
Felix Fontein
641b0693b4 Prepare 10.2.0 release. 2024-12-25 23:01:11 +01:00
patchback[bot]
45a3396ab0
[PR #9371/13e2097f backport][stable-10] [pi ... prof]*: normalize docs (#9380)
[pi ... prof]*: normalize docs (#9371)

* [pi ... prof]*: normalize docs

* Update plugins/modules/pkg5_publisher.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 13e2097f37)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-25 22:58:57 +01:00
patchback[bot]
e38f9e5cfc
[PR #9373/d96e5604 backport][stable-10] [onev ... ovh]*.py: normalize docs (#9381)
[onev ... ovh]*.py: normalize docs (#9373)

* [onev ... ovh]*.py: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit d96e56048f)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-25 22:56:20 +01:00
patchback[bot]
60ba39da58
[PR #9262/23d97fa4 backport][stable-10] Add inventory plugin iocage (#9378)
Add inventory plugin iocage (#9262)

* Add inventory plugin iocage #9261

* inventory/iocage.py BOTMETA entry added.

* Remove missing methods from the test.

* Avoid shell mode.

* Parameter host is optional default=localhost

* Fix AnsibleError calls.

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* iocage_data removed. Not necessarily defined at this point.

* Description mentions that remote hosts are contacted via SSH.

* test inventory iocage

* Create get_jails and get_properties in iocage plugin to simplify testing.
* Update test_iocage.py
* Add fixtures iocage_*

* Update documentation.

* Update documentation.

* Update documentation.

* Fix localhost environment.

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/iocage.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 23d97fa4b0)

Co-authored-by: Vladimir Botka <vbotka@gmail.com>
2024-12-25 22:00:31 +01:00
patchback[bot]
f6fa7fb273
[PR #9354/97514612 backport][stable-10] r*: normalize docs (#9377)
r*: normalize docs (#9354)

* r*: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from code review

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9751461295)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-25 21:41:05 +01:00
patchback[bot]
899fcb8749
[PR #9353/70b62ed7 backport][stable-10] s[a-c]*: normalize docs (#9376)
s[a-c]*: normalize docs (#9353)

* s[a-c]*: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 70b62ed745)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-25 21:40:55 +01:00
patchback[bot]
a5c448d6e8
[PR #9324/6cd3f79e backport][stable-10] lookup plugins: use f-strings (#9367)
lookup plugins: use f-strings (#9324)

* lookup plugins: use f-strings

* add changelog frag

* manual change for few occurrences

* Update plugins/lookup/dependent.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* adjustment from review

* no f-string for you

* Update plugins/lookup/dependent.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6cd3f79e19)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-25 16:46:55 +01:00
patchback[bot]
74bd7f1471
[PR #9270/825e0ee3 backport][stable-10] zypper: add simple_errors option - fixes #8416 (#9370)
zypper: add simple_errors option - fixes #8416 (#9270)

* zypper: add simple_errors option -fixes #8416

* Fix style issues

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix indentation

* Add changelog fragment

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Updated as per code review recommendations

* Fix whitespace

* Add quiet option, fix logic, update changelog

* Fix trailing whitespace

* Update plugins/modules/zypper.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add suggested improvements

---------

Co-authored-by: Eric Hoogeveen <eric.hoogeveen@ssc-spc.gc.ca>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 825e0ee377)

Co-authored-by: Eric <8869330+erichoog@users.noreply.github.com>
2024-12-25 16:46:47 +01:00
patchback[bot]
7e6514b4d4
[PR #9351/4b23e5ec backport][stable-10] s[o-y]*: normalize docs (#9369)
s[o-y]*: normalize docs (#9351)

* s[o-y]*: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/spectrum_model_attrs.py

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 4b23e5ecff)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-25 16:46:34 +01:00
patchback[bot]
3c7f05c42d
[PR #9321/c3ed2144 backport][stable-10] callback plugins: use f-strings (#9357)
callback plugins: use f-strings (#9321)

* callback plugins: use f-strings

* add changelog frag

* manual change for few occurrences

* manual change for few occurrences

* adjustment from review

* adjustment from review

* adjustment from review

* Update plugins/callback/splunk.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* replace str templating with JSON templating

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit c3ed2144e2)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-24 14:45:32 +01:00
patchback[bot]
a13a6d284c
[PR #9322/d539b00d backport][stable-10] connection plugins: use f-strings (#9358)
connection plugins: use f-strings (#9322)

* connection plugins: use f-strings

* add changelog frag

(cherry picked from commit d539b00d4c)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-24 14:45:24 +01:00
patchback[bot]
122086e83b
[PR #9339/6e84c137 backport][stable-10] t*: normalize docs (#9356)
t*: normalize docs (#9339)

* t*: normalize docs

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* break long line to regain sanity

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6e84c1375e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-24 14:05:44 +01:00
patchback[bot]
92e4bd184d
[PR #9226/b429e8a2 backport][stable-10] xfconf/xfconf_info: add return value version (#9359)
xfconf/xfconf_info: add return value version (#9226)

* xfconf/xfconf_info: add return value version

* add changelog frag

* adapt test to helper improvements

* rollback copyright update

* replace tab with spaces in test yamls

(cherry picked from commit b429e8a2cf)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-24 14:05:31 +01:00
patchback[bot]
12f2d71950
[PR #9338/2005125a backport][stable-10] u[a-s]*: normalize docs (#9361)
u[a-s]*: normalize docs (#9338)

* u[a-s]*: normalize docs

* Update plugins/modules/udm_dns_record.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/udm_dns_record.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/udm_dns_record.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/udm_dns_zone.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/ufw.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 2005125af4)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-24 13:04:53 +00:00
patchback[bot]
e3f72bca4f
[PR #9335/c141f868 backport][stable-10] utm*: normalize docs (#9346)
utm*: normalize docs (#9335)

* utm*: normalize docs

* Update plugins/modules/utm_aaa_group.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit c141f86883)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 21:40:49 +01:00
patchback[bot]
429b4b14a8
[PR #9294/d5237ee4 backport][stable-10] Add sanity test for action groups (#9343)
Add sanity test for action groups (#9294)

* Add sanity test for action groups.

* Fix interpolation.

* Fix message.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Improve regex.

* Add entry for new 'keycloak' action group.

Ref: https://github.com/ansible-collections/community.general/pull/9284

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit d5237ee486)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-23 19:45:13 +01:00
patchback[bot]
2d12c6678c
[PR #9239/005c8f50 backport][stable-10] proxmox_backup: refactor permission checking (#9341)
proxmox_backup: refactor permission checking (#9239)

* proxmox_backup: refactor permission checking

* add changelog frag

* Update plugins/modules/proxmox_backup.py

* Update plugins/modules/proxmox_backup.py

* Update plugins/modules/proxmox_backup.py

* Update plugins/modules/proxmox_backup.py

For consistency

* Update plugins/modules/proxmox_backup.py

* yet another missing slash

(cherry picked from commit 005c8f50db)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 19:20:29 +01:00
patchback[bot]
474c7a7240
[PR #9308/f9bfe4e4 backport][stable-10] x*: adjust docs (#9342)
x*: adjust docs (#9308)

* adjust docs

* Update plugins/modules/xml.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* fix capitalisation

* add markup to references of the xe command (xenserver)

* add missing markup

* Update plugins/modules/xml.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit f9bfe4e4a6)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 19:20:19 +01:00
patchback[bot]
434032080e
[PR #9284/28f36ae2 backport][stable-10] Add action group for keycloak (#9340)
Add action group for keycloak (#9284)

* Create group for keycloak

This will allows keycloak authentication details to be set as a module_defaults rather than repeated on each task

* add documentation to keycloak modules to note creation of action_group

* add changelog for keycloak action_group creation

* exclude keycloak_realm_info from action group, as it does not share same set of base parameters

* fix formatting on changelog entry for adding Keycloak action group

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 28f36ae25c)

Co-authored-by: Chris Northwood <cnorthwood@users.noreply.github.com>
2024-12-23 19:19:44 +01:00
patchback[bot]
eec5c82a55
[PR #9334/da51594f backport][stable-10] qubes connection plugin: fix display stmt (#9337)
qubes connection plugin: fix display stmt (#9334)

* qubes connection plugin: fix display stmt

* add changelog frag

(cherry picked from commit da51594f9d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:28:24 +01:00
patchback[bot]
97ea891377
[PR #9307/e809a254 backport][stable-10] zypper: adjust docs (#9327)
zypper: adjust docs (#9307)

* adjust docs

* Update plugins/modules/zypper.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/zypper.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/zypper_repository.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit e809a25486)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:26:00 +01:00
patchback[bot]
b3ad22f33f
[PR #9309/b57fef20 backport][stable-10] [vw]*: adjust docs (#9326)
[vw]*: adjust docs (#9309)

[vm]*: adjust docs

(cherry picked from commit b57fef201e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:25:51 +01:00
patchback[bot]
977f53f823
[PR #9306/d05d067f backport][stable-10] z mods adjust docs (#9329)
z mods adjust docs (#9306)

z* modules: adjust docs (re-commiting with adjustment from PR)

(cherry picked from commit d05d067f3b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:25:42 +01:00
patchback[bot]
4c26dc0760
[PR #9319/c7edf0a8 backport][stable-10] become plugins: use f-strings (#9330)
become plugins: use f-strings (#9319)

* become plugins: use f-strings

* add changelog frag

(cherry picked from commit c7edf0a87b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:25:34 +01:00
patchback[bot]
3c6131b451
[PR #9320/cb2cd00c backport][stable-10] cache plugins: use f-strings (#9331)
cache plugins: use f-strings (#9320)

* cache plugins: use f-strings

* add changelog frag

(cherry picked from commit cb2cd00cd1)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:25:24 +01:00
patchback[bot]
2499c1132d
[PR #9323/1d8f0b29 backport][stable-10] inventory plugins: use f-strings (#9332)
inventory plugins: use f-strings (#9323)

* inventory plugins: use f-strings

* add changelog frag

(cherry picked from commit 1d8f0b2942)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:25:16 +01:00
patchback[bot]
3fe559b88f
[PR #9318/79bef1a1 backport][stable-10] action plugins: use f-strings (#9333)
action plugins: use f-strings (#9318)

* action plugins: use f-strings

* add changelog frag

* adjustment from review

(cherry picked from commit 79bef1a14c)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-23 12:25:07 +01:00
patchback[bot]
28fed38757
[PR #9310/2adcc34d backport][stable-10] CI: Arch Linux updated to Python 3.13 (#9314)
CI: Arch Linux updated to Python 3.13 (#9310)

* Arch Linux updated to Python 3.13.

* Skip lmdb_kv lookup on Arch Linux.

Ref: https://github.com/jnwatson/py-lmdb/issues/362
(cherry picked from commit 2adcc34dd5)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-22 22:23:33 +01:00
patchback[bot]
f2196d452f
[PR #9281/1b6c0517 backport][stable-10] zfs modules: adjust docs (#9305)
zfs modules: adjust docs (#9281)

* zfs modules: adjust docs

* Apply suggestions from code review

* fix examples indentation

* Update plugins/modules/zfs.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1b6c05176b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-22 12:32:24 +01:00
patchback[bot]
07124473cc
[PR #9295/1ee244f0 backport][stable-10] fix examples indentation (#9301)
fix examples indentation (#9295)

(cherry picked from commit 1ee244f02d)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-21 19:26:42 +01:00
patchback[bot]
a56cec8582
[PR #9280/afa5716e backport][stable-10] yum_versionlock: adjust docs (#9303)
yum_versionlock: adjust docs (#9280)

* yum_versionlock: adjust docs

* fix examples indentation

(cherry picked from commit afa5716e0b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-21 19:26:33 +01:00
patchback[bot]
5c2e9e0c5b
[PR #9297/d2088ccf backport][stable-10] Polish botmeta extra sanity test and make it work without warnings on Python 3.13 (#9300)
Polish botmeta extra sanity test and make it work without warnings on Python 3.13 (#9297)

Polish botmeta and make it work without warnings on Python 3.13.

(cherry picked from commit d2088ccfcc)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-21 17:02:30 +01:00
patchback[bot]
df5818282b
[PR #9255/9452a2c8 backport][stable-10] homebrew: fix incorrect handling of aliases (#9289)
homebrew: fix incorrect handling of aliases (#9255)

* Add failing test (See commit description)

Second assert returns this:

changed: [localhost] => changed=true
  changed_pkgs:
  - sqlite3
  msg: 'Changed: 1, Unchanged: 1'
  unchanged_pkgs:
  - sqlite

* Extract proper package_name from brew info using alisases

* Add changelog fragment

* Fix pep8

* Make sure sqlite is uninstalled beforehand

* Use `package_result is (not) changed` syntax in assertions

* Register more explicit names

* Fix handling of casks

(cherry picked from commit 9452a2c8ac)

Co-authored-by: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>
2024-12-20 23:27:15 +01:00
patchback[bot]
69aea38683
[PR #9236/2b2872f0 backport][stable-10] Add android sdk module (#9293)
Add android sdk module (#9236)

* adds simple implementation of adding and removing android sdk packages

* adds package update

* adds simple installed packages parsing

* moves parsing logic to a separate class

* adds absent state for sdkmanager packages and setup for tests

* adds output for installing and removing packages

* removes version from Package object since it is not possible to specify version for a package while using sdkmanager

* adds 'latest' state

* adds tests

* fixes crash when sdkmanager is invoked from python with LC_ALL=C

* fixes latest state

* adds sdk_root parameter

* adds channel parameter

* simplifies regexps, removes unused named groups

* minor refactoring of sdkmanager parsing

* adds java dependency variable for different distributions

* adds RETURN documentation

* adds check for nonexisting package

* adds check for non-accepted licenses

* removes excessive methods from sdkmanager

* removes unused 'update' module parameter, packages may be updated using 'latest' state

* minor refactoring

* adds EXAMPLES doc section

* adds DOCUMENTATION section and license headers

* fixes formatting issues

* removes diff_params

* adds maintainer

* fixes sanity check issues in sdkmanager

* adds java dependency for macos and moves some tests to a separate FreeBSD configuration

* fixes dependencies setup for OSX

* fixes dependencies setup for OSX (2)

* fixes dependencies setup for OSX (3)

* Apply minor suggestions from code review

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* applies code review suggestions

* changes force_lang from C.UTF-8 to auto in sdkmanager (as per discussion https://github.com/ansible-collections/community.general/pull/9236#discussion_r1881114326)

* Revert "changes force_lang from C.UTF-8 to auto in sdkmanager (as per discussion https://github.com/ansible-collections/community.general/pull/9236#discussion_r1881114326)"

This reverts commit 619f28dd58.

* fixes some more comments from review

* minor sanity issue fix

* uses the 'changed' test instead of checking the 'changed' attribute

* adds 'accept_licenses' parameter. Installation is now performed independently for each package specified.

* removes "Accept licenses" task from examples

* fixes docs sanity issues

* applies minor suggestions from code review

* fixes regexps. The previous version didn't match versions like "32.1.0 rc1". Also, this allows to simplify the parsing logic as there is no need to skip table headers anymore.

* renamed sdkmanager.py to android_sdkmanager.py

* applies minor suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* updates BOTMETA

* reordered BOTMETA

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 2b2872f0ef)

Co-authored-by: Stanislav Shamilov <shamilovstas@protonmail.com>
2024-12-20 23:27:05 +01:00
patchback[bot]
01dce04e33
[PR #9228/c5855d1a backport][stable-10] Clean up Proxmox API token handling by stripping whitespace and forma… (#9288)
Clean up Proxmox API token handling by stripping whitespace and forma… (#9228)

* Clean up Proxmox API token handling by stripping whitespace and formatting the token string

* Update plugins/inventory/proxmox.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/inventory/proxmox.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9228-fix-issue-header.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9228-fix-issue-header.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit c5855d1a58)

Co-authored-by: xilmen <romain.scha@gmail.com>
2024-12-20 23:06:41 +01:00
patchback[bot]
5ab43f0ff1
[PR #9263/2682ec47 backport][stable-10] keycloak_authentication: Fix priority attribute during execution updates (#9292)
keycloak_authentication: Fix priority attribute during execution updates (#9263)

keycloak_authentication: Fix priority attribute during execution updates.

(cherry picked from commit 2682ec47d9)

Co-authored-by: Florian Apolloner <florian@apolloner.eu>
2024-12-20 23:06:31 +01:00
patchback[bot]
910fb933a7
[PR #9279/d629a50b backport][stable-10] yarn: adjust docs (#9287)
yarn: adjust docs (#9279)

(cherry picked from commit d629a50b17)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-20 22:51:13 +01:00
patchback[bot]
7537674d4b
[PR #9282/dcdec6ee backport][stable-10] mh guide: update exception handling (#9285)
mh guide: update exception handling (#9282)

(cherry picked from commit dcdec6ee4e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-20 22:40:24 +01:00
patchback[bot]
6e42e442bc
[PR #9271/50b25f8c backport][stable-10] random_words integration tests: avoid test failure due to valid result (#9274)
random_words integration tests: avoid test failure due to valid result (#9271)

Avoid test failure due to valid result.

(cherry picked from commit 50b25f8c01)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-17 21:33:34 +01:00
patchback[bot]
161539729d
[PR #9259/65827bdc backport][stable-10] Drop myself from team_suse (#9266)
Drop myself from team_suse (#9259)

I no longer work with ansible and/or SUSE so drop me from the team.

(cherry picked from commit 65827bdc96)

Co-authored-by: Thomas Bechtold <thomasbechtold@jpberlin.de>
2024-12-16 20:58:52 +01:00
patchback[bot]
8f76c847fe
[PR #9250/f6dae1fc backport][stable-10] CI: Fix some issues pointed out by zizmor (#9253)
CI: Fix some issues pointed out by zizmor (#9250)

Fix some issues pointed out by zizmor.

(cherry picked from commit f6dae1fc4d)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-14 15:17:05 +01:00
patchback[bot]
3f29683191
[PR #9234/34e8e8e5 backport][stable-10] Fix VerifyBiosAttributes command on Systems with multiple entries (#9249)
Fix VerifyBiosAttributes command on Systems with multiple entries (#9234)

* Fix verify_bios_attributes command

* Add changelog fragment

* Update changelogs/fragments/9234-fix-verify-bios-attributes-multi-system.yml

Improve fragment

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 34e8e8e5d1)

Co-authored-by: Scott Seekamp <sseekamp@coreweave.com>
2024-12-14 11:13:39 +01:00
patchback[bot]
a89990ab9b
[PR #9242/88ea025d backport][stable-10] test helper improvements (#9247)
test helper improvements (#9242)

(cherry picked from commit 88ea025d12)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-14 10:44:16 +01:00
patchback[bot]
7bc937b5e8
[PR #9243/9df4ef9a backport][stable-10] sysrc: add another exclusion for ezjail (#9246)
sysrc: add another exclusion for ezjail (#9243)

Add another exclusion.

(cherry picked from commit 9df4ef9a9c)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-12-13 22:41:07 +01:00
patchback[bot]
a1c39cc882
[PR #9174/d7ad7c2d backport][stable-10] xbps: support --rootdir and --repository (#9233)
xbps: support --rootdir and --repository (#9174)

* xbps: support --rootdir and --repository

* please the robot

* rename repository arg to repositories

* skip repo flag when querying package state

* add accept_pubkey param, detect pubkey import fail

* add example for manually copying signing keys

* bugfix package removal

* fix typos

* change root param type to path

* fix "root" type, bump version_added

* lintfix

(cherry picked from commit d7ad7c2dca)

Co-authored-by: snailed <luca@bil.ke>
2024-12-09 19:38:50 +01:00
patchback[bot]
859039c47a
[PR #9223/6f87bf2b backport][stable-10] Fix incorrect key lookup (#9232)
Fix incorrect key lookup (#9223)

* Fix incorrect key lookup

* Create changelog fragment

(cherry picked from commit 6f87bf2bad)

Co-authored-by: IamLunchbox <56757745+IamLunchbox@users.noreply.github.com>
2024-12-09 19:38:40 +01:00
Felix Fontein
b3f669a574 The next expected release will be 10.2.0. 2024-12-02 21:49:20 +01:00
Felix Fontein
770bae70db Release 10.1.0. 2024-12-02 21:13:38 +01:00
patchback[bot]
0a6c57bc4d
[PR #9202/55d714da backport][stable-10] keycloak_clientscope_type: sort default and optional clientscope lists before diff (#9222)
keycloak_clientscope_type: sort default and optional clientscope lists before diff (#9202)

* sort default and optional clientscope lists before diff

* add changelog fragment

(cherry picked from commit 55d714da81)

Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
2024-12-02 20:35:25 +01:00
patchback[bot]
459b9f3f9a
[PR #9133/a789bd12 backport][stable-10] Add the accumulate filter (#9220)
Add the accumulate filter (#9133)

* Add the accumulate filter

- Add myself as a maintainer for it.
- Some integration tests.

* accumulate: fix documentation and add test aliases

The aliases file was copied over from
tests/integrations/targets/filter_dict/aliases as the documentation[1]
suggests to use the same group as existing similar tests.

[1]: https://docs.ansible.com/ansible/latest/dev_guide/testing/sanity/integration-aliases.html

Suggested-by: Felix Fontein <felix@fontein.de>

* accumulate: documentation: markup consistency with other plugins

Suggested-by: Felix Fontein <felix@fontein.de>
Suggested-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* filter/accumulate: Validate input is a Sequence

Accepting arbitrary iterables might lead to surprising behavior so we
are stricter on what we accept in the filter.
Relaxing those requirements is easier than retrofitting them, in terms
of backwards compatibility.

Suggested-by: Felix Fontein <felix@fontein.de>
Signed-off-by: Max Gautier <mg@max.gautier.name>

* filter/accumulate: Document the behavior with a string

Signed-off-by: Max Gautier <mg@max.gautier.name>

---------

Signed-off-by: Max Gautier <mg@max.gautier.name>
(cherry picked from commit a789bd128f)

Co-authored-by: Max Gautier <mg@max.gautier.name>
2024-12-02 20:35:15 +01:00
patchback[bot]
d9436069f1
[PR #9172/d826dd1c backport][stable-10] opkg: deprecate value "" for force (#9219)
opkg: deprecate value "" for force (#9172)

* opkg: deprecate value "" for force

* fix sanity plus wording

* add comments for future removal

* add changelog frag

(cherry picked from commit d826dd1c88)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-02 20:35:06 +01:00
patchback[bot]
fcf1cb7fbc
[PR #9192/34010a78 backport][stable-10] Add dynamicforward option (#9218)
Add dynamicforward option (#9192)

* Add dynamicforward option

* Add fragment

* Modify fragment

(cherry picked from commit 34010a788a)

Co-authored-by: ONODERA Masaru <46081939+masa-orca@users.noreply.github.com>
2024-12-02 20:34:58 +01:00
patchback[bot]
5727f1afd4
[PR #9168/82462e40 backport][stable-10] Add SR-IOV support to nmcli module (#9217)
Add SR-IOV support to nmcli module (#9168)

* Add SR-IOV support to nmcli module (#9168)

* Add SR-IOV support to nmcli module (#9168)

Fixes

* Add SR-IOV support to nmcli module (#9168)

Add test

* Update changelogs/fragments/9168-nmcli-add-sriov-parameter.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nmcli.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nmcli.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update plugins/modules/nmcli.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Populate sriov options

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 82462e407e)

Co-authored-by: Ian Bishop <151477169+ianb-mp@users.noreply.github.com>
2024-12-02 20:34:49 +01:00
patchback[bot]
fbada0026e
[PR #9190/ab095948 backport][stable-10] redfish_utils module utils: remove redundant code (#9216)
redfish_utils module utils: remove redundant code (#9190)

deprecate method instead

(cherry picked from commit ab0959480e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-12-02 20:34:40 +01:00
patchback[bot]
c4373d5ed5
[PR #9181/fddccea9 backport][stable-10] Greatly speed up homebrew module when multiple packages are passed in the name key (#9215)
Greatly speed up homebrew module when multiple packages are passed in the `name` key  (#9181)

* Increase test coverage and assert output more strictly

* Remove unused `_current_package_is_installed_from_head`

* Remove `un/changed_count` and infer from un/changed_pkgs length

* Track `installed` & `outdated` package state once

* Validate package names beforehand

* Install packages in 1 brew call instead of N

This also has the side effect of fixing the check message so that it prints every packages that will be installed instead of only the first one.

* Uninstall packages in 1 brew call instead of N

* Link packages in 1 brew call instead of N

* Unlink packages in 1 brew call instead of N

* Upgrade packages in 1 brew call instead of N

* Remove dangling checks

* Remove `_status` method and directly return the tuple

* Add changelog fragment

* Fix invalid format string (nice catch pylint!)

* Update changelogs/fragments/9181-improve-homebrew-module-performance.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update brew info parsing for casks

* Update changelogs/fragments/9181-improve-homebrew-module-performance.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit fddccea940)

Co-authored-by: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>
2024-12-02 20:34:31 +01:00
patchback[bot]
54291ab1d1
[PR #9159/da97e220 backport][stable-10] iso_extract: Add password argument (#9214)
iso_extract: Add password argument (#9159)

* iso_extract: Add password argument

* Update iso_extract.py

* Update iso_extract.py

* Update plugins/modules/iso_extract.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Create 9159-iso-extract_add_password.yml

* Update 9159-iso-extract_add_password.yml

* Remove default value for password

* Use password with 7z only

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* Fix indentation

* Update plugins/modules/iso_extract.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* iso_extract: add password warning

* Update plugins/modules/iso_extract.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Shorten a docs line.

* Fix formatting.

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit da97e220ef)

Co-authored-by: jurelou <louis@jurczyk.fr>
2024-12-02 20:34:22 +01:00
patchback[bot]
bbd67b5017
[PR #9175/41b6a281 backport][stable-10] Add decompress module (#9213)
Add decompress module (#9175)

* adds simple implementation of `decompress` module

* adds simple test, fixes src and dest arg types

* minor refactoring

* adds support for common file operations
adds integration test for gz decompressing

* makes tests parametrized to test all supported compression formats

* checks that target file exists

* writes to decompressed file now uses atomic_move

* adds idempotency for decompression

* refactoring, removed classes

* adds support for check mode

* adds check for destination file. If it exists and it is a directory, the module returns error

* refactoring, moves code to a class. Also, simplifies tests (now only tests related to the module core functionality run as parametrized, tests for idempotency and check mode run only for one format)

* adds 'remove' parameter that deletes original compressed file after decompression

* adds documentation

* fixes bug with 'remove' parameter in check mode

* makes dest argument not required. Dest filename now can be produced from the src filename

* adds dest to output

* updates the documentation, adds "RETURN" block

* fixes test

* adds support for python2

* removes some of the test files that can be generated during testing. Adds copyright header to test files

* adds maintainer

* apply minor suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* fixes code review comments (idempotency issue with non existing src, existing dest and remove=true; fixes the issue and adds test)

* refactors the module to use ModuleHelper

* refactors lzma dependency manual check to use 'deps.validate'

* minor fix

* removes registered handlers check

* minor refactoring

* adds aliases

* changes setup for tests

* tests: ignores macos and fixes tests for FreeBSD

* tests: reverts ignore for macos and fixes issue with centos7

* tests: adds liblzma dependency for python2

* tests: adds backports.lzma

* fixes bz2 decompression for python2

* tests: install xz for osx

* tests: install xz for osx (2)

* fixes code review comments

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 41b6a281e1)

Co-authored-by: Stanislav Shamilov <shamilovstas@protonmail.com>
2024-12-02 20:34:01 +01:00
patchback[bot]
6d6d3e8039
[PR #9198/f2dbe08d backport][stable-10] Fail if Slack API response is not OK with error message (#9212)
Fail if Slack API response is not OK with error message (#9198)

* Fails if slack api return is not ok

* add changelog

* show all error

* add doc

* Update plugins/modules/slack.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/9198-fail-if-slack-api-response-is-not-ok-with-error-message.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit f2dbe08d0e)

Co-authored-by: Matthieu Bourgain <aohzan@gmail.com>
2024-12-02 20:33:47 +01:00
patchback[bot]
e31999f369
[PR #9197/c38b4749 backport][stable-10] Add backup module for proxmox (#9210)
Add backup module for proxmox (#9197)

* Defined configuration variables, main backup function todo

* Defined configuration variables, main backup function todo

* wip

* permission checks and basic flow done, final request missing

* ansible-test and unit test open

* Improve documentation

* fix pep8 errors

* remove f-string and fix bugs through manual testing

* longer full example

* improve docs

* error message for fail + timeout

* move sleep location

* remove residual debugger

* include newline for better readability

* more linting errors fixed

* Include UPIDs as return value

* Output logs as comma separated value, move exception and create new abstraction for api calls

* pretter logs

* Update project to final version

* Remove accidential placeholder for integration test

* Fix missing explizit string in docstring

* Reorder imports below docstrings

* remove type annotations and fix indendation of options dict

* prettier idendation and aplhabetic ordering of options dict

* aplhabetic ordering of docstring options

* Remove the rest of type hinting as well :(

* fix version

* improve documentation

* add change detection mode

* refactor list comprehension to filter function

* remove storage availability check for node

* refactor to quotation marks

* Fix trailing newline and incorrect RV usage

* rollback filter plugin

* Remove action_group reference and add proxmox_backup to meta/runtime.yml

* Include note about missing idempotency

---------

Co-authored-by: IamLunchbox <r.grieger@hotmail.com>
(cherry picked from commit c38b474982)

Co-authored-by: IamLunchbox <56757745+IamLunchbox@users.noreply.github.com>
2024-12-02 20:33:38 +01:00
patchback[bot]
09f99e66fe
[PR #9167/420f78de backport][stable-10] Add the options apply_live to rpm_ostree_pkg (#9208)
Add the options apply_live to rpm_ostree_pkg (#9167)

rpm_ostree_pkg: add support for `apply_live` and return value `needs_reboot` #9167

(cherry picked from commit 420f78de2f)

Co-authored-by: shios86 <17804953+shios86@users.noreply.github.com>
2024-11-28 20:06:59 +01:00
patchback[bot]
5491ff7c6a
[PR #9187/f828bdee backport][stable-10] flatpak: force locale language to be C (#9207)
flatpak: force locale language to be C (#9187)

* flatpak: force locale langauge to be C

* add changelog frag

(cherry picked from commit f828bdee22)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-11-28 20:06:51 +01:00
patchback[bot]
163f3ee305
[PR #9186/a863b628 backport][stable-10] fixing broken check mode in the github_key (#9205)
fixing broken check mode in the github_key (#9186)

* fixing datetime.strftime()

* added changelog fragment

* Update changelogs/fragments/9186-fix-broken-check-mode-in-github-key.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit a863b62859)

Co-authored-by: tomcperry <99128358+tomcperry@users.noreply.github.com>
2024-11-28 20:06:38 +01:00
patchback[bot]
4152770281
[PR #9189/b4983086 backport][stable-10] scaleway_lb: simplify function logic (#9196)
scaleway_lb: simplify function logic (#9189)

* scaleway_lb: simplify function logic

* add changelog frag

(cherry picked from commit b49830861c)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-11-26 06:41:02 +01:00
patchback[bot]
ecc9afab0b
[PR #9191/fa7c2df4 backport][stable-10] ufw: add note to docs about concurrency (#9195)
ufw: add note to docs about concurrency (#9191)

* ufw: add note to docs about concurrency

* wordsmithing

(cherry picked from commit fa7c2df4b8)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-11-26 06:40:54 +01:00
patchback[bot]
6f9b954048
[PR #9132/3c23ce4a backport][stable-10] cloudflare_dns: add support for comment and tags (#9184)
`cloudflare_dns`: add support for `comment` and `tags` (#9132)

* `cloudflare_dns`: add support for `comment` and `tags`

* `cloudflare_dns`: add return values for `comment`/`tags` fields

* `cloudflare_dns`: fix return values samples

* `cloudflare_dns`: changelog fragment formatting

* `cloudflare_dns`: add missing `version_added`

* `cloudflare_dns`: remove explicit `required: false`

* `cloudflare_dns`: empty `comment` idempotency fix

(cherry picked from commit 3c23ce4a7b)

Co-authored-by: Sergio <45396489+Sergio-IME@users.noreply.github.com>
2024-11-25 19:49:33 +01:00
patchback[bot]
74cd18b682
[PR #9180/a9449ccc backport][stable-10] pipx/pipx_info: add return value version (#9183)
pipx/pipx_info: add return value version (#9180)

* pipx/pipx_info: add return value version

* add changelog frag

(cherry picked from commit a9449ccc2e)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-11-25 19:49:25 +01:00
patchback[bot]
0b64fc1ee4
[PR #9179/a3bd49c0 backport][stable-10] deps module utils: unit tests + minor improvement (#9182)
deps module utils: unit tests + minor improvement (#9179)

* deps module utils: unit tests + minor improvement

* deps.clear() calls dict.clear() instead of creating new dict

* add changelog frag

(cherry picked from commit a3bd49c010)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-11-25 19:49:12 +01:00
Felix Fontein
5fe39082d5 Prepare 10.1.0 release. 2024-11-23 15:41:15 +01:00
patchback[bot]
0ff52abfdd
[PR #9171/152339a8 backport][stable-10] gio_mime: fix bug when looking for version (#9177)
gio_mime: fix bug when looking for version (#9171)

* gio_mime: fix bug when looking for version

* add changelog frag

(cherry picked from commit 152339a8f9)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2024-11-23 15:18:34 +01:00
patchback[bot]
653ae1b48a
[PR #9113/8078a08f backport][stable-10] Add server-side artifact fetching to proxmox_template module (#9169)
Add server-side artifact fetching to proxmox_template module (#9113)

* Add server-side artifact fetching to proxmox_template module

* Update docs, format per feedback.

* Formatting plugins/modules/proxmox_template.py

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: spencer <Spencer>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 8078a08f72)

Co-authored-by: Spencer Boyer <spencerdboyer@gmail.com>
2024-11-21 21:42:48 +01:00
patchback[bot]
16d124bbe2
[PR #9152/5a971587 backport][stable-10] Update docs for github_app_access_token.py (#9164)
Update docs for github_app_access_token.py (#9152)

* Update github_app_access_token.py

updating docs - github_token missing {{ }}

* Update plugins/lookup/github_app_access_token.py

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 5a9715874a)

Co-authored-by: Ian Richardson <126898943+PredatarIan@users.noreply.github.com>
2024-11-20 19:31:35 +01:00
patchback[bot]
4455df380e
[PR #9157/4b0d5cb8 backport][stable-10] dnf_config_manager: fix parsing for non-english locales (#9166)
dnf_config_manager: fix parsing for non-english locales (#9157)

* dnf_config_manager: forces locale to 'C' when the module starts

* adds changelog fragment

* Apply suggestions from code review

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 4b0d5cb8cf)

Co-authored-by: Stanislav Shamilov <shamilovstas@protonmail.com>
2024-11-20 19:30:35 +01:00
patchback[bot]
06c7ba640e
[PR #9144/54194ccb backport][stable-10] modprobe: document when 'persistent' was added. (#9156)
modprobe: document when 'persistent' was added. (#9144)

This is based on `git tag --contains
29f5033737`.

(cherry picked from commit 54194ccb24)

Co-authored-by: Max Gautier <mg@max.gautier.name>
2024-11-19 20:17:12 +01:00
patchback[bot]
a6f6bcc555
[PR #9145/dc856ab6 backport][stable-10] filters/dict: document the correct return value (#9151)
filters/dict: document the correct return value (#9145)

(cherry picked from commit dc856ab6fe)

Co-authored-by: Max Gautier <mg@max.gautier.name>
2024-11-18 20:58:50 +01:00
patchback[bot]
cd06325f6b
[PR #9143/2a66ac71 backport][stable-10] build(deps): bump fsfe/reuse-action from 4 to 5 (#9148)
build(deps): bump fsfe/reuse-action from 4 to 5 (#9143)

Bumps [fsfe/reuse-action](https://github.com/fsfe/reuse-action) from 4 to 5.
- [Release notes](https://github.com/fsfe/reuse-action/releases)
- [Commits](https://github.com/fsfe/reuse-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: fsfe/reuse-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 2a66ac719a)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-18 19:49:23 +01:00
patchback[bot]
a20ee0e816
[PR #9124/36c7e560 backport][stable-10] dnf_config_manager: use --assumeyes when changing state (#9142)
dnf_config_manager: use --assumeyes when changing state (#9124)

* dnf_config_manager: use --assumeyesm when changing state

* changelog fragment

* update tests

* format fix

* Update changelogs/fragments/9124-dnf_config_manager.yml

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

---------

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 36c7e56005)

Co-authored-by: Andrew Hyatt <4400272+ahyattdev@users.noreply.github.com>
2024-11-17 20:19:55 +00:00
patchback[bot]
acb6a2f76d
[PR #9076/626c0e10 backport][stable-10] Remove redundant HomebrewValidate.valid_package calls in homebrew module. (#9139)
Remove redundant `HomebrewValidate.valid_package` calls in homebrew module. (#9076)

* Remove redundant `HomebrewValidate.valid_package` calls

* Add changelog fragment

(cherry picked from commit 626c0e1049)

Co-authored-by: Thibaut Decombe <68703331+UnknownPlatypus@users.noreply.github.com>
2024-11-16 19:15:31 +01:00
patchback[bot]
5a1c68cb62
[PR #9096/523439ab backport][stable-10] alternatives: add support for "family" parameter (#9138)
alternatives: add support for "family" parameter (#9096)

* alternatives: added parsing and setting of 'family' for an alternative

* alternatives: added checks for path nullability

* alternatives: added idempotence when setting alternative using family

* alternatives: added family to diff mode

* alternatives: added tests for family

* alternatives: updated documentation and examples

* alternatives: added constraints for 'path' and 'family' parameters.

in any invariants at least one of the parameters must be specified

* alternatives: added changelog fragment

* removed unnecessary check

* added version

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 523439ab62)

Co-authored-by: Stanislav Shamilov <shamilovstas@protonmail.com>
2024-11-16 19:15:22 +01:00
patchback[bot]
776374ee78
[PR #9102/737717d0 backport][stable-10] launchd: Add plist option (#9137)
launchd: Add plist option (#9102)

This allows the module to be used with services such as com.openssh.sshd, when
the name of the plist file doesn't match the service name.

fixes #5932

(cherry picked from commit 737717d015)

Co-authored-by: Alex Willmer <alex@moreati.org.uk>
2024-11-16 19:15:12 +01:00
patchback[bot]
c916052124
[PR #9123/1f786a61 backport][stable-10] redfish_command: add update_custom_oem options (#9136)
redfish_command: add update_custom_oem options (#9123)

* redfish_command: add update_custom_oem options

The Multipart HTTP push update implementation allows OEM specific
parts that are not part of the `UpdateParameters` body part, but a
separate one. This OEM part shall start with `Oem` and is optional.
The OEM part implementation is specified in the Redfish spec point
12.6.2.2 [1].

Right now, the implementation will only support JSON as MIME Type,
although it is not limited to JSON.

[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.21.0.html#oem

Signed-off-by: Tan Siewert <tan@siewert.io>

* redfish_command: add option to set custom mime type

The implementation of using a custom MIME type will also remove the
default JSON type.
Converting the payload to JSON or any other type is up to the user.

Signed-off-by: Tan Siewert <tan@siewert.io>

* redfish_command: apply docs changes from review

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* redfish_command: add mime type option to changelog

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Signed-off-by: Tan Siewert <tan@siewert.io>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1f786a6171)

Co-authored-by: Tan Siewert <tom@siewert.io>
2024-11-16 19:15:02 +01:00
patchback[bot]
88b1fbbdf0
[PR #9128/9596995f backport][stable-10] homebrew_cask: add + to valid cask chars (#9135)
homebrew_cask: add + to valid cask chars (#9128)

* fix(homebrew_cask): add + to valid cask chars

* docs(homebrew_cask): add changelog fragment

Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>

* fix(homebrew_cask): add PR link to changelog fragment

Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>

* fix: add period to end of changelog fragment

Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>

* fix: remove blank line from changelog fragment

Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>

* fix: changelog fragment formatting

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>

* Update changelogs/fragments/9128-homebrew_cask-name-regex-fix.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Signed-off-by: Ben Dronen <dronenb@users.noreply.github.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9596995ffc)

Co-authored-by: dronenb <dronenb@users.noreply.github.com>
2024-11-16 19:14:51 +01:00
Felix Fontein
48db44f199 Next release might be 10.0.2 or 10.1.0. 2024-11-11 20:53:44 +01:00
Felix Fontein
eb4c01260f Release 10.0.1. 2024-11-11 20:14:29 +01:00
patchback[bot]
10561e6f30
[PR #9114/bafb8aca backport][stable-10] redfish_utils: remove undocumented default applytime (#9120)
redfish_utils: remove undocumented default applytime (#9114)

* redfish_utils: remove undocumented default applytime

The `@Redfish.OperationApplyTime` parameter is optional as per Redfish
spec version 1.21.0, paragraph 7.11 [1]. Some systems reject the
request rather than ignore it, causing failures that can not be
workarounded.

Removing this default resolves compatibility issues.

[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.21.0.html

Signed-off-by: Tan Siewert <tan@siewert.io>

* redfish_utils: fix changelog fragment to bugfix

Signed-off-by: Tan Siewert <tan@siewert.io>

---------

Signed-off-by: Tan Siewert <tan@siewert.io>
(cherry picked from commit bafb8aca29)

Co-authored-by: Tan Siewert <tom@siewert.io>
2024-11-11 20:13:27 +01:00
Felix Fontein
5c26387a54 Prepare 10.0.1 release. 2024-11-11 20:12:31 +01:00
patchback[bot]
8226ea87cf
[PR #9077/62cb6087 backport][stable-10] keycloak_client: remove code that turns attributes dict into list (#9116)
keycloak_client: remove code that turns attributes dict into list (#9077)

* remove code that turns attributes dict into list

* add changelog fragment

* Update changelogs/fragments/9077-keycloak_client-fix-attributes-dict-turned-into-list.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 62cb6087b5)

Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
2024-11-11 20:12:09 +01:00
patchback[bot]
411c7d4f32
[PR #9082/d27d86ec backport][stable-10] keycloak_clientscope: remove code turning attributes dict into list (#9118)
keycloak_clientscope: remove code turning attributes dict into list (#9082)

* remove code turning attributes dict into list

* add changelog fragment

(cherry picked from commit d27d86ecb1)

Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
2024-11-11 20:11:34 +01:00
patchback[bot]
a2f377c621
[PR #9109/04c2ad18 backport][stable-10] Add FreeBSD 13.4 to CI (#9111)
Add FreeBSD 13.4 to CI (#9109)

* Add FreeBSD 13.4 to CI.

* iso_extract won't work.

* pkgng: jail won't work either.

(cherry picked from commit 04c2ad18da)

Co-authored-by: Felix Fontein <felix@fontein.de>
2024-11-09 10:53:57 +01:00
patchback[bot]
ac0956ed6f
[PR #9104/195ae4af backport][stable-10] ipa_getkeytab: Fix example task (#9112)
ipa_getkeytab: Fix example task (#9104)

Fix ipa_getkeytab example task

(cherry picked from commit 195ae4afde)

Co-authored-by: alexander <79072457+abakanovskii@users.noreply.github.com>
2024-11-09 10:53:42 +01:00
Felix Fontein
0d02265a23 Remove superfluous quotation mark. 2024-11-05 18:31:09 +01:00
Felix Fontein
f38d974d42 The next likely release will be 10.0.1. 2024-11-04 19:55:08 +01:00
Felix Fontein
a975574618 Adjust nightly CI schedules.
(cherry picked from commit e13d6de250)
2024-11-04 19:41:17 +01:00
Felix Fontein
b05fa358e6 Release 10.0.0. 2024-11-04 19:17:50 +01:00
Felix Fontein
c44118ac3c Prepare 10.0.0 release. 2024-11-04 19:16:41 +01:00
1109 changed files with 45803 additions and 26171 deletions

View file

@ -29,14 +29,14 @@ schedules:
always: true always: true
branches: branches:
include: include:
- stable-11
- stable-10 - stable-10
- stable-9
- cron: 0 11 * * 0 - cron: 0 11 * * 0
displayName: Weekly (old stable branches) displayName: Weekly (old stable branches)
always: true always: true
branches: branches:
include: include:
- stable-9 - stable-8
variables: variables:
- name: checkoutPath - name: checkoutPath
@ -51,7 +51,7 @@ variables:
resources: resources:
containers: containers:
- container: default - container: default
image: quay.io/ansible/azure-pipelines-test-container:7.0.0 image: quay.io/ansible/azure-pipelines-test-container:6.0.0
pool: Standard pool: Standard
@ -70,19 +70,6 @@ stages:
- test: 2 - test: 2
- test: 3 - test: 3
- test: 4 - test: 4
- stage: Sanity_2_19
displayName: Sanity 2.19
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: 2.19/sanity/{0}
targets:
- test: 1
- test: 2
- test: 3
- test: 4
- stage: Sanity_2_18 - stage: Sanity_2_18
displayName: Sanity 2.18 displayName: Sanity 2.18
dependsOn: [] dependsOn: []
@ -109,6 +96,19 @@ stages:
- test: 2 - test: 2
- test: 3 - test: 3
- test: 4 - test: 4
- stage: Sanity_2_16
displayName: Sanity 2.16
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: 2.16/sanity/{0}
targets:
- test: 1
- test: 2
- test: 3
- test: 4
### Units ### Units
- stage: Units_devel - stage: Units_devel
displayName: Units devel displayName: Units devel
@ -119,24 +119,12 @@ stages:
nameFormat: Python {0} nameFormat: Python {0}
testFormat: devel/units/{0}/1 testFormat: devel/units/{0}/1
targets: targets:
- test: 3.8
- test: 3.9 - test: 3.9
- test: '3.10' - test: '3.10'
- test: '3.11' - test: '3.11'
- test: '3.12' - test: '3.12'
- test: '3.13' - test: '3.13'
- test: '3.14'
- stage: Units_2_19
displayName: Units 2.19
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: 2.19/units/{0}/1
targets:
- test: 3.8
- test: "3.11"
- test: "3.13"
- stage: Units_2_18 - stage: Units_2_18
displayName: Units 2.18 displayName: Units 2.18
dependsOn: [] dependsOn: []
@ -147,7 +135,6 @@ stages:
testFormat: 2.18/units/{0}/1 testFormat: 2.18/units/{0}/1
targets: targets:
- test: 3.8 - test: 3.8
- test: "3.11"
- test: "3.13" - test: "3.13"
- stage: Units_2_17 - stage: Units_2_17
displayName: Units 2.17 displayName: Units 2.17
@ -159,8 +146,19 @@ stages:
testFormat: 2.17/units/{0}/1 testFormat: 2.17/units/{0}/1
targets: targets:
- test: 3.7 - test: 3.7
- test: "3.10"
- test: "3.12" - test: "3.12"
- stage: Units_2_16
displayName: Units 2.16
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: 2.16/units/{0}/1
targets:
- test: 2.7
- test: 3.6
- test: "3.11"
## Remote ## Remote
- stage: Remote_devel_extra_vms - stage: Remote_devel_extra_vms
@ -171,10 +169,10 @@ stages:
parameters: parameters:
testFormat: devel/{0} testFormat: devel/{0}
targets: targets:
- name: Alpine 3.22 - name: Alpine 3.21
test: alpine/3.22 test: alpine/3.21
# - name: Fedora 42 # - name: Fedora 41
# test: fedora/42 # test: fedora/41
- name: Ubuntu 22.04 - name: Ubuntu 22.04
test: ubuntu/22.04 test: ubuntu/22.04
- name: Ubuntu 24.04 - name: Ubuntu 24.04
@ -191,32 +189,12 @@ stages:
targets: targets:
- name: macOS 15.3 - name: macOS 15.3
test: macos/15.3 test: macos/15.3
- name: RHEL 10.0
test: rhel/10.0
- name: RHEL 9.6
test: rhel/9.6
- name: FreeBSD 14.3
test: freebsd/14.3
- name: FreeBSD 13.5
test: freebsd/13.5
groups:
- 1
- 2
- 3
- stage: Remote_2_19
displayName: Remote 2.19
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.19/{0}
targets:
- name: RHEL 9.5 - name: RHEL 9.5
test: rhel/9.5 test: rhel/9.5
- name: RHEL 10.0
test: rhel/10.0
- name: FreeBSD 14.2 - name: FreeBSD 14.2
test: freebsd/14.2 test: freebsd/14.2
- name: FreeBSD 13.5
test: freebsd/13.5
groups: groups:
- 1 - 1
- 2 - 2
@ -247,10 +225,34 @@ stages:
parameters: parameters:
testFormat: 2.17/{0} testFormat: 2.17/{0}
targets: targets:
- name: FreeBSD 13.5 - name: FreeBSD 13.3
test: freebsd/13.5 test: freebsd/13.3
- name: RHEL 9.3 - name: RHEL 9.3
test: rhel/9.3 test: rhel/9.3
- name: FreeBSD 14.0
test: freebsd/14.0
groups:
- 1
- 2
- 3
- stage: Remote_2_16
displayName: Remote 2.16
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.16/{0}
targets:
- name: macOS 13.2
test: macos/13.2
- name: RHEL 9.2
test: rhel/9.2
- name: RHEL 8.8
test: rhel/8.8
- name: RHEL 7.9
test: rhel/7.9
# - name: FreeBSD 13.2
# test: freebsd/13.2
groups: groups:
- 1 - 1
- 2 - 2
@ -264,31 +266,15 @@ stages:
- template: templates/matrix.yml - template: templates/matrix.yml
parameters: parameters:
testFormat: devel/linux/{0} testFormat: devel/linux/{0}
targets:
- name: Fedora 42
test: fedora42
- name: Alpine 3.22
test: alpine322
- name: Ubuntu 22.04
test: ubuntu2204
- name: Ubuntu 24.04
test: ubuntu2404
groups:
- 1
- 2
- 3
- stage: Docker_2_19
displayName: Docker 2.19
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.19/linux/{0}
targets: targets:
- name: Fedora 41 - name: Fedora 41
test: fedora41 test: fedora41
- name: Alpine 3.21 - name: Alpine 3.21
test: alpine321 test: alpine321
- name: Ubuntu 22.04
test: ubuntu2204
- name: Ubuntu 24.04
test: ubuntu2404
groups: groups:
- 1 - 1
- 2 - 2
@ -329,6 +315,26 @@ stages:
- 1 - 1
- 2 - 2
- 3 - 3
- stage: Docker_2_16
displayName: Docker 2.16
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.16/linux/{0}
targets:
- name: Fedora 38
test: fedora38
- name: openSUSE 15
test: opensuse15
- name: Alpine 3
test: alpine3
- name: CentOS 7
test: centos7
groups:
- 1
- 2
- 3
### Community Docker ### Community Docker
- stage: Docker_community_devel - stage: Docker_community_devel
@ -361,19 +367,8 @@ stages:
# nameFormat: Python {0} # nameFormat: Python {0}
# testFormat: devel/generic/{0}/1 # testFormat: devel/generic/{0}/1
# targets: # targets:
# - test: '3.9' # - test: '3.8'
# - test: '3.12' # - test: '3.11'
# - test: '3.14'
# - stage: Generic_2_19
# displayName: Generic 2.19
# dependsOn: []
# jobs:
# - template: templates/matrix.yml
# parameters:
# nameFormat: Python {0}
# testFormat: 2.19/generic/{0}/1
# targets:
# - test: '3.9'
# - test: '3.13' # - test: '3.13'
# - stage: Generic_2_18 # - stage: Generic_2_18
# displayName: Generic 2.18 # displayName: Generic 2.18
@ -397,32 +392,44 @@ stages:
# targets: # targets:
# - test: '3.7' # - test: '3.7'
# - test: '3.12' # - test: '3.12'
# - stage: Generic_2_16
# displayName: Generic 2.16
# dependsOn: []
# jobs:
# - template: templates/matrix.yml
# parameters:
# nameFormat: Python {0}
# testFormat: 2.16/generic/{0}/1
# targets:
# - test: '2.7'
# - test: '3.6'
# - test: '3.11'
- stage: Summary - stage: Summary
condition: succeededOrFailed() condition: succeededOrFailed()
dependsOn: dependsOn:
- Sanity_devel - Sanity_devel
- Sanity_2_19
- Sanity_2_18 - Sanity_2_18
- Sanity_2_17 - Sanity_2_17
- Sanity_2_16
- Units_devel - Units_devel
- Units_2_19
- Units_2_18 - Units_2_18
- Units_2_17 - Units_2_17
- Units_2_16
- Remote_devel_extra_vms - Remote_devel_extra_vms
- Remote_devel - Remote_devel
- Remote_2_19
- Remote_2_18 - Remote_2_18
- Remote_2_17 - Remote_2_17
- Remote_2_16
- Docker_devel - Docker_devel
- Docker_2_19
- Docker_2_18 - Docker_2_18
- Docker_2_17 - Docker_2_17
- Docker_2_16
- Docker_community_devel - Docker_community_devel
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled. # Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
# - Generic_devel # - Generic_devel
# - Generic_2_19
# - Generic_2_18 # - Generic_2_18
# - Generic_2_17 # - Generic_2_17
# - Generic_2_16
jobs: jobs:
- template: templates/coverage.yml - template: templates/coverage.yml

View file

@ -50,11 +50,11 @@ jobs:
parameters: parameters:
jobs: jobs:
- ${{ if eq(length(parameters.groups), 0) }}: - ${{ if eq(length(parameters.groups), 0) }}:
- ${{ each target in parameters.targets }}: - ${{ each target in parameters.targets }}:
- name: ${{ format(parameters.nameFormat, coalesce(target.name, target.test)) }} - name: ${{ format(parameters.nameFormat, coalesce(target.name, target.test)) }}
test: ${{ format(parameters.testFormat, coalesce(target.test, target.name)) }} test: ${{ format(parameters.testFormat, coalesce(target.test, target.name)) }}
- ${{ if not(eq(length(parameters.groups), 0)) }}: - ${{ if not(eq(length(parameters.groups), 0)) }}:
- ${{ each group in parameters.groups }}: - ${{ each group in parameters.groups }}:
- ${{ each target in parameters.targets }}: - ${{ each target in parameters.targets }}:
- name: ${{ format(format(parameters.nameGroupFormat, parameters.nameFormat), coalesce(target.name, target.test), group) }} - name: ${{ format(format(parameters.nameGroupFormat, parameters.nameFormat), coalesce(target.name, target.test), group) }}
test: ${{ format(format(parameters.testGroupFormat, parameters.testFormat), coalesce(target.test, target.name), group) }} test: ${{ format(format(parameters.testGroupFormat, parameters.testFormat), coalesce(target.test, target.name), group) }}

View file

@ -14,37 +14,37 @@ parameters:
jobs: jobs:
- ${{ each job in parameters.jobs }}: - ${{ each job in parameters.jobs }}:
- job: test_${{ replace(replace(replace(job.test, '/', '_'), '.', '_'), '-', '_') }} - job: test_${{ replace(replace(replace(job.test, '/', '_'), '.', '_'), '-', '_') }}
displayName: ${{ job.name }} displayName: ${{ job.name }}
container: default container: default
workspace: workspace:
clean: all clean: all
steps: steps:
- checkout: self - checkout: self
fetchDepth: $(fetchDepth) fetchDepth: $(fetchDepth)
path: $(checkoutPath) path: $(checkoutPath)
- bash: .azure-pipelines/scripts/run-tests.sh "$(entryPoint)" "${{ job.test }}" "$(coverageBranches)" - bash: .azure-pipelines/scripts/run-tests.sh "$(entryPoint)" "${{ job.test }}" "$(coverageBranches)"
displayName: Run Tests displayName: Run Tests
- bash: .azure-pipelines/scripts/process-results.sh - bash: .azure-pipelines/scripts/process-results.sh
condition: succeededOrFailed() condition: succeededOrFailed()
displayName: Process Results displayName: Process Results
- bash: .azure-pipelines/scripts/aggregate-coverage.sh "$(Agent.TempDirectory)" - bash: .azure-pipelines/scripts/aggregate-coverage.sh "$(Agent.TempDirectory)"
condition: eq(variables.haveCoverageData, 'true') condition: eq(variables.haveCoverageData, 'true')
displayName: Aggregate Coverage Data displayName: Aggregate Coverage Data
- task: PublishTestResults@2 - task: PublishTestResults@2
condition: eq(variables.haveTestResults, 'true') condition: eq(variables.haveTestResults, 'true')
inputs: inputs:
testResultsFiles: "$(outputPath)/junit/*.xml" testResultsFiles: "$(outputPath)/junit/*.xml"
displayName: Publish Test Results displayName: Publish Test Results
- task: PublishPipelineArtifact@1 - task: PublishPipelineArtifact@1
condition: eq(variables.haveBotResults, 'true') condition: eq(variables.haveBotResults, 'true')
displayName: Publish Bot Results displayName: Publish Bot Results
inputs: inputs:
targetPath: "$(outputPath)/bot/" targetPath: "$(outputPath)/bot/"
artifactName: "Bot $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)" artifactName: "Bot $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
- task: PublishPipelineArtifact@1 - task: PublishPipelineArtifact@1
condition: eq(variables.haveCoverageData, 'true') condition: eq(variables.haveCoverageData, 'true')
displayName: Publish Coverage Data displayName: Publish Coverage Data
inputs: inputs:
targetPath: "$(Agent.TempDirectory)/coverage/" targetPath: "$(Agent.TempDirectory)/coverage/"
artifactName: "Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)" artifactName: "Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"

View file

@ -1,9 +0,0 @@
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
# YAML reformatting
d032de3b16eed11ea3a31cd3d96d78f7c46a2ee0
e8f965fbf8154ea177c6622da149f2ae8533bd3c
e938ca5f20651abc160ee6aba10014013d04dcc1
eaa5e07b2866e05b6c7b5628ca92e9cb1142d008

86
.github/BOTMETA.yml vendored
View file

@ -77,8 +77,6 @@ files:
$callbacks/opentelemetry.py: $callbacks/opentelemetry.py:
keywords: opentelemetry observability keywords: opentelemetry observability
maintainers: v1v maintainers: v1v
$callbacks/print_task.py:
maintainers: demonpig
$callbacks/say.py: $callbacks/say.py:
keywords: brew cask darwin homebrew macosx macports osx keywords: brew cask darwin homebrew macosx macports osx
labels: macos say labels: macos say
@ -92,8 +90,6 @@ files:
maintainers: ryancurrah maintainers: ryancurrah
$callbacks/syslog_json.py: $callbacks/syslog_json.py:
maintainers: imjoseangel maintainers: imjoseangel
$callbacks/tasks_only.py:
maintainers: felixfontein
$callbacks/timestamp.py: $callbacks/timestamp.py:
maintainers: kurokobo maintainers: kurokobo
$callbacks/unixy.py: $callbacks/unixy.py:
@ -115,6 +111,9 @@ files:
$connections/lxd.py: $connections/lxd.py:
labels: lxd labels: lxd
maintainers: mattclay maintainers: mattclay
$connections/proxmox_pct_remote.py:
labels: proxmox
maintainers: mietzen
$connections/qubes.py: $connections/qubes.py:
maintainers: kushaldas maintainers: kushaldas
$connections/saltstack.py: $connections/saltstack.py:
@ -126,6 +125,8 @@ files:
maintainers: $team_ansible_core maintainers: $team_ansible_core
$doc_fragments/: $doc_fragments/:
labels: docs_fragments labels: docs_fragments
$doc_fragments/clc.py:
maintainers: clc-runner russoz
$doc_fragments/django.py: $doc_fragments/django.py:
maintainers: russoz maintainers: russoz
$doc_fragments/hpe3par.py: $doc_fragments/hpe3par.py:
@ -209,8 +210,6 @@ files:
maintainers: resmo maintainers: resmo
$filters/to_months.yml: $filters/to_months.yml:
maintainers: resmo maintainers: resmo
$filters/to_prettytable.py:
maintainers: tgadiev
$filters/to_seconds.yml: $filters/to_seconds.yml:
maintainers: resmo maintainers: resmo
$filters/to_time_unit.yml: $filters/to_time_unit.yml:
@ -246,9 +245,13 @@ files:
keywords: opennebula dynamic inventory script keywords: opennebula dynamic inventory script
labels: cloud opennebula labels: cloud opennebula
maintainers: feldsam maintainers: feldsam
$inventories/proxmox.py:
maintainers: $team_virt ilijamt krauthosting
$inventories/scaleway.py: $inventories/scaleway.py:
labels: cloud scaleway labels: cloud scaleway
maintainers: $team_scaleway maintainers: $team_scaleway
$inventories/stackpath_compute.py:
maintainers: shayrybak
$inventories/virtualbox.py: {} $inventories/virtualbox.py: {}
$inventories/xen_orchestra.py: $inventories/xen_orchestra.py:
maintainers: ddelnano shinuza maintainers: ddelnano shinuza
@ -292,6 +295,9 @@ files:
$lookups/lastpass.py: {} $lookups/lastpass.py: {}
$lookups/lmdb_kv.py: $lookups/lmdb_kv.py:
maintainers: jpmens maintainers: jpmens
$lookups/manifold.py:
labels: manifold
maintainers: galanoff
$lookups/merge_variables.py: $lookups/merge_variables.py:
maintainers: rlenferink m-a-r-k-e alpex8 maintainers: rlenferink m-a-r-k-e alpex8
$lookups/onepass: $lookups/onepass:
@ -379,8 +385,6 @@ files:
$module_utils/pipx.py: $module_utils/pipx.py:
labels: pipx labels: pipx
maintainers: russoz maintainers: russoz
$module_utils/pkg_req.py:
maintainers: russoz
$module_utils/python_runner.py: $module_utils/python_runner.py:
maintainers: russoz maintainers: russoz
$module_utils/puppet.py: $module_utils/puppet.py:
@ -415,8 +419,6 @@ files:
$module_utils/wdc_redfish_utils.py: $module_utils/wdc_redfish_utils.py:
labels: wdc_redfish_utils labels: wdc_redfish_utils
maintainers: $team_wdc maintainers: $team_wdc
$module_utils/xdg_mime.py:
maintainers: mhalano
$module_utils/xenserver.py: $module_utils/xenserver.py:
labels: xenserver labels: xenserver
maintainers: bvitnik maintainers: bvitnik
@ -500,6 +502,8 @@ files:
maintainers: NickatEpic maintainers: NickatEpic
$modules/cisco_webex.py: $modules/cisco_webex.py:
maintainers: drew-russell maintainers: drew-russell
$modules/clc_:
maintainers: clc-runner
$modules/cloud_init_data_facts.py: $modules/cloud_init_data_facts.py:
maintainers: resmo maintainers: resmo
$modules/cloudflare_dns.py: $modules/cloudflare_dns.py:
@ -658,6 +662,8 @@ files:
maintainers: marns93 maintainers: marns93
$modules/hg.py: $modules/hg.py:
maintainers: yeukhon maintainers: yeukhon
$modules/hipchat.py:
maintainers: pb8226 shirou
$modules/homebrew.py: $modules/homebrew.py:
ignore: ryansb ignore: ryansb
keywords: brew cask darwin homebrew macosx macports osx keywords: brew cask darwin homebrew macosx macports osx
@ -783,8 +789,6 @@ files:
maintainers: brettmilford unnecessary-username juanmcasanova maintainers: brettmilford unnecessary-username juanmcasanova
$modules/jenkins_build_info.py: $modules/jenkins_build_info.py:
maintainers: juanmcasanova maintainers: juanmcasanova
$modules/jenkins_credential.py:
maintainers: YoussefKhalidAli
$modules/jenkins_job.py: $modules/jenkins_job.py:
maintainers: sermilrod maintainers: sermilrod
$modules/jenkins_job_info.py: $modules/jenkins_job_info.py:
@ -901,8 +905,6 @@ files:
maintainers: nerzhul maintainers: nerzhul
$modules/lvg.py: $modules/lvg.py:
maintainers: abulimov maintainers: abulimov
$modules/lvm_pv.py:
maintainers: klention
$modules/lvg_rename.py: $modules/lvg_rename.py:
maintainers: lszomor maintainers: lszomor
$modules/lvol.py: $modules/lvol.py:
@ -1057,7 +1059,7 @@ files:
$modules/ovh_monthly_billing.py: $modules/ovh_monthly_billing.py:
maintainers: fraff maintainers: fraff
$modules/pacemaker_cluster.py: $modules/pacemaker_cluster.py:
maintainers: matbu munchtoast maintainers: matbu
$modules/pacemaker_resource.py: $modules/pacemaker_resource.py:
maintainers: munchtoast maintainers: munchtoast
$modules/packet_: $modules/packet_:
@ -1135,6 +1137,36 @@ files:
maintainers: $team_bsd berenddeboer maintainers: $team_bsd berenddeboer
$modules/pritunl_: $modules/pritunl_:
maintainers: Lowess maintainers: Lowess
$modules/profitbricks:
maintainers: baldwinSPC
$modules/proxmox:
keywords: kvm libvirt proxmox qemu
labels: proxmox virt
maintainers: $team_virt UnderGreen krauthosting
ignore: tleguern
$modules/proxmox.py:
ignore: skvidal
maintainers: UnderGreen krauthosting
$modules/proxmox_disk.py:
maintainers: castorsky krauthosting
$modules/proxmox_kvm.py:
ignore: skvidal
maintainers: helldorado krauthosting
$modules/proxmox_backup.py:
maintainers: IamLunchbox
$modules/proxmox_backup_info.py:
maintainers: raoufnezhad mmayabi
$modules/proxmox_nic.py:
maintainers: Kogelvis krauthosting
$modules/proxmox_node_info.py:
maintainers: jwbernin krauthosting
$modules/proxmox_storage_contents_info.py:
maintainers: l00ptr krauthosting
$modules/proxmox_tasks_info:
maintainers: paginabianca krauthosting
$modules/proxmox_template.py:
ignore: skvidal
maintainers: UnderGreen krauthosting
$modules/pubnub_blocks.py: $modules/pubnub_blocks.py:
maintainers: parfeon pubnub maintainers: parfeon pubnub
$modules/pulp_repo.py: $modules/pulp_repo.py:
@ -1205,9 +1237,9 @@ files:
$modules/scaleway_compute_private_network.py: $modules/scaleway_compute_private_network.py:
maintainers: pastral maintainers: pastral
$modules/scaleway_container.py: $modules/scaleway_container.py:
maintainers: Lunik maintainers: Lunik
$modules/scaleway_container_info.py: $modules/scaleway_container_info.py:
maintainers: Lunik maintainers: Lunik
$modules/scaleway_container_namespace.py: $modules/scaleway_container_namespace.py:
maintainers: Lunik maintainers: Lunik
$modules/scaleway_container_namespace_info.py: $modules/scaleway_container_namespace_info.py:
@ -1415,8 +1447,6 @@ files:
maintainers: dinoocch the-maldridge maintainers: dinoocch the-maldridge
$modules/xcc_: $modules/xcc_:
maintainers: panyy3 renxulei maintainers: panyy3 renxulei
$modules/xdg_mime.py:
maintainers: mhalano
$modules/xenserver_: $modules/xenserver_:
maintainers: bvitnik maintainers: bvitnik
$modules/xenserver_facts.py: $modules/xenserver_facts.py:
@ -1449,8 +1479,6 @@ files:
maintainers: natefoo maintainers: natefoo
$modules/znode.py: $modules/znode.py:
maintainers: treyperry maintainers: treyperry
$modules/zpool.py:
maintainers: tomhesse
$modules/zpool_facts: $modules/zpool_facts:
keywords: beadm dladm illumos ipadm nexenta omnios openindiana pfexec smartos solaris sunos zfs zpool keywords: beadm dladm illumos ipadm nexenta omnios openindiana pfexec smartos solaris sunos zfs zpool
labels: solaris labels: solaris
@ -1517,22 +1545,6 @@ files:
maintainers: russoz maintainers: russoz
docs/docsite/rst/guide_deps.rst: docs/docsite/rst/guide_deps.rst:
maintainers: russoz maintainers: russoz
docs/docsite/rst/guide_iocage.rst:
maintainers: russoz felixfontein
docs/docsite/rst/guide_iocage_inventory.rst:
maintainers: vbotka
docs/docsite/rst/guide_iocage_inventory_aliases.rst:
maintainers: vbotka
docs/docsite/rst/guide_iocage_inventory_basics.rst:
maintainers: vbotka
docs/docsite/rst/guide_iocage_inventory_dhcp.rst:
maintainers: vbotka
docs/docsite/rst/guide_iocage_inventory_hooks.rst:
maintainers: vbotka
docs/docsite/rst/guide_iocage_inventory_properties.rst:
maintainers: vbotka
docs/docsite/rst/guide_iocage_inventory_tags.rst:
maintainers: vbotka
docs/docsite/rst/guide_modulehelper.rst: docs/docsite/rst/guide_modulehelper.rst:
maintainers: russoz maintainers: russoz
docs/docsite/rst/guide_online.rst: docs/docsite/rst/guide_online.rst:

View file

@ -7,147 +7,147 @@ name: Bug report
description: Create a report to help us improve description: Create a report to help us improve
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Verify first that your issue is not [already reported on GitHub][issue search]. Verify first that your issue is not [already reported on GitHub][issue search].
Also test if the latest release and devel branch are affected too. Also test if the latest release and devel branch are affected too.
*Complete **all** sections as described, this form is processed automatically.* *Complete **all** sections as described, this form is processed automatically.*
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues [issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
- type: textarea - type: textarea
attributes: attributes:
label: Summary label: Summary
description: Explain the problem briefly below. description: Explain the problem briefly below.
placeholder: >- placeholder: >-
When I try to do X with the collection from the main branch on GitHub, Y When I try to do X with the collection from the main branch on GitHub, Y
breaks in a way Z under the env E. Here are all the details I know breaks in a way Z under the env E. Here are all the details I know
about this problem... about this problem...
validations: validations:
required: true
- type: dropdown
attributes:
label: Issue Type
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Bug Report
validations:
required: true
- type: textarea
attributes:
# For smaller collections we could use a multi-select and hardcode the list
# May generate this list via GitHub action and walking files under https://github.com/ansible-collections/community.general/tree/main/plugins
# Select from list, filter as you type (`mysql` would only show the 3 mysql components)
# OR freeform - doesn't seem to be supported in adaptivecards
label: Component Name
description: >-
Write the short name of the module, plugin, task or feature below,
*use your best guess if unsure*. Do not include `community.general.`!
placeholder: dnf, apt, yum, pip, user etc.
validations:
required: true
- type: textarea
attributes:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` between
tripple backticks.
value: |
```console (paste below)
$ ansible --version
```
validations:
required: true
- type: textarea
attributes:
label: Community.general Version
description: >-
Paste verbatim output from "ansible-galaxy collection list community.general"
between tripple backticks.
value: |
```console (paste below)
$ ansible-galaxy collection list community.general
```
validations:
required: true
- type: textarea
attributes:
label: Configuration
description: >-
If this issue has an example piece of YAML that can help to reproduce this problem, please provide it.
This can be a piece of YAML from, e.g., an automation, script, scene or configuration.
Paste verbatim output from `ansible-config dump --only-changed` between quotes
value: |
```console (paste below)
$ ansible-config dump --only-changed
```
- type: textarea
attributes:
label: OS / Environment
description: >-
Provide all relevant information below, e.g. target OS versions,
network device firmware, etc.
placeholder: RHEL 8, CentOS Stream etc.
validations:
required: false
- type: textarea
attributes:
label: Steps to Reproduce
description: |
Describe exactly how to reproduce the problem, using a minimal test-case. It would *really* help us understand your problem if you could also passed any playbooks, configs and commands you used.
**HINT:** You can paste https://gist.github.com links for larger files.
value: |
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
```
validations:
required: true
- type: textarea
attributes:
label: Expected Results
description: >-
Describe what you expected to happen when running the steps above.
placeholder: >-
I expected X to happen because I assumed Y.
that it did not.
validations:
required: true
- type: textarea
attributes:
label: Actual Results
description: |
Describe what actually happened. If possible run with extra verbosity (`-vvvv`).
Paste verbatim command output between quotes.
value: |
```console (paste below)
```
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
options:
- label: I agree to follow the Ansible Code of Conduct
required: true required: true
- type: dropdown
attributes:
label: Issue Type
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Bug Report
validations:
required: true
- type: textarea
attributes:
# For smaller collections we could use a multi-select and hardcode the list
# May generate this list via GitHub action and walking files under https://github.com/ansible-collections/community.general/tree/main/plugins
# Select from list, filter as you type (`mysql` would only show the 3 mysql components)
# OR freeform - doesn't seem to be supported in adaptivecards
label: Component Name
description: >-
Write the short name of the module, plugin, task or feature below,
*use your best guess if unsure*. Do not include `community.general.`!
placeholder: dnf, apt, yum, pip, user etc.
validations:
required: true
- type: textarea
attributes:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` between
tripple backticks.
value: |
```console (paste below)
$ ansible --version
```
validations:
required: true
- type: textarea
attributes:
label: Community.general Version
description: >-
Paste verbatim output from "ansible-galaxy collection list community.general"
between tripple backticks.
value: |
```console (paste below)
$ ansible-galaxy collection list community.general
```
validations:
required: true
- type: textarea
attributes:
label: Configuration
description: >-
If this issue has an example piece of YAML that can help to reproduce this problem, please provide it.
This can be a piece of YAML from, e.g., an automation, script, scene or configuration.
Paste verbatim output from `ansible-config dump --only-changed` between quotes
value: |
```console (paste below)
$ ansible-config dump --only-changed
```
- type: textarea
attributes:
label: OS / Environment
description: >-
Provide all relevant information below, e.g. target OS versions,
network device firmware, etc.
placeholder: RHEL 8, CentOS Stream etc.
validations:
required: false
- type: textarea
attributes:
label: Steps to Reproduce
description: |
Describe exactly how to reproduce the problem, using a minimal test-case. It would *really* help us understand your problem if you could also passed any playbooks, configs and commands you used.
**HINT:** You can paste https://gist.github.com links for larger files.
value: |
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
```
validations:
required: true
- type: textarea
attributes:
label: Expected Results
description: >-
Describe what you expected to happen when running the steps above.
placeholder: >-
I expected X to happen because I assumed Y.
that it did not.
validations:
required: true
- type: textarea
attributes:
label: Actual Results
description: |
Describe what actually happened. If possible run with extra verbosity (`-vvvv`).
Paste verbatim command output between quotes.
value: |
```console (paste below)
```
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
options:
- label: I agree to follow the Ansible Code of Conduct
required: true
... ...

View file

@ -6,26 +6,26 @@
# Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser # Ref: https://help.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: false # default: true blank_issues_enabled: false # default: true
contact_links: contact_links:
- name: Security bug report - name: Security bug report
url: https://docs.ansible.com/ansible-core/devel/community/reporting_bugs_and_features.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections url: https://docs.ansible.com/ansible-core/devel/community/reporting_bugs_and_features.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
about: | about: |
Please learn how to report security vulnerabilities here. Please learn how to report security vulnerabilities here.
For all security related bugs, email security@ansible.com For all security related bugs, email security@ansible.com
instead of using this issue tracker and you will receive instead of using this issue tracker and you will receive
a prompt response. a prompt response.
For more information, see For more information, see
https://docs.ansible.com/ansible/latest/community/reporting_bugs_and_features.html https://docs.ansible.com/ansible/latest/community/reporting_bugs_and_features.html
- name: Ansible Code of Conduct - name: Ansible Code of Conduct
url: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections url: https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
about: Be nice to other members of the community. about: Be nice to other members of the community.
- name: Talks to the community - name: Talks to the community
url: https://docs.ansible.com/ansible/latest/community/communication.html?utm_medium=github&utm_source=issue_template_chooser#mailing-list-information url: https://docs.ansible.com/ansible/latest/community/communication.html?utm_medium=github&utm_source=issue_template_chooser#mailing-list-information
about: Please ask and answer usage questions here about: Please ask and answer usage questions here
- name: Working groups - name: Working groups
url: https://github.com/ansible/community/wiki url: https://github.com/ansible/community/wiki
about: Interested in improving a specific area? Become a part of a working group! about: Interested in improving a specific area? Become a part of a working group!
- name: For Enterprise - name: For Enterprise
url: https://www.ansible.com/products/engine?utm_medium=github&utm_source=issue_template_chooser_ansible_collections url: https://www.ansible.com/products/engine?utm_medium=github&utm_source=issue_template_chooser_ansible_collections
about: Red Hat offers support for the Ansible Automation Platform about: Red Hat offers support for the Ansible Automation Platform

View file

@ -8,122 +8,122 @@ description: Ask us about docs
# NOTE: issue body is enabled to allow screenshots # NOTE: issue body is enabled to allow screenshots
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Verify first that your issue is not [already reported on GitHub][issue search]. Verify first that your issue is not [already reported on GitHub][issue search].
Also test if the latest release and devel branch are affected too. Also test if the latest release and devel branch are affected too.
*Complete **all** sections as described, this form is processed automatically.* *Complete **all** sections as described, this form is processed automatically.*
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues [issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
- type: textarea - type: textarea
attributes: attributes:
label: Summary label: Summary
description: | description: |
Explain the problem briefly below, add suggestions to wording or structure. Explain the problem briefly below, add suggestions to wording or structure.
**HINT:** Did you know the documentation has an `Edit on GitHub` link on every page? **HINT:** Did you know the documentation has an `Edit on GitHub` link on every page?
placeholder: >- placeholder: >-
I was reading the Collection documentation of version X and I'm having I was reading the Collection documentation of version X and I'm having
problems understanding Y. It would be very helpful if that got problems understanding Y. It would be very helpful if that got
rephrased as Z. rephrased as Z.
validations: validations:
required: true
- type: dropdown
attributes:
label: Issue Type
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Documentation Report
validations:
required: true
- type: input
attributes:
label: Component Name
description: >-
Write the short name of the file, module, plugin, task or feature below,
*use your best guess if unsure*. Do not include `community.general.`!
placeholder: mysql_user
validations:
required: true
- type: textarea
attributes:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` between
tripple backticks.
value: |
```console (paste below)
$ ansible --version
```
validations:
required: false
- type: textarea
attributes:
label: Community.general Version
description: >-
Paste verbatim output from "ansible-galaxy collection list community.general"
between tripple backticks.
value: |
```console (paste below)
$ ansible-galaxy collection list community.general
```
validations:
required: true
- type: textarea
attributes:
label: Configuration
description: >-
Paste verbatim output from `ansible-config dump --only-changed` between quotes.
value: |
```console (paste below)
$ ansible-config dump --only-changed
```
validations:
required: false
- type: textarea
attributes:
label: OS / Environment
description: >-
Provide all relevant information below, e.g. OS version,
browser, etc.
placeholder: Fedora 33, Firefox etc.
validations:
required: false
- type: textarea
attributes:
label: Additional Information
description: |
Describe how this improves the documentation, e.g. before/after situation or screenshots.
**Tip:** It's not possible to upload the screenshot via this field directly but you can use the last textarea in this form to attach them.
**HINT:** You can paste https://gist.github.com links for larger files.
placeholder: >-
When the improvement is applied, it makes it more straightforward
to understand X.
validations:
required: false
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
options:
- label: I agree to follow the Ansible Code of Conduct
required: true required: true
- type: dropdown
attributes:
label: Issue Type
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Documentation Report
validations:
required: true
- type: input
attributes:
label: Component Name
description: >-
Write the short name of the file, module, plugin, task or feature below,
*use your best guess if unsure*. Do not include `community.general.`!
placeholder: mysql_user
validations:
required: true
- type: textarea
attributes:
label: Ansible Version
description: >-
Paste verbatim output from `ansible --version` between
tripple backticks.
value: |
```console (paste below)
$ ansible --version
```
validations:
required: false
- type: textarea
attributes:
label: Community.general Version
description: >-
Paste verbatim output from "ansible-galaxy collection list community.general"
between tripple backticks.
value: |
```console (paste below)
$ ansible-galaxy collection list community.general
```
validations:
required: true
- type: textarea
attributes:
label: Configuration
description: >-
Paste verbatim output from `ansible-config dump --only-changed` between quotes.
value: |
```console (paste below)
$ ansible-config dump --only-changed
```
validations:
required: false
- type: textarea
attributes:
label: OS / Environment
description: >-
Provide all relevant information below, e.g. OS version,
browser, etc.
placeholder: Fedora 33, Firefox etc.
validations:
required: false
- type: textarea
attributes:
label: Additional Information
description: |
Describe how this improves the documentation, e.g. before/after situation or screenshots.
**Tip:** It's not possible to upload the screenshot via this field directly but you can use the last textarea in this form to attach them.
**HINT:** You can paste https://gist.github.com links for larger files.
placeholder: >-
When the improvement is applied, it makes it more straightforward
to understand X.
validations:
required: false
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
options:
- label: I agree to follow the Ansible Code of Conduct
required: true
... ...

View file

@ -7,67 +7,67 @@ name: Feature request
description: Suggest an idea for this project description: Suggest an idea for this project
body: body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Verify first that your issue is not [already reported on GitHub][issue search]. Verify first that your issue is not [already reported on GitHub][issue search].
Also test if the latest release and devel branch are affected too. Also test if the latest release and devel branch are affected too.
*Complete **all** sections as described, this form is processed automatically.* *Complete **all** sections as described, this form is processed automatically.*
[issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues [issue search]: https://github.com/ansible-collections/community.general/search?q=is%3Aissue&type=issues
- type: textarea - type: textarea
attributes: attributes:
label: Summary label: Summary
description: Describe the new feature/improvement briefly below. description: Describe the new feature/improvement briefly below.
placeholder: >- placeholder: >-
I am trying to do X with the collection from the main branch on GitHub and I am trying to do X with the collection from the main branch on GitHub and
I think that implementing a feature Y would be very helpful for me and I think that implementing a feature Y would be very helpful for me and
every other user of community.general because of Z. every other user of community.general because of Z.
validations: validations:
required: true
- type: dropdown
attributes:
label: Issue Type
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Feature Idea
validations:
required: true
- type: input
attributes:
label: Component Name
description: >-
Write the short name of the module or plugin, or which other part(s) of the collection this feature affects.
*use your best guess if unsure*. Do not include `community.general.`!
placeholder: dnf, apt, yum, pip, user etc.
validations:
required: true
- type: textarea
attributes:
label: Additional Information
description: |
Describe how the feature would be used, why it is needed and what it would solve.
**HINT:** You can paste https://gist.github.com links for larger files.
value: |
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
```
validations:
required: false
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
options:
- label: I agree to follow the Ansible Code of Conduct
required: true required: true
- type: dropdown
attributes:
label: Issue Type
# FIXME: Once GitHub allows defining the default choice, update this
options:
- Feature Idea
validations:
required: true
- type: input
attributes:
label: Component Name
description: >-
Write the short name of the module or plugin, or which other part(s) of the collection this feature affects.
*use your best guess if unsure*. Do not include `community.general.`!
placeholder: dnf, apt, yum, pip, user etc.
validations:
required: true
- type: textarea
attributes:
label: Additional Information
description: |
Describe how the feature would be used, why it is needed and what it would solve.
**HINT:** You can paste https://gist.github.com links for larger files.
value: |
<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
```
validations:
required: false
- type: checkboxes
attributes:
label: Code of Conduct
description: |
Read the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html?utm_medium=github&utm_source=issue_form--ansible-collections) first.
options:
- label: I agree to follow the Ansible Code of Conduct
required: true
... ...

View file

@ -9,7 +9,3 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: "weekly" interval: "weekly"
groups:
ci:
patterns:
- "*"

View file

@ -7,7 +7,7 @@
# https://github.com/marketplace/actions/ansible-test # https://github.com/marketplace/actions/ansible-test
name: EOL CI name: EOL CI
"on": on:
# Run EOL CI against all pushes (direct commits, also merged PRs), Pull Requests # Run EOL CI against all pushes (direct commits, also merged PRs), Pull Requests
push: push:
branches: branches:
@ -29,7 +29,12 @@ jobs:
strategy: strategy:
matrix: matrix:
ansible: ansible:
- '2.16' - '2.15'
# Ansible-test on various stable branches does not yet work well with cgroups v2.
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
# image for these stable branches. The list of branches where this is necessary will
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
# for the latest list.
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Perform sanity testing - name: Perform sanity testing
@ -44,6 +49,11 @@ jobs:
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
units: units:
# Ansible-test on various stable branches does not yet work well with cgroups v2.
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
# image for these stable branches. The list of branches where this is necessary will
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
# for the latest list.
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: EOL Units (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }}) name: EOL Units (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
strategy: strategy:
@ -57,12 +67,12 @@ jobs:
exclude: exclude:
- ansible: '' - ansible: ''
include: include:
- ansible: '2.16' - ansible: '2.15'
python: '2.7' python: '2.7'
- ansible: '2.16' - ansible: '2.15'
python: '3.6' python: '3.5'
- ansible: '2.16' - ansible: '2.15'
python: '3.11' python: '3.10'
steps: steps:
- name: >- - name: >-
@ -82,6 +92,11 @@ jobs:
testing-type: units testing-type: units
integration: integration:
# Ansible-test on various stable branches does not yet work well with cgroups v2.
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
# image for these stable branches. The list of branches where this is necessary will
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
# for the latest list.
runs-on: ubuntu-latest runs-on: ubuntu-latest
name: EOL I (Ⓐ${{ matrix.ansible }}+${{ matrix.docker }}+py${{ matrix.python }}:${{ matrix.target }}) name: EOL I (Ⓐ${{ matrix.ansible }}+${{ matrix.docker }}+py${{ matrix.python }}:${{ matrix.target }})
strategy: strategy:
@ -98,56 +113,43 @@ jobs:
exclude: exclude:
- ansible: '' - ansible: ''
include: include:
# 2.16 # 2.15
# CentOS 7 does not work in GHA, that's why it's not listed here. - ansible: '2.15'
- ansible: '2.16' docker: alpine3
docker: fedora38
python: '' python: ''
target: azp/posix/1/ target: azp/posix/1/
- ansible: '2.16' - ansible: '2.15'
docker: fedora38 docker: alpine3
python: '' python: ''
target: azp/posix/2/ target: azp/posix/2/
- ansible: '2.16' - ansible: '2.15'
docker: fedora38 docker: alpine3
python: '' python: ''
target: azp/posix/3/ target: azp/posix/3/
- ansible: '2.16' - ansible: '2.15'
docker: opensuse15 docker: fedora37
python: '' python: ''
target: azp/posix/1/ target: azp/posix/1/
- ansible: '2.16' - ansible: '2.15'
docker: opensuse15 docker: fedora37
python: '' python: ''
target: azp/posix/2/ target: azp/posix/2/
- ansible: '2.16' - ansible: '2.15'
docker: opensuse15 docker: fedora37
python: ''
target: azp/posix/3/
- ansible: '2.16'
docker: alpine3
python: ''
target: azp/posix/1/
- ansible: '2.16'
docker: alpine3
python: ''
target: azp/posix/2/
- ansible: '2.16'
docker: alpine3
python: '' python: ''
target: azp/posix/3/ target: azp/posix/3/
# Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled. # Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled.
# - ansible: '2.16' # - ansible: '2.13'
# docker: default # docker: default
# python: '2.7' # python: '3.9'
# target: azp/generic/1/ # target: azp/generic/1/
# - ansible: '2.16' # - ansible: '2.14'
# docker: default # docker: default
# python: '3.6' # python: '3.10'
# target: azp/generic/1/ # target: azp/generic/1/
# - ansible: '2.16' # - ansible: '2.15'
# docker: default # docker: default
# python: '3.11' # python: '3.9'
# target: azp/generic/1/ # target: azp/generic/1/
steps: steps:
@ -164,13 +166,12 @@ jobs:
integration-continue-on-error: 'false' integration-continue-on-error: 'false'
integration-diff: 'false' integration-diff: 'false'
integration-retry-on-error: 'true' integration-retry-on-error: 'true'
# TODO: remove "--branch stable-2" from community.crypto install once we're only using ansible-core 2.17 or newer!
pre-test-cmd: >- pre-test-cmd: >-
mkdir -p ../../ansible mkdir -p ../../ansible
; ;
git clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.posix.git ../../ansible/posix git clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.posix.git ../../ansible/posix
; ;
git clone --depth=1 --single-branch --branch stable-2 https://github.com/ansible-collections/community.crypto.git ../../community/crypto git clone --depth=1 --single-branch https://github.com/ansible-collections/community.crypto.git ../../community/crypto
; ;
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.docker.git ../../community/docker git clone --depth=1 --single-branch https://github.com/ansible-collections/community.docker.git ../../community/docker
; ;

View file

@ -5,7 +5,7 @@
name: "Code scanning - action" name: "Code scanning - action"
"on": on:
schedule: schedule:
- cron: '26 19 * * 1' - cron: '26 19 * * 1'
workflow_dispatch: workflow_dispatch:
@ -23,16 +23,16 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
persist-credentials: false persist-credentials: false
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v3 uses: github/codeql-action/init@v3
with: with:
languages: python languages: python
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3 uses: github/codeql-action/analyze@v3

14
.gitignore vendored
View file

@ -383,16 +383,6 @@ cython_debug/
# option (not recommended) you can uncomment the following to ignore the entire idea folder. # option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/ #.idea/
### Python Patch ###
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
poetry.toml
# ruff
.ruff_cache/
# LSP config files
pyrightconfig.json
### Vim ### ### Vim ###
# Swap # Swap
[._]*.s[a-v][a-z] [._]*.s[a-v][a-z]
@ -492,10 +482,6 @@ tags
# https://plugins.jetbrains.com/plugin/12206-codestream # https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml .idea/codestream.xml
# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml
### Windows ### ### Windows ###
# Windows thumbnail cache files # Windows thumbnail cache files
Thumbs.db Thumbs.db

View file

@ -1,52 +0,0 @@
---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
extends: default
ignore: |
/changelogs/
rules:
line-length:
max: 1000
level: error
document-start: disable
document-end: disable
truthy:
level: error
allowed-values:
- 'true'
- 'false'
indentation:
spaces: 2
indent-sequences: true
key-duplicates: enable
trailing-spaces: enable
new-line-at-end-of-file: disable
hyphens:
max-spaces-after: 1
empty-lines:
max: 2
max-start: 0
max-end: 0
commas:
max-spaces-before: 0
min-spaces-after: 1
max-spaces-after: 1
colons:
max-spaces-before: 0
max-spaces-after: 1
brackets:
min-spaces-inside: 0
max-spaces-inside: 0
braces:
min-spaces-inside: 0
max-spaces-inside: 1
octal-values:
forbid-implicit-octal: true
forbid-explicit-octal: true
comments:
min-spaces-from-content: 1
comments-indentation: false

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -44,49 +44,7 @@ If you want to test a PR locally, refer to [our testing guide](https://github.co
If you find any inconsistencies or places in this document which can be improved, feel free to raise an issue or pull request to fix it. If you find any inconsistencies or places in this document which can be improved, feel free to raise an issue or pull request to fix it.
## Run sanity or unit locally (with antsibull-nox) ## Run sanity, unit or integration tests locally
The easiest way to run sanity and unit tests locally is to use [antsibull-nox](https://ansible.readthedocs.io/projects/antsibull-nox/).
(If you have [nox](https://nox.thea.codes/en/stable/) installed, it will automatically install antsibull-nox in a virtual environment for you.)
### Sanity tests
The following commands show how to run ansible-test sanity tests:
```.bash
# Run basic sanity tests for all files in the collection:
nox -Re ansible-test-sanity-devel
# Run basic sanity tests for the given files and directories:
nox -Re ansible-test-sanity-devel -- plugins/modules/system/pids.py tests/integration/targets/pids/
# Run all other sanity tests for all files in the collection:
nox -R
```
If you replace `-Re` with `-e`, respectively. If you leave `-R` away, then the virtual environments will be re-created. The `-R` re-uses them (if they already exist).
### Unit tests
The following commands show how to run unit tests:
```.bash
# Run all unit tests:
nox -Re ansible-test-units-devel
# Run all unit tests for one Python version (a lot faster):
nox -Re ansible-test-units-devel -- --python 3.13
# Run a specific unit test (for the nmcli module) for one Python version:
nox -Re ansible-test-units-devel -- --python 3.13 tests/unit/plugins/modules/net_tools/test_nmcli.py
```
If you replace `-Re` with `-e`, then the virtual environments will be re-created. The `-R` re-uses them (if they already exist).
## Run basic sanity, unit or integration tests locally (with ansible-test)
Instead of using antsibull-nox, you can also run sanity and unit tests with ansible-test directly.
This also allows you to run integration tests.
You have to check out the repository into a specific path structure to be able to run `ansible-test`. The path to the git checkout must end with `.../ansible_collections/community/general`. Please see [our testing guide](https://github.com/ansible/community-docs/blob/main/test_pr_locally_guide.rst) for instructions on how to check out the repository into a correct path structure. The short version of these instructions is: You have to check out the repository into a specific path structure to be able to run `ansible-test`. The path to the git checkout must end with `.../ansible_collections/community/general`. Please see [our testing guide](https://github.com/ansible/community-docs/blob/main/test_pr_locally_guide.rst) for instructions on how to check out the repository into a correct path structure. The short version of these instructions is:
@ -98,27 +56,20 @@ cd ~/dev/ansible_collections/community/general
Then you can run `ansible-test` (which is a part of [ansible-core](https://pypi.org/project/ansible-core/)) inside the checkout. The following example commands expect that you have installed Docker or Podman. Note that Podman has only been supported by more recent ansible-core releases. If you are using Docker, the following will work with Ansible 2.9+. Then you can run `ansible-test` (which is a part of [ansible-core](https://pypi.org/project/ansible-core/)) inside the checkout. The following example commands expect that you have installed Docker or Podman. Note that Podman has only been supported by more recent ansible-core releases. If you are using Docker, the following will work with Ansible 2.9+.
### Basic sanity tests ### Sanity tests
The following commands show how to run basic sanity tests: The following commands show how to run sanity tests:
```.bash ```.bash
# Run basic sanity tests for all files in the collection: # Run sanity tests for all files in the collection:
ansible-test sanity --docker -v ansible-test sanity --docker -v
# Run basic sanity tests for the given files and directories: # Run sanity tests for the given files and directories:
ansible-test sanity --docker -v plugins/modules/system/pids.py tests/integration/targets/pids/ ansible-test sanity --docker -v plugins/modules/system/pids.py tests/integration/targets/pids/
``` ```
### Unit tests ### Unit tests
Note that for running unit tests, you need to install required collections in the same folder structure that `community.general` is checked out in.
Right now, you need to install [`community.internal_test_tools`](https://github.com/ansible-collections/community.internal_test_tools).
If you want to use the latest version from GitHub, you can run:
```
git clone https://github.com/ansible-collections/community.internal_test_tools.git ~/dev/ansible_collections/community/internal_test_tools
```
The following commands show how to run unit tests: The following commands show how to run unit tests:
```.bash ```.bash
@ -134,16 +85,6 @@ ansible-test units --docker -v --python 3.8 tests/unit/plugins/modules/net_tools
### Integration tests ### Integration tests
Note that for running integration tests, you need to install required collections in the same folder structure that `community.general` is checked out in.
Right now, depending on the test, you need to install [`ansible.posix`](https://github.com/ansible-collections/ansible.posix), [`community.crypto`](https://github.com/ansible-collections/community.crypto), and [`community.docker`](https://github.com/ansible-collections/community.docker):
If you want to use the latest versions from GitHub, you can run:
```
mkdir -p ~/dev/ansible_collections/ansible
git clone https://github.com/ansible-collections/ansible.posix.git ~/dev/ansible_collections/ansible/posix
git clone https://github.com/ansible-collections/community.crypto.git ~/dev/ansible_collections/community/crypto
git clone https://github.com/ansible-collections/community.docker.git ~/dev/ansible_collections/community/docker
```
The following commands show how to run integration tests: The following commands show how to run integration tests:
#### In Docker #### In Docker

View file

@ -6,10 +6,10 @@ SPDX-License-Identifier: GPL-3.0-or-later
# Community General Collection # Community General Collection
[![Documentation](https://img.shields.io/badge/docs-brightgreen.svg)](https://docs.ansible.com/ansible/devel/collections/community/general/) [![Documentation](https://img.shields.io/badge/docs-brightgreen.svg)](https://docs.ansible.com/ansible/latest/collections/community/general/)
[![Build Status](https://dev.azure.com/ansible/community.general/_apis/build/status/CI?branchName=main)](https://dev.azure.com/ansible/community.general/_build?definitionId=31) [![Build Status](https://dev.azure.com/ansible/community.general/_apis/build/status/CI?branchName=stable-10)](https://dev.azure.com/ansible/community.general/_build?definitionId=31)
[![EOL CI](https://github.com/ansible-collections/community.general/actions/workflows/ansible-test.yml/badge.svg?branch=main)](https://github.com/ansible-collections/community.general/actions) [![EOL CI](https://github.com/ansible-collections/community.general/actions/workflows/ansible-test.yml/badge.svg?branch=stable-10)](https://github.com/ansible-collections/community.general/actions)
[![Nox CI](https://github.com/ansible-collections/community.general/actions/workflows/nox.yml/badge.svg?branch=main)](https://github.com/ansible-collections/community.general/actions) [![Nox CI](https://github.com/ansible-collections/community.general/actions/workflows/nox.yml/badge.svg?branch=stable-10)](https://github.com/ansible-collections/community.general/actions)
[![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/community.general)](https://codecov.io/gh/ansible-collections/community.general) [![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/community.general)](https://codecov.io/gh/ansible-collections/community.general)
[![REUSE status](https://api.reuse.software/badge/github.com/ansible-collections/community.general)](https://api.reuse.software/info/github.com/ansible-collections/community.general) [![REUSE status](https://api.reuse.software/badge/github.com/ansible-collections/community.general)](https://api.reuse.software/info/github.com/ansible-collections/community.general)
@ -39,7 +39,7 @@ For more information about communication, see the [Ansible communication guide](
## Tested with Ansible ## Tested with Ansible
Tested with the current ansible-core 2.16, ansible-core 2.17, ansible-core 2.18, ansible-core 2.19 releases and the current development version of ansible-core. Ansible-core versions before 2.16.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases. Tested with the current ansible-core 2.15, ansible-core 2.16, ansible-core 2.17, ansible-core 2.18 releases and the current development version of ansible-core. Ansible-core versions before 2.15.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
## External requirements ## External requirements
@ -118,7 +118,7 @@ See the [Releasing guidelines](https://github.com/ansible/community-docs/blob/ma
## Release notes ## Release notes
See the [changelog](https://github.com/ansible-collections/community.general/blob/main/CHANGELOG.md). See the [changelog](https://github.com/ansible-collections/community.general/blob/stable-10/CHANGELOG.md).
## Roadmap ## Roadmap
@ -137,8 +137,8 @@ See [this issue](https://github.com/ansible-collections/community.general/issues
This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later. This collection is primarily licensed and distributed as a whole under the GNU General Public License v3.0 or later.
See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/main/COPYING) for the full text. See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/stable-10/COPYING) for the full text.
Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/main/LICENSES/PSF-2.0.txt). Parts of the collection are licensed under the [BSD 2-Clause license](https://github.com/ansible-collections/community.general/blob/stable-10/LICENSES/BSD-2-Clause.txt), the [MIT license](https://github.com/ansible-collections/community.general/blob/stable-10/LICENSES/MIT.txt), and the [PSF 2.0 license](https://github.com/ansible-collections/community.general/blob/stable-10/LICENSES/PSF-2.0.txt).
All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `REUSE.toml`. This conforms to the [REUSE specification](https://reuse.software/spec/). All files have a machine readable `SDPX-License-Identifier:` comment denoting its respective license(s) or an equivalent entry in an accompanying `.license` file. Only changelog fragments (which will not be part of a release) are covered by a blanket statement in `.reuse/dep5`. This conforms to the [REUSE specification](https://reuse.software/spec/).

View file

@ -8,39 +8,10 @@
"community.docker" = "git+https://github.com/ansible-collections/community.docker.git,main" "community.docker" = "git+https://github.com/ansible-collections/community.docker.git,main"
"community.internal_test_tools" = "git+https://github.com/ansible-collections/community.internal_test_tools.git,main" "community.internal_test_tools" = "git+https://github.com/ansible-collections/community.internal_test_tools.git,main"
[collection_sources_per_ansible.'2.16']
# community.crypto's main branch needs ansible-core >= 2.17
"community.crypto" = "git+https://github.com/ansible-collections/community.crypto.git,stable-2"
[sessions] [sessions]
[sessions.lint]
run_isort = false
run_black = false
run_flake8 = false
run_pylint = false
run_yamllint = true
yamllint_config = ".yamllint"
# yamllint_config_plugins = ".yamllint-docs"
# yamllint_config_plugins_examples = ".yamllint-examples"
run_mypy = false
[sessions.docs_check] [sessions.docs_check]
validate_collection_refs="all" validate_collection_refs="all"
codeblocks_restrict_types = [
"ansible-output",
"console",
"ini",
"json",
"python",
"shell",
"yaml",
"yaml+jinja",
"text",
]
codeblocks_restrict_type_exact_case = true
codeblocks_allow_without_type = false
codeblocks_allow_literal_blocks = false
[sessions.license_check] [sessions.license_check]
@ -49,18 +20,6 @@ run_no_unwanted_files = true
no_unwanted_files_module_extensions = [".py"] no_unwanted_files_module_extensions = [".py"]
no_unwanted_files_yaml_extensions = [".yml"] no_unwanted_files_yaml_extensions = [".yml"]
run_action_groups = true run_action_groups = true
run_no_trailing_whitespace = true
no_trailing_whitespace_skip_paths = [
"tests/integration/targets/iso_extract/files/test.iso",
"tests/integration/targets/java_cert/files/testpkcs.p12",
"tests/integration/targets/one_host/files/testhost/tmp/opennebula-fixtures.json.gz",
"tests/integration/targets/one_template/files/testhost/tmp/opennebula-fixtures.json.gz",
"tests/integration/targets/setup_flatpak_remote/files/repo.tar.xz",
]
no_trailing_whitespace_skip_directories = [
"tests/unit/plugins/modules/interfaces_file/interfaces_file_fixtures/golden_output/",
"tests/unit/plugins/modules/interfaces_file/interfaces_file_fixtures/input/",
]
[[sessions.extra_checks.action_groups_config]] [[sessions.extra_checks.action_groups_config]]
name = "consul" name = "consul"
@ -79,11 +38,11 @@ exclusions = [
] ]
doc_fragment = "community.general.keycloak.actiongroup_keycloak" doc_fragment = "community.general.keycloak.actiongroup_keycloak"
[[sessions.extra_checks.action_groups_config]]
name = "proxmox"
pattern = "^proxmox(_.*)?$"
exclusions = []
doc_fragment = "community.general.proxmox.actiongroup_proxmox"
[sessions.build_import_check] [sessions.build_import_check]
run_galaxy_importer = true run_galaxy_importer = true
[sessions.ansible_test_sanity]
include_devel = true
[sessions.ansible_test_units]
include_devel = true

File diff suppressed because it is too large Load diff

View file

@ -7,9 +7,9 @@ changelog_filename_template: ../CHANGELOG.rst
changelog_filename_version_depth: 0 changelog_filename_version_depth: 0
changes_file: changelog.yaml changes_file: changelog.yaml
changes_format: combined changes_format: combined
ignore_other_fragment_extensions: true
keep_fragments: false keep_fragments: false
mention_ancestor: true mention_ancestor: true
flatmap: true
new_plugins_after_name: removed_features new_plugins_after_name: removed_features
notesdir: fragments notesdir: fragments
output_formats: output_formats:
@ -40,4 +40,3 @@ use_fqcn: true
add_plugin_period: true add_plugin_period: true
changelog_nice_yaml: true changelog_nice_yaml: true
changelog_sort: version changelog_sort: version
vcs: auto

View file

@ -1,7 +0,0 @@
deprecated_features:
- pacemaker_cluster - the parameter ``state`` will become a required parameter in community.general 12.0.0 (https://github.com/ansible-collections/community.general/pull/10227).
minor_changes:
- pacemaker_cluster - add ``state=maintenance`` for managing pacemaker maintenance mode (https://github.com/ansible-collections/community.general/issues/10200, https://github.com/ansible-collections/community.general/pull/10227).
- pacemaker_cluster - rename ``node`` to ``name`` and add ``node`` alias (https://github.com/ansible-collections/community.general/pull/10227).
- pacemaker_resource - enhance module by removing duplicative code (https://github.com/ansible-collections/community.general/pull/10227).

View file

@ -1,2 +0,0 @@
minor_changes:
- keycloak - add support for ``grant_type=client_credentials`` to all keycloak modules, so that specifying ``auth_client_id`` and ``auth_client_secret`` is sufficient for authentication (https://github.com/ansible-collections/community.general/pull/10231).

View file

@ -1,2 +0,0 @@
minor_changes:
- cloudflare_dns - adds support for PTR records (https://github.com/ansible-collections/community.general/pull/10267).

View file

@ -1,2 +0,0 @@
minor_changes:
- cloudflare_dns - simplify validations and refactor some code, no functional changes (https://github.com/ansible-collections/community.general/pull/10269).

View file

@ -1,3 +0,0 @@
bugfixes:
- "icinga2 inventory plugin - avoid using deprecated option when templating options (https://github.com/ansible-collections/community.general/pull/10271)."
- "linode inventory plugin - avoid using deprecated option when templating options (https://github.com/ansible-collections/community.general/pull/10271)."

View file

@ -1,7 +0,0 @@
minor_changes:
- dense callback plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
- mail callback plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
- wsl connection plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
- jc filter plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
- iocage inventory plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).
- xen_orchestra inventory plugin - use f-strings instead of concatenation (https://github.com/ansible-collections/community.general/pull/10285).

View file

@ -1,2 +0,0 @@
minor_changes:
- xfconf - minor adjustments the the code (https://github.com/ansible-collections/community.general/pull/10311).

View file

@ -1,2 +0,0 @@
minor_changes:
- nmcli - simplify validations and refactor some code, no functional changes (https://github.com/ansible-collections/community.general/pull/10323).

View file

@ -1,32 +0,0 @@
minor_changes:
- logstash callback plugin - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- keycloak module utils - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- python_runner module utils - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- cloudflare_dns - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- crypttab - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- datadog_monitor - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- gitlab_deploy_key - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- gitlab_group_access_token - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- gitlab_hook - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- gitlab_project_access_token - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- gitlab_runner - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- ipa_group - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- jenkins_build - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- jenkins_build_info - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- nmcli - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- oneandone_firewall_policy - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- oneandone_load_balancer - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- oneandone_monitoring_policy - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- onepassword_info - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- osx_defaults - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- ovh_ip_loadbalancing_backend - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- packet_device - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- pagerduty - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- pingdom - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- rhevm - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- rocketchat - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- sensu_silence - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- sl_vm - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- urpmi - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- xattr - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).
- xml - remove redundant brackets in conditionals, no functional changes (https://github.com/ansible-collections/community.general/pull/10328).

View file

@ -1,2 +0,0 @@
deprecated_features:
- catapult - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/issues/10318, https://github.com/ansible-collections/community.general/pull/10329).

View file

@ -1,2 +0,0 @@
bugfixes:
- github_release - support multiple types of GitHub tokens; no longer failing when ``ghs_`` token type is provided (https://github.com/ansible-collections/community.general/issues/10338, https://github.com/ansible-collections/community.general/pull/10339).

View file

@ -1,2 +0,0 @@
bugfixes:
- incus connection plugin - fix error handling to return more useful Ansible errors to the user (https://github.com/ansible-collections/community.general/issues/10344, https://github.com/ansible-collections/community.general/pull/10349).

View file

@ -1,2 +0,0 @@
bugfixes:
- "dependent lookup plugin - avoid deprecated ansible-core 2.19 functionality (https://github.com/ansible-collections/community.general/pull/10359)."

View file

@ -1,4 +0,0 @@
minor_changes:
- sysrc - adjustments to the code (https://github.com/ansible-collections/community.general/pull/10417).
bugfixes:
- sysrc - fixes parsing with multi-line variables (https://github.com/ansible-collections/community.general/issues/10394, https://github.com/ansible-collections/community.general/pull/10417).

View file

@ -1,3 +0,0 @@
bugfixes:
- apk - handle empty name strings properly
(https://github.com/ansible-collections/community.general/issues/10441, https://github.com/ansible-collections/community.general/pull/10442).

View file

@ -1,2 +0,0 @@
bugfixes:
- "cronvar - handle empty strings on ``value`` properly (https://github.com/ansible-collections/community.general/issues/10439, https://github.com/ansible-collections/community.general/pull/10445)."

View file

@ -1,2 +0,0 @@
bugfixes:
- capabilities - using invalid path (symlink/directory/...) returned unrelated and incoherent error messages (https://github.com/ansible-collections/community.general/issues/5649, https://github.com/ansible-collections/community.general/pull/10455).

View file

@ -1,2 +0,0 @@
bugfixes:
- "listen_port_facts - avoid crash when required commands are missing (https://github.com/ansible-collections/community.general/issues/10457, https://github.com/ansible-collections/community.general/pull/10458)."

View file

@ -1,6 +0,0 @@
bugfixes:
- "apache2_module - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
- "htpasswd - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
- "syspatch - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
- "sysupgrade - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."
- "zypper_repository - avoid ansible-core 2.19 deprecation (https://github.com/ansible-collections/community.general/pull/10459)."

View file

@ -1,2 +0,0 @@
bugfixes:
- "cronvar - fix crash on missing ``cron_file`` parent directories (https://github.com/ansible-collections/community.general/issues/10460, https://github.com/ansible-collections/community.general/pull/10461)."

View file

@ -1,2 +0,0 @@
bugfixes:
- "irc - pass hostname to ``wrap_socket()`` if ``use_tls=true`` and ``validate_certs=true`` (https://github.com/ansible-collections/community.general/issues/10472, https://github.com/ansible-collections/community.general/pull/10491)."

View file

@ -1,27 +0,0 @@
minor_changes:
- aerospike_migrations - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- airbrake_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- bigpanda - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- bootc_manage - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- bower - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- btrfs_subvolume - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- bundler - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- campfire - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- cargo - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- catapult - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- cisco_webex - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- consul_kv - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- consul_policy - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- copr - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- datadog_downtime - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- datadog_monitor - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- dconf - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- dimensiondata_network - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- dimensiondata_vlan - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- dnf_config_manager - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- dnsmadeeasy - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- dpkg_divert - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- easy_install - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- elasticsearch_plugin - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- facter - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).
- filesystem - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10494).

View file

@ -1,39 +0,0 @@
minor_changes:
- gem - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- git_config_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- github_deploy_key - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- github_repo - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- github_webhook - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- github_webhook_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_branch - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_group_access_token - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_group_variable - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_hook - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_instance_variable - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_issue - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_label - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_merge_request - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_milestone - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_project - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_project_access_token - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- gitlab_project_variable - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- grove - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- hg - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- homebrew - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- homebrew_cask - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- homebrew_tap - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- honeybadger_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- htpasswd - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- icinga2_host - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- influxdb_user - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- ini_file - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- ipa_dnsrecord - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- ipa_dnszone - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- ipa_service - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- ipbase_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- ipwcli_dns - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- irc - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- jabber - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- jenkins_credential - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- jenkins_job - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).
- jenkins_script - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10505).

View file

@ -1,35 +0,0 @@
minor_changes:
- keycloak_authz_authorization_scope - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- keycloak_authz_permission - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- keycloak_role - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- keycloak_userprofile - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- keyring - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- kibana_plugin - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- layman - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- ldap_attrs - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- ldap_inc - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- librato_annotation - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- lldp - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- logentries - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- lxca_cmms - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- lxca_nodes - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- macports - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- mail - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- manageiq_alerts - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- manageiq_group - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- manageiq_policies - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- manageiq_policies_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- manageiq_tags - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- manageiq_tenant - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- matrix - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- mattermost - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- maven_artifact - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- memset_dns_reload - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- memset_zone - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- memset_zone_record - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- mqtt - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- mssql_db - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- mssql_script - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- netcup_dns - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- newrelic_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).
- nsupdate - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10507).

View file

@ -1,42 +0,0 @@
minor_changes:
- oci_vcn - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- one_image_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- one_template - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- one_vnet - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- onepassword_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- oneview_fc_network_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- opendj_backendprop - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- ovh_monthly_billing - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pagerduty - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pagerduty_change - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pagerduty_user - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pam_limits - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pear - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pkgng - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pnpm - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- portage - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pritunl_org - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pritunl_org_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pritunl_user - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pritunl_user_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pubnub_blocks - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pushbullet - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- pushover - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- redis_data - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- redis_data_incr - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- riak - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- rocketchat - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- rollbar_deployment - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- say - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- scaleway_database_backup - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- sendgrid - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- sensu_silence - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- sorcery - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- ssh_config - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- statusio_maintenance - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- svr4pkg - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- swdepot - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- syslogger - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- sysrc - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- systemd_creds_decrypt - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).
- systemd_creds_encrypt - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10512).

View file

@ -1,18 +0,0 @@
minor_changes:
- taiga_issue - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- twilio - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_aaa_group - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_ca_host_key_cert - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_dns_host - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_network_interface_address - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_proxy_auth_profile - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_proxy_exception - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_proxy_frontend - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- utm_proxy_location - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- vertica_configuration - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- vertica_info - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- vertica_role - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- xbps - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- yarn - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- zypper - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).
- zypper_repository - remove redundant constructs from argument specs (https://github.com/ansible-collections/community.general/pull/10513).

View file

@ -1,3 +0,0 @@
bugfixes:
- "wsl connection plugin - avoid deprecated ansible-core paramiko import helper, import paramiko directly instead
(https://github.com/ansible-collections/community.general/issues/10515, https://github.com/ansible-collections/community.general/pull/10531)."

View file

@ -1,2 +0,0 @@
bugfixes:
- "apk - fix check for empty/whitespace-only package names (https://github.com/ansible-collections/community.general/pull/10532)."

View file

@ -1,2 +0,0 @@
bugfixes:
- "json_query filter plugin - make compatible with lazy evaluation list and dictionary types of ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/10539)."

View file

@ -1,2 +0,0 @@
bugfixes:
- "merge_variables lookup plugin - avoid deprecated functionality from ansible-core 2.19 (https://github.com/ansible-collections/community.general/pull/10566)."

View file

@ -1,2 +0,0 @@
deprecated_features:
- typetalk - module is deprecated and will be removed in community.general 13.0.0 (https://github.com/ansible-collections/community.general/pull/9499).

View file

@ -1,3 +0,0 @@
bugfixes:
- "doas become plugin - disable pipelining on ansible-core 2.19+. The plugin does not work with pipelining, and since ansible-core 2.19 become plugins can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/issues/9977, https://github.com/ansible-collections/community.general/pull/10537)."
- "machinectl become plugin - disable pipelining on ansible-core 2.19+. The plugin does not work with pipelining, and since ansible-core 2.19 become plugins can indicate that they do not work with pipelining (https://github.com/ansible-collections/community.general/pull/10537)."

View file

@ -1,3 +0,0 @@
---
bugfixes:
- logstash callback plugin - remove reference to Python 2 library (https://github.com/ansible-collections/community.general/pull/10345).

View file

@ -8,10 +8,9 @@ sections:
toctree: toctree:
- filter_guide - filter_guide
- test_guide - test_guide
- title: Technology Guides - title: Cloud Guides
toctree: toctree:
- guide_alicloud - guide_alicloud
- guide_iocage
- guide_online - guide_online
- guide_packet - guide_packet
- guide_scaleway - guide_scaleway

View file

@ -8,7 +8,7 @@
community.general Filter Guide community.general Filter Guide
============================== ==============================
The :anscollection:`community.general collection <community.general#collection>` offers several useful filter plugins. The :ref:`community.general collection <plugins_in_community.general>` offers several useful filter plugins.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2

View file

@ -26,8 +26,8 @@ You can use the :ansplugin:`community.general.dict_kv filter <community.general.
type: host type: host
database: all database: all
myservers: myservers:
- server1 - server1
- server2 - server2
This produces: This produces:

View file

@ -17,50 +17,50 @@ Consider this data structure:
.. code-block:: yaml+jinja .. code-block:: yaml+jinja
{ {
"domain_definition": { "domain_definition": {
"domain": { "domain": {
"cluster": [ "cluster": [
{ {
"name": "cluster1" "name": "cluster1"
}, },
{ {
"name": "cluster2" "name": "cluster2"
}
],
"server": [
{
"name": "server11",
"cluster": "cluster1",
"port": "8080"
},
{
"name": "server12",
"cluster": "cluster1",
"port": "8090"
},
{
"name": "server21",
"cluster": "cluster2",
"port": "9080"
},
{
"name": "server22",
"cluster": "cluster2",
"port": "9090"
}
],
"library": [
{
"name": "lib1",
"target": "cluster1"
},
{
"name": "lib2",
"target": "cluster2"
}
]
} }
],
"server": [
{
"name": "server11",
"cluster": "cluster1",
"port": "8080"
},
{
"name": "server12",
"cluster": "cluster1",
"port": "8090"
},
{
"name": "server21",
"cluster": "cluster2",
"port": "9080"
},
{
"name": "server22",
"cluster": "cluster2",
"port": "9090"
}
],
"library": [
{
"name": "lib1",
"target": "cluster1"
},
{
"name": "lib2",
"target": "cluster2"
}
]
} }
}
} }
To extract all clusters from this structure, you can use the following query: To extract all clusters from this structure, you can use the following query:

View file

@ -78,17 +78,17 @@ If you do not specify a ``count_tag``, the task creates the number of instances
tasks: tasks:
- name: Create a set of instances - name: Create a set of instances
community.general.ali_instance: community.general.ali_instance:
instance_type: ecs.n4.small instance_type: ecs.n4.small
image_id: "{{ ami_id }}" image_id: "{{ ami_id }}"
instance_name: "My-new-instance" instance_name: "My-new-instance"
instance_tags: instance_tags:
Name: NewECS Name: NewECS
Version: 0.0.1 Version: 0.0.1
count: 5 count: 5
count_tag: count_tag:
Name: NewECS Name: NewECS
allocate_public_ip: true allocate_public_ip: true
max_bandwidth_out: 50 max_bandwidth_out: 50
register: create_instance register: create_instance
In the example playbook above, data about the instances created by this playbook is saved in the variable defined by the ``register`` keyword in the task. In the example playbook above, data about the instances created by this playbook is saved in the variable defined by the ``register`` keyword in the task.

View file

@ -1,15 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage:
************
Iocage Guide
************
.. toctree::
:maxdepth: 1
guide_iocage_inventory

View file

@ -1,31 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory:
community.general.iocage inventory plugin
=========================================
The inventory plugin :ansplugin:`community.general.iocage#inventory` gets the inventory hosts from the iocage jail manager.
See:
* `iocage - A FreeBSD Jail Manager <https://iocage.readthedocs.io/en/latest>`_
* `man iocage <https://man.freebsd.org/cgi/man.cgi?query=iocage>`_
* `Jails and Containers <https://docs.freebsd.org/en/books/handbook/jails>`_
.. note::
The output of the examples is YAML formatted. See the option :ansopt:`ansible.builtin.default#callback:result_format`.
.. toctree::
:caption: Table of Contents
:maxdepth: 1
guide_iocage_inventory_basics
guide_iocage_inventory_dhcp
guide_iocage_inventory_hooks
guide_iocage_inventory_properties
guide_iocage_inventory_tags
guide_iocage_inventory_aliases

View file

@ -1,200 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_aliases:
Aliases
-------
Quoting :ref:`inventory_aliases`:
The ``inventory_hostname`` is the unique identifier for a host in Ansible, this can be an IP or a hostname, but also just an 'alias' or short name for the host.
As root at the iocage host, stop and destroy all jails:
.. code-block:: console
shell> iocage stop ALL
* Stopping srv_1
+ Executing prestop OK
+ Stopping services OK
+ Tearing down VNET OK
+ Removing devfs_ruleset: 1000 OK
+ Removing jail process OK
+ Executing poststop OK
* Stopping srv_2
+ Executing prestop OK
+ Stopping services OK
+ Tearing down VNET OK
+ Removing devfs_ruleset: 1001 OK
+ Removing jail process OK
+ Executing poststop OK
* Stopping srv_3
+ Executing prestop OK
+ Stopping services OK
+ Tearing down VNET OK
+ Removing devfs_ruleset: 1002 OK
+ Removing jail process OK
+ Executing poststop OK
ansible_client is not running!
shell> iocage destroy -f srv_1 srv_2 srv_3
Destroying srv_1
Destroying srv_2
Destroying srv_3
Create three VNET jails with a DHCP interface from the template *ansible_client*. Use the option ``--count``:
.. code-block:: console
shell> iocage create --short --template ansible_client --count 3 bpf=1 dhcp=1 vnet=1
1c11de2d successfully created!
9d94cc9e successfully created!
052b9557 successfully created!
The names are random. Start the jails:
.. code-block:: console
shell> iocage start ALL
No default gateway found for ipv6.
* Starting 052b9557
+ Started OK
+ Using devfs_ruleset: 1000 (iocage generated default)
+ Configuring VNET OK
+ Using IP options: vnet
+ Starting services OK
+ Executing poststart OK
+ DHCP Address: 10.1.0.137/24
No default gateway found for ipv6.
* Starting 1c11de2d
+ Started OK
+ Using devfs_ruleset: 1001 (iocage generated default)
+ Configuring VNET OK
+ Using IP options: vnet
+ Starting services OK
+ Executing poststart OK
+ DHCP Address: 10.1.0.146/24
No default gateway found for ipv6.
* Starting 9d94cc9e
+ Started OK
+ Using devfs_ruleset: 1002 (iocage generated default)
+ Configuring VNET OK
+ Using IP options: vnet
+ Starting services OK
+ Executing poststart OK
+ DHCP Address: 10.1.0.115/24
Please convert back to a jail before trying to start ansible_client
List the jails:
.. code-block:: console
shell> iocage list -l
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
+=====+==========+======+=======+======+=================+====================+=====+================+==========+
| 207 | 052b9557 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.137 | - | ansible_client | no |
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| 208 | 1c11de2d | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.146 | - | ansible_client | no |
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| 209 | 9d94cc9e | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.115 | - | ansible_client | no |
+-----+----------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
Set notes. The tag *alias* will be used to create inventory aliases:
.. code-block:: console
shell> iocage set notes="vmm=iocage_02 project=foo alias=srv_1" 052b9557
notes: none -> vmm=iocage_02 project=foo alias=srv_1
shell> iocage set notes="vmm=iocage_02 project=foo alias=srv_2" 1c11de2d
notes: none -> vmm=iocage_02 project=foo alias=srv_2
shell> iocage set notes="vmm=iocage_02 project=bar alias=srv_3" 9d94cc9e
notes: none -> vmm=iocage_02 project=bar alias=srv_3
Update the inventory configuration. Set the option
:ansopt:`community.general.iocage#inventory:inventory_hostname_tag` to :ansval:`alias`. This tag keeps the
value of the alias. The option :ansopt:`community.general.iocage#inventory:get_properties` must be
enabled. For example, ``hosts/02_iocage.yml`` contains:
.. code-block:: yaml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
get_properties: true
inventory_hostname_tag: alias
hooks_results:
- /var/db/dhclient-hook.address.epair0b
compose:
ansible_host: (iocage_hooks.0 == '-') | ternary(iocage_ip4, iocage_hooks.0)
iocage_tags: dict(iocage_properties.notes | split | map('split', '='))
keyed_groups:
- prefix: vmm
key: iocage_tags.vmm
- prefix: project
key: iocage_tags.project
Display tags and groups. Create a playbook ``pb-test-groups.yml`` with the following content:
.. code-block:: yaml+jinja
- hosts: all
remote_user: admin
vars:
ansible_python_interpreter: auto_silent
tasks:
- debug:
var: iocage_tags
- debug:
msg: |
{% for group in groups %}
{{ group }}: {{ groups[group] }}
{% endfor %}
run_once: true
Run the playbook:
.. code-block:: console
shell> ansible-playbook -i hosts/02_iocage.yml pb-test-groups.yml
PLAY [all] **********************************************************************************************************
TASK [debug] ********************************************************************************************************
ok: [srv_1] =>
iocage_tags:
alias: srv_1
project: foo
vmm: iocage_02
ok: [srv_2] =>
iocage_tags:
alias: srv_2
project: foo
vmm: iocage_02
ok: [srv_3] =>
iocage_tags:
alias: srv_3
project: bar
vmm: iocage_02
TASK [debug] ********************************************************************************************************
ok: [srv_1] =>
msg: |-
all: ['srv_1', 'srv_2', 'srv_3']
ungrouped: []
vmm_iocage_02: ['srv_1', 'srv_2', 'srv_3']
project_foo: ['srv_1', 'srv_2']
project_bar: ['srv_3']
PLAY RECAP **********************************************************************************************************
srv_1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
srv_2 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
srv_3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

View file

@ -1,128 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_basics:
Basics
------
As root at the iocage host, create three VNET jails with a DHCP interface from the template
*ansible_client*:
.. code-block:: console
shell> iocage create --template ansible_client --name srv_1 bpf=1 dhcp=1 vnet=1
srv_1 successfully created!
shell> iocage create --template ansible_client --name srv_2 bpf=1 dhcp=1 vnet=1
srv_2 successfully created!
shell> iocage create --template ansible_client --name srv_3 bpf=1 dhcp=1 vnet=1
srv_3 successfully created!
See: `Configuring a VNET Jail <https://iocage.readthedocs.io/en/latest/networking.html#configuring-a-vnet-jail>`_.
As admin at the controller, list the jails:
.. code-block:: console
shell> ssh admin@10.1.0.73 iocage list -l
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
+======+=======+======+=======+======+=================+====================+=====+================+==========+
| None | srv_1 | off | down | jail | 14.2-RELEASE-p3 | DHCP (not running) | - | ansible_client | no |
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| None | srv_2 | off | down | jail | 14.2-RELEASE-p3 | DHCP (not running) | - | ansible_client | no |
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| None | srv_3 | off | down | jail | 14.2-RELEASE-p3 | DHCP (not running) | - | ansible_client | no |
+------+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
Create the inventory file ``hosts/02_iocage.yml``
.. code-block:: yaml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
Display the inventory:
.. code-block:: console
shell> ansible-inventory -i hosts/02_iocage.yml --list --yaml
all:
children:
ungrouped:
hosts:
srv_1:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_ip4: '-'
iocage_ip4_dict:
ip4: []
msg: DHCP (not running)
iocage_ip6: '-'
iocage_jid: None
iocage_release: 14.2-RELEASE-p3
iocage_state: down
iocage_template: ansible_client
iocage_type: jail
srv_2:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_ip4: '-'
iocage_ip4_dict:
ip4: []
msg: DHCP (not running)
iocage_ip6: '-'
iocage_jid: None
iocage_release: 14.2-RELEASE-p3
iocage_state: down
iocage_template: ansible_client
iocage_type: jail
srv_3:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_ip4: '-'
iocage_ip4_dict:
ip4: []
msg: DHCP (not running)
iocage_ip6: '-'
iocage_jid: None
iocage_release: 14.2-RELEASE-p3
iocage_state: down
iocage_template: ansible_client
iocage_type: jail
Optionally, create shared IP jails:
.. code-block:: console
shell> iocage create --template ansible_client --name srv_1 ip4_addr="em0|10.1.0.101/24"
srv_1 successfully created!
shell> iocage create --template ansible_client --name srv_2 ip4_addr="em0|10.1.0.102/24"
srv_2 successfully created!
shell> iocage create --template ansible_client --name srv_3 ip4_addr="em0|10.1.0.103/24"
srv_3 successfully created!
shell> iocage list -l
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
+======+=======+======+=======+======+=================+===================+=====+================+==========+
| None | srv_1 | off | down | jail | 14.2-RELEASE-p3 | em0|10.1.0.101/24 | - | ansible_client | no |
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
| None | srv_2 | off | down | jail | 14.2-RELEASE-p3 | em0|10.1.0.102/24 | - | ansible_client | no |
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
| None | srv_3 | off | down | jail | 14.2-RELEASE-p3 | em0|10.1.0.103/24 | - | ansible_client | no |
+------+-------+------+-------+------+-----------------+-------------------+-----+----------------+----------+
See: `Configuring a Shared IP Jail <https://iocage.readthedocs.io/en/latest/networking.html#configuring-a-shared-ip-jail>`_
If iocage needs environment variable(s), use the option :ansopt:`community.general.iocage#inventory:env`. For example,
.. code-block:: yaml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
env:
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1

View file

@ -1,175 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_dhcp:
DHCP
----
As root at the iocage host, start the jails:
.. code-block:: console
shell> iocage start ALL
No default gateway found for ipv6.
* Starting srv_1
+ Started OK
+ Using devfs_ruleset: 1000 (iocage generated default)
+ Configuring VNET OK
+ Using IP options: vnet
+ Starting services OK
+ Executing poststart OK
+ DHCP Address: 10.1.0.183/24
No default gateway found for ipv6.
* Starting srv_2
+ Started OK
+ Using devfs_ruleset: 1001 (iocage generated default)
+ Configuring VNET OK
+ Using IP options: vnet
+ Starting services OK
+ Executing poststart OK
+ DHCP Address: 10.1.0.204/24
No default gateway found for ipv6.
* Starting srv_3
+ Started OK
+ Using devfs_ruleset: 1002 (iocage generated default)
+ Configuring VNET OK
+ Using IP options: vnet
+ Starting services OK
+ Executing poststart OK
+ DHCP Address: 10.1.0.169/24
Please convert back to a jail before trying to start ansible_client
List the jails:
.. code-block:: console
shell> iocage list -l
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
+=====+=======+======+=======+======+=================+====================+=====+================+==========+
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.183 | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.204 | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.169 | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
As admin at the controller, list the jails. The IP4 tab says "... address requires root":
.. code-block:: console
shell> ssh admin@10.1.0.73 iocage list -l
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
+=====+=======+======+=======+======+=================+=========================================+=====+================+==========+
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
Use sudo if enabled:
.. code-block:: console
shell> ssh admin@10.1.0.73 sudo iocage list -l
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
+=====+=======+======+=======+======+=================+====================+=====+================+==========+
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.183 | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.204 | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.169 | - | ansible_client | no |
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
Create the inventory file ``hosts/02_iocage.yml``. Use the option
:ansopt:`community.general.iocage#inventory:sudo`:
.. code-block:: yaml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
sudo: true
Display the inventory:
.. code-block:: console
shell> ansible-inventory -i hosts/02_iocage.yml --list --yaml
all:
children:
ungrouped:
hosts:
srv_1:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_ip4: 10.1.0.183
iocage_ip4_dict:
ip4:
- ifc: epair0b
ip: 10.1.0.183
mask: '-'
msg: ''
iocage_ip6: '-'
iocage_jid: '204'
iocage_release: 14.2-RELEASE-p3
iocage_state: up
iocage_template: ansible_client
iocage_type: jail
srv_2:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_ip4: 10.1.0.204
iocage_ip4_dict:
ip4:
- ifc: epair0b
ip: 10.1.0.204
mask: '-'
msg: ''
iocage_ip6: '-'
iocage_jid: '205'
iocage_release: 14.2-RELEASE-p3
iocage_state: up
iocage_template: ansible_client
iocage_type: jail
srv_3:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_ip4: 10.1.0.169
iocage_ip4_dict:
ip4:
- ifc: epair0b
ip: 10.1.0.169
mask: '-'
msg: ''
iocage_ip6: '-'
iocage_jid: '206'
iocage_release: 14.2-RELEASE-p3
iocage_state: up
iocage_template: ansible_client
iocage_type: jail
Note: If the option :ansopt:`community.general.iocage#inventory:env` is used and :ansopt:`community.general.iocage#inventory:sudo` is enabled, enable also :ansopt:`community.general.iocage#inventory:sudo_preserve_env`. For example,
.. code-block:: yaml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
env:
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
sudo: true
sudo_preserve_env: true
In this case, make sure the sudo tag ``SETENV`` is used:
.. code-block:: console
shell> ssh admin@10.1.0.73 sudo cat /usr/local/etc/sudoers | grep admin
admin ALL=(ALL) NOPASSWD:SETENV: ALL

View file

@ -1,187 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_hooks:
Hooks
-----
The iocage utility internally opens a console to a jail to get the jail's DHCP address. This
requires root. If you run the command ``iocage list -l`` as unprivileged user, you'll see the
message ``DHCP (running -- address requires root)``. If you are not granted the root privilege, use
``/etc/dhclient-exit-hooks``. For example, in the jail *srv_1*, create the file
``/zroot/iocage/jails/srv_1/root/etc/dhclient-exit-hooks``
.. code-block:: shell
case "$reason" in
"BOUND"|"REBIND"|"REBOOT"|"RENEW")
echo $new_ip_address > /var/db/dhclient-hook.address.$interface
;;
esac
where ``/zroot/iocage`` is the activated pool.
.. code-block:: console
shell> zfs list | grep /zroot/iocage
zroot/iocage 4.69G 446G 5.08M /zroot/iocage
zroot/iocage/download 927M 446G 384K /zroot/iocage/download
zroot/iocage/download/14.1-RELEASE 465M 446G 465M /zroot/iocage/download/14.1-RELEASE
zroot/iocage/download/14.2-RELEASE 462M 446G 462M /zroot/iocage/download/14.2-RELEASE
zroot/iocage/images 384K 446G 384K /zroot/iocage/images
zroot/iocage/jails 189M 446G 480K /zroot/iocage/jails
zroot/iocage/jails/srv_1 62.9M 446G 464K /zroot/iocage/jails/srv_1
zroot/iocage/jails/srv_1/root 62.4M 446G 3.53G /zroot/iocage/jails/srv_1/root
zroot/iocage/jails/srv_2 62.8M 446G 464K /zroot/iocage/jails/srv_2
zroot/iocage/jails/srv_2/root 62.3M 446G 3.53G /zroot/iocage/jails/srv_2/root
zroot/iocage/jails/srv_3 62.8M 446G 464K /zroot/iocage/jails/srv_3
zroot/iocage/jails/srv_3/root 62.3M 446G 3.53G /zroot/iocage/jails/srv_3/root
zroot/iocage/log 688K 446G 688K /zroot/iocage/log
zroot/iocage/releases 2.93G 446G 384K /zroot/iocage/releases
zroot/iocage/releases/14.2-RELEASE 2.93G 446G 384K /zroot/iocage/releases/14.2-RELEASE
zroot/iocage/releases/14.2-RELEASE/root 2.93G 446G 2.88G /zroot/iocage/releases/14.2-RELEASE/root
zroot/iocage/templates 682M 446G 416K /zroot/iocage/templates
zroot/iocage/templates/ansible_client 681M 446G 432K /zroot/iocage/templates/ansible_client
zroot/iocage/templates/ansible_client/root 681M 446G 3.53G /zroot/iocage/templates/ansible_client/root
See: `man dhclient-script <https://man.freebsd.org/cgi/man.cgi?dhclient-script>`_
Create the inventory configuration. Use the option :ansopt:`community.general.iocage#inventory:hooks_results` instead of :ansopt:`community.general.iocage#inventory:sudo`:
.. code-block:: console
shell> cat hosts/02_iocage.yml
.. code-block:: yaml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
hooks_results:
- /var/db/dhclient-hook.address.epair0b
.. note::
The option :ansopt:`community.general.iocage#inventory:hooks_results` expects the poolname to be mounted to ``/poolname``. For example, if you
activate the pool iocage, this plugin expects to find the :ansopt:`community.general.iocage#inventory:hooks_results` items in the path
/iocage/iocage/jails/<name>/root. If you mount the poolname to a different path, the easiest
remedy is to create a symlink.
As admin at the controller, display the inventory:
.. code-block:: console
shell> ansible-inventory -i hosts/02_iocage.yml --list --yaml
all:
children:
ungrouped:
hosts:
srv_1:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_hooks:
- 10.1.0.183
iocage_ip4: '-'
iocage_ip4_dict:
ip4: []
msg: DHCP (running -- address requires root)
iocage_ip6: '-'
iocage_jid: '204'
iocage_release: 14.2-RELEASE-p3
iocage_state: up
iocage_template: ansible_client
iocage_type: jail
srv_2:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_hooks:
- 10.1.0.204
iocage_ip4: '-'
iocage_ip4_dict:
ip4: []
msg: DHCP (running -- address requires root)
iocage_ip6: '-'
iocage_jid: '205'
iocage_release: 14.2-RELEASE-p3
iocage_state: up
iocage_template: ansible_client
iocage_type: jail
srv_3:
iocage_basejail: 'no'
iocage_boot: 'off'
iocage_hooks:
- 10.1.0.169
iocage_ip4: '-'
iocage_ip4_dict:
ip4: []
msg: DHCP (running -- address requires root)
iocage_ip6: '-'
iocage_jid: '206'
iocage_release: 14.2-RELEASE-p3
iocage_state: up
iocage_template: ansible_client
iocage_type: jail
Compose the variable ``ansible_host``. For example, ``hosts/02_iocage.yml`` could look like:
.. code-block:: yaml+jinja
plugin: community.general.iocage
host: 10.1.0.73
user: admin
hooks_results:
- /var/db/dhclient-hook.address.epair0b
compose:
ansible_host: (iocage_hooks.0 == '-') | ternary(iocage_ip4, iocage_hooks.0)
Test the jails. Create a playbook ``pb-test-uname.yml``:
.. code-block:: yaml
- hosts: all
remote_user: admin
vars:
ansible_python_interpreter: auto_silent
tasks:
- command: uname -a
register: out
- debug:
var: out.stdout
See: :ref:`working_with_bsd`
Run the playbook:
.. code-block:: console
shell> ansible-playbook -i hosts/02_iocage.yml pb-test-uname.yml
PLAY [all] **********************************************************************************************************
TASK [command] ******************************************************************************************************
changed: [srv_3]
changed: [srv_1]
changed: [srv_2]
TASK [debug] ********************************************************************************************************
ok: [srv_1] =>
out.stdout: FreeBSD srv-1 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
ok: [srv_3] =>
out.stdout: FreeBSD srv-3 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
ok: [srv_2] =>
out.stdout: FreeBSD srv-2 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC amd64
PLAY RECAP **********************************************************************************************************
srv_1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
srv_2 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
srv_3 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Note: This playbook and the inventory configuration works also for the *Shared IP Jails*.

View file

@ -1,201 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_properties:
Properties
----------
Optionally, in the inventory file ``hosts/02_iocage.yml``, get the iocage properties. Enable
:ansopt:`community.general.iocage#inventory:get_properties`:
.. code-block:: yaml+jinja
plugin: community.general.iocage
host: 10.1.0.73
user: admin
get_properties: true
hooks_results:
- /var/db/dhclient-hook.address.epair0b
compose:
ansible_host: (iocage_hooks.0 == '-') | ternary(iocage_ip4, iocage_hooks.0)
Display the properties. Create the playbook ``pb-test-properties.yml``:
.. code-block:: yaml
- hosts: all
remote_user: admin
vars:
ansible_python_interpreter: auto_silent
tasks:
- debug:
var: iocage_properties
Run the playbook. Limit the inventory to *srv_3*:
.. code-block:: console
shell> ansible-playbook -i hosts/02_iocage.yml -l srv_3 pb-test-properties.yml
PLAY [all] **********************************************************************************************************
TASK [debug] ********************************************************************************************************
ok: [srv_3] =>
iocage_properties:
CONFIG_VERSION: '33'
allow_chflags: '0'
allow_mlock: '0'
allow_mount: '1'
allow_mount_devfs: '0'
allow_mount_fdescfs: '0'
allow_mount_fusefs: '0'
allow_mount_linprocfs: '0'
allow_mount_linsysfs: '0'
allow_mount_nullfs: '0'
allow_mount_procfs: '0'
allow_mount_tmpfs: '0'
allow_mount_zfs: '0'
allow_nfsd: '0'
allow_quotas: '0'
allow_raw_sockets: '0'
allow_set_hostname: '1'
allow_socket_af: '0'
allow_sysvipc: '0'
allow_tun: '0'
allow_vmm: '0'
assign_localhost: '0'
available: readonly
basejail: '0'
boot: '0'
bpf: '1'
children_max: '0'
cloned_release: 14.2-RELEASE
comment: none
compression: 'on'
compressratio: readonly
coredumpsize: 'off'
count: '1'
cpuset: 'off'
cputime: 'off'
datasize: 'off'
dedup: 'off'
defaultrouter: auto
defaultrouter6: auto
depends: none
devfs_ruleset: '4'
dhcp: '1'
enforce_statfs: '2'
exec_clean: '1'
exec_created: /usr/bin/true
exec_fib: '0'
exec_jail_user: root
exec_poststart: /usr/bin/true
exec_poststop: /usr/bin/true
exec_prestart: /usr/bin/true
exec_prestop: /usr/bin/true
exec_start: /bin/sh /etc/rc
exec_stop: /bin/sh /etc/rc.shutdown
exec_system_jail_user: '0'
exec_system_user: root
exec_timeout: '60'
host_domainname: none
host_hostname: srv-3
host_hostuuid: srv_3
host_time: '1'
hostid: ea2ba7d1-4fcd-f13f-82e4-8b32c0a03403
hostid_strict_check: '0'
interfaces: vnet0:bridge0
ip4: new
ip4_addr: none
ip4_saddrsel: '1'
ip6: new
ip6_addr: none
ip6_saddrsel: '1'
ip_hostname: '0'
jail_zfs: '0'
jail_zfs_dataset: iocage/jails/srv_3/data
jail_zfs_mountpoint: none
last_started: '2025-06-11 04:29:23'
localhost_ip: none
login_flags: -f root
mac_prefix: 02a098
maxproc: 'off'
memorylocked: 'off'
memoryuse: 'off'
min_dyn_devfs_ruleset: '1000'
mount_devfs: '1'
mount_fdescfs: '1'
mount_linprocfs: '0'
mount_procfs: '0'
mountpoint: readonly
msgqqueued: 'off'
msgqsize: 'off'
nat: '0'
nat_backend: ipfw
nat_forwards: none
nat_interface: none
nat_prefix: '172.16'
nmsgq: 'off'
notes: none
nsem: 'off'
nsemop: 'off'
nshm: 'off'
nthr: 'off'
openfiles: 'off'
origin: readonly
owner: root
pcpu: 'off'
plugin_name: none
plugin_repository: none
priority: '99'
pseudoterminals: 'off'
quota: none
readbps: 'off'
readiops: 'off'
release: 14.2-RELEASE-p3
reservation: none
resolver: /etc/resolv.conf
rlimits: 'off'
rtsold: '0'
securelevel: '2'
shmsize: 'off'
source_template: ansible_client
stacksize: 'off'
state: up
stop_timeout: '30'
swapuse: 'off'
sync_state: none
sync_target: none
sync_tgt_zpool: none
sysvmsg: new
sysvsem: new
sysvshm: new
template: '0'
type: jail
used: readonly
vmemoryuse: 'off'
vnet: '1'
vnet0_mac: 02a0983da05d 02a0983da05e
vnet0_mtu: auto
vnet1_mac: none
vnet1_mtu: auto
vnet2_mac: none
vnet2_mtu: auto
vnet3_mac: none
vnet3_mtu: auto
vnet_default_interface: auto
vnet_default_mtu: '1500'
vnet_interfaces: none
wallclock: 'off'
writebps: 'off'
writeiops: 'off'
PLAY RECAP **********************************************************************************************************
srv_3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

View file

@ -1,117 +0,0 @@
..
Copyright (c) Ansible Project
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
SPDX-License-Identifier: GPL-3.0-or-later
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_tags:
Tags
----
Quoting `man iocage <https://man.freebsd.org/cgi/man.cgi?query=iocage>`_
.. code-block:: text
PROPERTIES
...
notes="any string"
Custom notes for miscellaneous tagging.
Default: none
Source: local
We will use the format `notes="tag1=value1 tag2=value2 ..."`.
.. note::
The iocage tags have nothing to do with the :ref:`tags`.
As root at the iocage host, set notes. For example,
.. code-block:: console
shell> iocage set notes="vmm=iocage_02 project=foo" srv_1
notes: none -> vmm=iocage_02 project=foo
shell> iocage set notes="vmm=iocage_02 project=foo" srv_2
notes: none -> vmm=iocage_02 project=foo
shell> iocage set notes="vmm=iocage_02 project=bar" srv_3
notes: none -> vmm=iocage_02 project=bar
Update the inventory configuration. Compose a dictionary *iocage_tags* and create groups. The option
:ansopt:`community.general.iocage#inventory:get_properties` must be enabled.
For example, ``hosts/02_iocage.yml`` could look like:
.. code-block:: yaml
plugin: community.general.iocage
host: 10.1.0.73
user: admin
get_properties: true
hooks_results:
- /var/db/dhclient-hook.address.epair0b
compose:
ansible_host: (iocage_hooks.0 == '-') | ternary(iocage_ip4, iocage_hooks.0)
iocage_tags: dict(iocage_properties.notes | split | map('split', '='))
keyed_groups:
- prefix: vmm
key: iocage_tags.vmm
- prefix: project
key: iocage_tags.project
Display tags and groups. Create a playbook ``pb-test-groups.yml``:
.. code-block:: yaml+jinja
- hosts: all
remote_user: admin
vars:
ansible_python_interpreter: auto_silent
tasks:
- debug:
var: iocage_tags
- debug:
msg: |
{% for group in groups %}
{{ group }}: {{ groups[group] }}
{% endfor %}
run_once: true
Run the playbook:
.. code-block:: console
shell> ansible-playbook -i hosts/02_iocage.yml pb-test-groups.yml
PLAY [all] **********************************************************************************************************
TASK [debug] ********************************************************************************************************
ok: [srv_1] =>
iocage_tags:
project: foo
vmm: iocage_02
ok: [srv_2] =>
iocage_tags:
project: foo
vmm: iocage_02
ok: [srv_3] =>
iocage_tags:
project: bar
vmm: iocage_02
TASK [debug] ********************************************************************************************************
ok: [srv_1] =>
msg: |-
all: ['srv_1', 'srv_2', 'srv_3']
ungrouped: []
vmm_iocage_02: ['srv_1', 'srv_2', 'srv_3']
project_foo: ['srv_1', 'srv_2']
project_bar: ['srv_3']
PLAY RECAP **********************************************************************************************************
srv_1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
srv_2 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
srv_3 : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

View file

@ -38,6 +38,7 @@ But bear in mind that it does not showcase all of MH's features:
), ),
supports_check_mode=True, supports_check_mode=True,
) )
use_old_vardict = False
def __run__(self): def __run__(self):
self.vars.original_message = '' self.vars.original_message = ''
@ -75,14 +76,13 @@ section above, but there are more elements that will take part in it.
from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper
class MyTest(ModuleHelper): class MyTest(ModuleHelper):
# behavior for module paramaters ONLY, see below for further information
output_params = () output_params = ()
change_params = () change_params = ()
diff_params = () diff_params = ()
facts_name = None
facts_params = () facts_params = ()
use_old_vardict = True
facts_name = None # used if generating facts, from parameters or otherwise mute_vardict_deprecation = False
module = dict( module = dict(
argument_spec=dict(...), argument_spec=dict(...),
# ... # ...
@ -202,14 +202,27 @@ By using ``self.vars``, you get a central mechanism to access the parameters but
As described in :ref:`ansible_collections.community.general.docsite.guide_vardict`, variables in ``VarDict`` have metadata associated to them. As described in :ref:`ansible_collections.community.general.docsite.guide_vardict`, variables in ``VarDict`` have metadata associated to them.
One of the attributes in that metadata marks the variable for output, and MH makes use of that to generate the module's return values. One of the attributes in that metadata marks the variable for output, and MH makes use of that to generate the module's return values.
.. note:: .. important::
The ``VarDict`` class was introduced in community.general 7.1.0, as part of ``ModuleHelper`` itself. The ``VarDict`` feature described was introduced in community.general 7.1.0, but there was a first
However, it has been factored out to become an utility on its own, described in :ref:`ansible_collections.community.general.docsite.guide_vardict`, implementation of it embedded within ``ModuleHelper``.
and the older implementation was removed in community.general 11.0.0. That older implementation is now deprecated and will be removed in community.general 11.0.0.
After community.general 7.1.0, MH modules generate a deprecation message about *using the old VarDict*.
There are two ways to prevent that from happening:
Some code might still refer to the class variables ``use_old_vardict`` and ``mute_vardict_deprecation``, used for the transtition to the new #. Set ``mute_vardict_deprecation = True`` and the deprecation will be silenced. If the module still uses the old ``VarDict``,
implementation but from community.general 11.0.0 onwards they are no longer used and can be safely removed from the code. it will not be able to update to community.general 11.0.0 (Spring 2026) upon its release.
#. Set ``use_old_vardict = False`` to make the MH module use the new ``VarDict`` immediatelly.
The new ``VarDict`` and its use is documented and this is the recommended way to handle this.
.. code-block:: python
class MyTest(ModuleHelper):
use_old_vardict = False
mute_vardict_deprecation = True
...
These two settings are mutually exclusive, but that is not enforced and the behavior when setting both is not specified.
Contrary to new variables created in ``VarDict``, module parameters are not set for output by default. Contrary to new variables created in ``VarDict``, module parameters are not set for output by default.
If you want to include some module parameters in the output, list them in the ``output_params`` class variable. If you want to include some module parameters in the output, list them in the ``output_params`` class variable.
@ -220,11 +233,6 @@ If you want to include some module parameters in the output, list them in the ``
output_params = ('state', 'name') output_params = ('state', 'name')
... ...
.. important::
The variable names listed in ``output_params`` **must be module parameters**, as in parameters listed in the module's ``argument_spec``.
Names not found in ``argument_spec`` are silently ignored.
Another neat feature provided by MH by using ``VarDict`` is the automatic tracking of changes when setting the metadata ``change=True``. Another neat feature provided by MH by using ``VarDict`` is the automatic tracking of changes when setting the metadata ``change=True``.
Again, to enable this feature for module parameters, you must list them in the ``change_params`` class variable. Again, to enable this feature for module parameters, you must list them in the ``change_params`` class variable.
@ -235,11 +243,6 @@ Again, to enable this feature for module parameters, you must list them in the `
change_params = ('value', ) change_params = ('value', )
... ...
.. important::
The variable names listed in ``change_params`` **must be module parameters**, as in parameters listed in the module's ``argument_spec``.
Names not found in ``argument_spec`` are silently ignored.
.. seealso:: .. seealso::
See more about this in See more about this in
@ -257,11 +260,6 @@ With that, MH will automatically generate the diff output for variables that hav
# example from community.general.gio_mime # example from community.general.gio_mime
self.vars.set_meta("handler", initial_value=gio_mime_get(self.runner, self.vars.mime_type), diff=True, change=True) self.vars.set_meta("handler", initial_value=gio_mime_get(self.runner, self.vars.mime_type), diff=True, change=True)
.. important::
The variable names listed in ``diff_params`` **must be module parameters**, as in parameters listed in the module's ``argument_spec``.
Names not found in ``argument_spec`` are silently ignored.
Moreover, if a module is set to return *facts* instead of return values, then again use the metadata ``fact=True`` and ``fact_params`` for module parameters. Moreover, if a module is set to return *facts* instead of return values, then again use the metadata ``fact=True`` and ``fact_params`` for module parameters.
Additionally, you must specify ``facts_name``, as in: Additionally, you must specify ``facts_name``, as in:
@ -285,11 +283,6 @@ That generates an Ansible fact like:
debug: debug:
msg: Volume fact is {{ ansible_facts.volume_facts.volume }} msg: Volume fact is {{ ansible_facts.volume_facts.volume }}
.. important::
The variable names listed in ``fact_params`` **must be module parameters**, as in parameters listed in the module's ``argument_spec``.
Names not found in ``argument_spec`` are silently ignored.
.. important:: .. important::
If ``facts_name`` is not set, the module does not generate any facts. If ``facts_name`` is not set, the module does not generate any facts.
@ -391,6 +384,7 @@ By using ``StateModuleHelper`` you can make your code like the excerpt from the
module = dict( module = dict(
... ...
) )
use_old_vardict = False
def __init_module__(self): def __init_module__(self):
self.runner = gconftool2_runner(self.module, check_rc=True) self.runner = gconftool2_runner(self.module, check_rc=True)

View file

@ -67,16 +67,16 @@ The following code block is a simple playbook that creates one `Type 0 <https://
hosts: localhost hosts: localhost
tasks: tasks:
- community.general.packet_sshkey: - community.general.packet_sshkey:
key_file: ./id_rsa.pub key_file: ./id_rsa.pub
label: tutorial key label: tutorial key
- community.general.packet_device: - community.general.packet_device:
project_id: <your_project_id> project_id: <your_project_id>
hostnames: myserver hostnames: myserver
operating_system: ubuntu_16_04 operating_system: ubuntu_16_04
plan: baremetal_0 plan: baremetal_0
facility: sjc1 facility: sjc1
After running ``ansible-playbook playbook_create.yml``, you should have a server provisioned on Packet. You can verify through a CLI or in the `Packet portal <https://app.packet.net/portal#/projects/list/table>`__. After running ``ansible-playbook playbook_create.yml``, you should have a server provisioned on Packet. You can verify through a CLI or in the `Packet portal <https://app.packet.net/portal#/projects/list/table>`__.
@ -110,10 +110,10 @@ If your playbook acts on existing Packet devices, you can only pass the ``hostna
hosts: localhost hosts: localhost
tasks: tasks:
- community.general.packet_device: - community.general.packet_device:
project_id: <your_project_id> project_id: <your_project_id>
hostnames: myserver hostnames: myserver
state: rebooted state: rebooted
You can also identify specific Packet devices with the ``device_ids`` parameter. The device's UUID can be found in the `Packet Portal <https://app.packet.net/portal>`_ or by using a `CLI <https://www.packet.net/developers/integrations/>`_. The following playbook removes a Packet device using the ``device_ids`` field: You can also identify specific Packet devices with the ``device_ids`` parameter. The device's UUID can be found in the `Packet Portal <https://app.packet.net/portal>`_ or by using a `CLI <https://www.packet.net/developers/integrations/>`_. The following playbook removes a Packet device using the ``device_ids`` field:
@ -125,10 +125,10 @@ You can also identify specific Packet devices with the ``device_ids`` parameter.
hosts: localhost hosts: localhost
tasks: tasks:
- community.general.packet_device: - community.general.packet_device:
project_id: <your_project_id> project_id: <your_project_id>
device_ids: <myserver_device_id> device_ids: <myserver_device_id>
state: absent state: absent
More Complex Playbooks More Complex Playbooks
@ -153,43 +153,43 @@ The following playbook will create an SSH key, 3 Packet servers, and then wait u
hosts: localhost hosts: localhost
tasks: tasks:
- community.general.packet_sshkey: - community.general.packet_sshkey:
key_file: ./id_rsa.pub key_file: ./id_rsa.pub
label: new label: new
- community.general.packet_device: - community.general.packet_device:
hostnames: [coreos-one, coreos-two, coreos-three] hostnames: [coreos-one, coreos-two, coreos-three]
operating_system: coreos_beta operating_system: coreos_beta
plan: baremetal_0 plan: baremetal_0
facility: ewr1 facility: ewr1
project_id: <your_project_id> project_id: <your_project_id>
wait_for_public_IPv: 4 wait_for_public_IPv: 4
user_data: | user_data: |
# cloud-config #cloud-config
coreos: coreos:
etcd2: etcd2:
discovery: https://discovery.etcd.io/<token> discovery: https://discovery.etcd.io/<token>
advertise-client-urls: http://$private_ipv4:2379,http://$private_ipv4:4001 advertise-client-urls: http://$private_ipv4:2379,http://$private_ipv4:4001
initial-advertise-peer-urls: http://$private_ipv4:2380 initial-advertise-peer-urls: http://$private_ipv4:2380
listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
listen-peer-urls: http://$private_ipv4:2380 listen-peer-urls: http://$private_ipv4:2380
fleet: fleet:
public-ip: $private_ipv4 public-ip: $private_ipv4
units: units:
- name: etcd2.service - name: etcd2.service
command: start command: start
- name: fleet.service - name: fleet.service
command: start command: start
register: newhosts register: newhosts
- name: wait for ssh - name: wait for ssh
ansible.builtin.wait_for: ansible.builtin.wait_for:
delay: 1 delay: 1
host: "{{ item.public_ipv4 }}" host: "{{ item.public_ipv4 }}"
port: 22 port: 22
state: started state: started
timeout: 500 timeout: 500
loop: "{{ newhosts.results[0].devices }}" loop: "{{ newhosts.results[0].devices }}"
As with most Ansible modules, the default states of the Packet modules are idempotent, meaning the resources in your project will remain the same after re-runs of a playbook. Thus, we can keep the ``packet_sshkey`` module call in our playbook. If the public key is already in your Packet account, the call will have no effect. As with most Ansible modules, the default states of the Packet modules are idempotent, meaning the resources in your project will remain the same after re-runs of a playbook. Thus, we can keep the ``packet_sshkey`` module call in our playbook. If the public key is already in your Packet account, the call will have no effect.

View file

@ -51,7 +51,7 @@ And by the time the module is about to exit:
That makes the return value of the module: That makes the return value of the module:
.. code-block:: json .. code-block:: javascript
{ {
"abc": 123, "abc": 123,

View file

@ -8,7 +8,7 @@
community.general Test (Plugin) Guide community.general Test (Plugin) Guide
===================================== =====================================
The :anscollection:`community.general collection <community.general#collection>` offers currently one test plugin. The :ref:`community.general collection <plugins_in_community.general>` offers currently one test plugin.
.. contents:: Topics .. contents:: Topics

View file

@ -5,7 +5,7 @@
namespace: community namespace: community
name: general name: general
version: 11.2.0 version: 10.6.0
readme: README.md readme: README.md
authors: authors:
- Ansible (https://github.com/ansible) - Ansible (https://github.com/ansible)

View file

@ -3,7 +3,7 @@
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
requires_ansible: '>=2.16.0' requires_ansible: '>=2.15.0'
action_groups: action_groups:
consul: consul:
- consul_agent_check - consul_agent_check
@ -15,9 +15,24 @@ action_groups:
- consul_session - consul_session
- consul_token - consul_token
proxmox: proxmox:
- metadata: - proxmox
extend_group: - proxmox_backup
- community.proxmox.proxmox - proxmox_backup_info
- proxmox_disk
- proxmox_domain_info
- proxmox_group_info
- proxmox_kvm
- proxmox_nic
- proxmox_node_info
- proxmox_pool
- proxmox_pool_member
- proxmox_snap
- proxmox_storage_contents_info
- proxmox_storage_info
- proxmox_tasks_info
- proxmox_template
- proxmox_user_info
- proxmox_vm_info
keycloak: keycloak:
- keycloak_authentication - keycloak_authentication
- keycloak_authentication_required_actions - keycloak_authentication_required_actions
@ -71,26 +86,20 @@ plugin_routing:
= yes' option. = yes' option.
yaml: yaml:
deprecation: deprecation:
removal_version: 12.0.0 removal_version: 13.0.0
warning_text: >- warning_text: The plugin has been superseded by the the option `result_format=yaml` in callback plugin ansible.builtin.default from ansible-core 2.13 onwards.
The plugin has been superseded by the the option `result_format=yaml` in callback plugin ansible.builtin.default from ansible-core 2.13 onwards.
connection: connection:
docker: docker:
redirect: community.docker.docker redirect: community.docker.docker
oc: oc:
redirect: community.okd.oc redirect: community.okd.oc
proxmox_pct_remote:
redirect: community.proxmox.proxmox_pct_remote
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
lookup: lookup:
gcp_storage_file: gcp_storage_file:
redirect: community.google.gcp_storage_file redirect: community.google.gcp_storage_file
hashi_vault: hashi_vault:
redirect: community.hashi_vault.hashi_vault redirect: community.hashi_vault.hashi_vault
manifold: manifold:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: Company was acquired in 2021 and service was ceased afterwards. warning_text: Company was acquired in 2021 and service was ceased afterwards.
nios: nios:
@ -116,46 +125,42 @@ plugin_routing:
deprecation: deprecation:
removal_version: 13.0.0 removal_version: 13.0.0
warning_text: Project Atomic was sunset by the end of 2019. warning_text: Project Atomic was sunset by the end of 2019.
catapult:
deprecation:
removal_version: 13.0.0
warning_text: DNS fails to resolve the API endpoint used by the module since Oct 2024. See https://github.com/ansible-collections/community.general/issues/10318 for details.
cisco_spark: cisco_spark:
redirect: community.general.cisco_webex redirect: community.general.cisco_webex
clc_alert_policy: clc_alert_policy:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_blueprint_package: clc_blueprint_package:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_firewall_policy: clc_firewall_policy:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_group: clc_group:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_loadbalancer: clc_loadbalancer:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_modify_server: clc_modify_server:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_publicip: clc_publicip:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_server: clc_server:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
clc_server_snapshot: clc_server_snapshot:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: CenturyLink Cloud services went EOL in September 2023. warning_text: CenturyLink Cloud services went EOL in September 2023.
consul_acl: consul_acl:
@ -314,7 +319,7 @@ plugin_routing:
hetzner_firewall_info: hetzner_firewall_info:
redirect: community.hrobot.firewall_info redirect: community.hrobot.firewall_info
hipchat: hipchat:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: The hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020. warning_text: The hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020.
hpilo_facts: hpilo_facts:
@ -639,115 +644,25 @@ plugin_routing:
postgresql_user_obj_stat_info: postgresql_user_obj_stat_info:
redirect: community.postgresql.postgresql_user_obj_stat_info redirect: community.postgresql.postgresql_user_obj_stat_info
profitbricks: profitbricks:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: Supporting library is unsupported since 2021. warning_text: Supporting library is unsupported since 2021.
profitbricks_datacenter: profitbricks_datacenter:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: Supporting library is unsupported since 2021. warning_text: Supporting library is unsupported since 2021.
profitbricks_nic: profitbricks_nic:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: Supporting library is unsupported since 2021. warning_text: Supporting library is unsupported since 2021.
profitbricks_volume: profitbricks_volume:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: Supporting library is unsupported since 2021. warning_text: Supporting library is unsupported since 2021.
profitbricks_volume_attachments: profitbricks_volume_attachments:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: Supporting library is unsupported since 2021. warning_text: Supporting library is unsupported since 2021.
proxmox:
redirect: community.proxmox.proxmox
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_backup:
redirect: community.proxmox.proxmox_backup
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_backup_info:
redirect: community.proxmox.proxmox_backup_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_disk:
redirect: community.proxmox.proxmox_disk
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_domain_info:
redirect: community.proxmox.proxmox_domain_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_group_info:
redirect: community.proxmox.proxmox_group_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_kvm:
redirect: community.proxmox.proxmox_kvm
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_nic:
redirect: community.proxmox.proxmox_nic
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_node_info:
redirect: community.proxmox.proxmox_node_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_pool:
redirect: community.proxmox.proxmox_pool
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_pool_member:
redirect: community.proxmox.proxmox_pool_member
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_snap:
redirect: community.proxmox.proxmox_snap
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_storage_contents_info:
redirect: community.proxmox.proxmox_storage_contents_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_storage_info:
redirect: community.proxmox.proxmox_storage_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_tasks_info:
redirect: community.proxmox.proxmox_tasks_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_template:
redirect: community.proxmox.proxmox_template
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_user_info:
redirect: community.proxmox.proxmox_user_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
proxmox_vm_info:
redirect: community.proxmox.proxmox_vm_info
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
purefa_facts: purefa_facts:
tombstone: tombstone:
removal_version: 3.0.0 removal_version: 3.0.0
@ -958,10 +873,6 @@ plugin_routing:
warning_text: This module relied on HTTPS APIs that do not exist anymore, warning_text: This module relied on HTTPS APIs that do not exist anymore,
and any new development in the direction of providing an alternative should and any new development in the direction of providing an alternative should
happen in the context of the google.cloud collection. happen in the context of the google.cloud collection.
typetalk:
deprecation:
removal_version: 13.0.0
warning_text: The typetalk service will be discontinued on Dec 2025.
vertica_facts: vertica_facts:
tombstone: tombstone:
removal_version: 3.0.0 removal_version: 3.0.0
@ -1010,11 +921,6 @@ plugin_routing:
redirect: infoblox.nios_modules.nios redirect: infoblox.nios_modules.nios
postgresql: postgresql:
redirect: community.postgresql.postgresql redirect: community.postgresql.postgresql
proxmox:
redirect: community.proxmox.proxmox
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
purestorage: purestorage:
deprecation: deprecation:
removal_version: 12.0.0 removal_version: 12.0.0
@ -1043,11 +949,6 @@ plugin_routing:
redirect: infoblox.nios_modules.api redirect: infoblox.nios_modules.api
postgresql: postgresql:
redirect: community.postgresql.postgresql redirect: community.postgresql.postgresql
proxmox:
redirect: community.proxmox.proxmox
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
pure: pure:
deprecation: deprecation:
removal_version: 12.0.0 removal_version: 12.0.0
@ -1065,15 +966,10 @@ plugin_routing:
redirect: community.docker.docker_machine redirect: community.docker.docker_machine
docker_swarm: docker_swarm:
redirect: community.docker.docker_swarm redirect: community.docker.docker_swarm
proxmox:
redirect: community.proxmox.proxmox
deprecation:
removal_version: 15.0.0
warning_text: The proxmox content has been moved to community.proxmox.
kubevirt: kubevirt:
redirect: community.kubevirt.kubevirt redirect: community.kubevirt.kubevirt
stackpath_compute: stackpath_compute:
tombstone: deprecation:
removal_version: 11.0.0 removal_version: 11.0.0
warning_text: The company and the service were sunset in June 2024. warning_text: The company and the service were sunset in June 2024.
filter: filter:

View file

@ -72,7 +72,7 @@ options:
prompt_l10n: prompt_l10n:
description: description:
- List of localized strings to match for prompt detection. - List of localized strings to match for prompt detection.
- If empty the plugin uses the built-in one. - If empty we will use the built in one.
type: list type: list
elements: string elements: string
default: [] default: []
@ -83,9 +83,6 @@ options:
- name: ansible_doas_prompt_l10n - name: ansible_doas_prompt_l10n
env: env:
- name: ANSIBLE_DOAS_PROMPT_L10N - name: ANSIBLE_DOAS_PROMPT_L10N
notes:
- This become plugin does not work when connection pipelining is enabled. With ansible-core 2.19+, using it automatically
disables pipelining. On ansible-core 2.18 and before, pipelining must explicitly be disabled by the user.
""" """
import re import re
@ -102,10 +99,6 @@ class BecomeModule(BecomeBase):
fail = ('Permission denied',) fail = ('Permission denied',)
missing = ('Authorization required',) missing = ('Authorization required',)
# See https://github.com/ansible-collections/community.general/issues/9977,
# https://github.com/ansible/ansible/pull/78111
pipelining = False
def check_password_prompt(self, b_output): def check_password_prompt(self, b_output):
''' checks if the expected password prompt exists in b_output ''' ''' checks if the expected password prompt exists in b_output '''

View file

@ -73,7 +73,7 @@ options:
prompt_l10n: prompt_l10n:
description: description:
- List of localized strings to match for prompt detection. - List of localized strings to match for prompt detection.
- If empty the plugin uses the built-in one. - If empty we will use the built in one.
type: list type: list
elements: string elements: string
default: [] default: []

View file

@ -71,12 +71,10 @@ options:
- section: machinectl_become_plugin - section: machinectl_become_plugin
key: password key: password
notes: notes:
- When not using this plugin with user V(root), it only works correctly with a polkit rule which alters the behaviour - When not using this plugin with user V(root), it only works correctly with a polkit rule which will alter the behaviour
of C(machinectl). This rule must alter the prompt behaviour to ask directly for the user credentials, if the user is allowed of machinectl. This rule must alter the prompt behaviour to ask directly for the user credentials, if the user is allowed
to perform the action (take a look at the examples section). If such a rule is not present the plugin only works if it to perform the action (take a look at the examples section). If such a rule is not present the plugin only work if it
is used in context with the root user, because then no further prompt is shown by C(machinectl). is used in context with the root user, because then no further prompt will be shown by machinectl.
- This become plugin does not work when connection pipelining is enabled. With ansible-core 2.19+, using it automatically
disables pipelining. On ansible-core 2.18 and before, pipelining must explicitly be disabled by the user.
""" """
EXAMPLES = r""" EXAMPLES = r"""
@ -109,10 +107,6 @@ class BecomeModule(BecomeBase):
success = ('==== AUTHENTICATION COMPLETE ====',) success = ('==== AUTHENTICATION COMPLETE ====',)
require_tty = True # see https://github.com/ansible-collections/community.general/issues/6932 require_tty = True # see https://github.com/ansible-collections/community.general/issues/6932
# See https://github.com/ansible/ansible/issues/81254,
# https://github.com/ansible/ansible/pull/78111
pipelining = False
@staticmethod @staticmethod
def remove_ansi_codes(line): def remove_ansi_codes(line):
return ansi_color_codes.sub(b"", line) return ansi_color_codes.sub(b"", line)

View file

@ -6,7 +6,7 @@ from __future__ import annotations
DOCUMENTATION = r""" DOCUMENTATION = r"""
name: pfexec name: pfexec
short_description: Profile based execution short_description: profile based execution
description: description:
- This become plugins allows your remote/login user to execute commands as another user using the C(pfexec) utility. - This become plugins allows your remote/login user to execute commands as another user using the C(pfexec) utility.
author: Ansible Core Team author: Ansible Core Team

View file

@ -61,7 +61,7 @@ options:
- name: ANSIBLE_RUN0_FLAGS - name: ANSIBLE_RUN0_FLAGS
type: string type: string
notes: notes:
- This plugin only works when a C(polkit) rule is in place. - This plugin will only work when a C(polkit) rule is in place.
""" """
EXAMPLES = r""" EXAMPLES = r"""

View file

@ -17,7 +17,7 @@ options:
_uri: _uri:
required: true required: true
description: description:
- Path in which the cache plugin saves the files. - Path in which the cache plugin will save the files.
env: env:
- name: ANSIBLE_CACHE_PLUGIN_CONNECTION - name: ANSIBLE_CACHE_PLUGIN_CONNECTION
ini: ini:
@ -56,7 +56,6 @@ class CacheModule(BaseFileCacheModule):
""" """
A caching module backed by pickle files. A caching module backed by pickle files.
""" """
_persistent = False # prevent unnecessary JSON serialization and key munging
def _load(self, filepath): def _load(self, filepath):
# Pickle is a binary format # Pickle is a binary format

View file

@ -17,7 +17,7 @@ options:
_uri: _uri:
required: true required: true
description: description:
- Path in which the cache plugin saves the files. - Path in which the cache plugin will save the files.
env: env:
- name: ANSIBLE_CACHE_PLUGIN_CONNECTION - name: ANSIBLE_CACHE_PLUGIN_CONNECTION
ini: ini:

View file

@ -10,7 +10,7 @@ DOCUMENTATION = r"""
author: Unknown (!UNKNOWN) author: Unknown (!UNKNOWN)
name: context_demo name: context_demo
type: aggregate type: aggregate
short_description: Demo callback that adds play/task context short_description: demo callback that adds play/task context
description: description:
- Displays some play and task context along with normal output. - Displays some play and task context along with normal output.
- This is mostly for demo purposes. - This is mostly for demo purposes.

View file

@ -12,11 +12,11 @@ DOCUMENTATION = r"""
author: Unknown (!UNKNOWN) author: Unknown (!UNKNOWN)
name: counter_enabled name: counter_enabled
type: stdout type: stdout
short_description: Adds counters to the output items (tasks and hosts/task) short_description: adds counters to the output items (tasks and hosts/task)
description: description:
- Use this callback when you need a kind of progress bar on a large environments. - Use this callback when you need a kind of progress bar on a large environments.
- You can see how many tasks has the playbook to run, and which one is actually running. - You will know how many tasks has the playbook to run, and which one is actually running.
- You can see how many hosts may run a task, and which of them is actually running. - You will know how many hosts may run a task, and which of them is actually running.
extends_documentation_fragment: extends_documentation_fragment:
- default_callback - default_callback
requirements: requirements:

View file

@ -9,11 +9,11 @@ from __future__ import annotations
DOCUMENTATION = r""" DOCUMENTATION = r"""
name: dense name: dense
type: stdout type: stdout
short_description: Minimal stdout output short_description: minimal stdout output
extends_documentation_fragment: extends_documentation_fragment:
- default_callback - default_callback
description: description:
- When in verbose mode it acts the same as the default callback. - When in verbose mode it will act the same as the default callback.
author: author:
- Dag Wieers (@dagwieers) - Dag Wieers (@dagwieers)
requirements: requirements:
@ -263,8 +263,12 @@ class CallbackModule(CallbackModule_default):
sys.stdout.write(colors[self.hosts[name]['state']] + name + vt100.reset) sys.stdout.write(colors[self.hosts[name]['state']] + name + vt100.reset)
sys.stdout.flush() sys.stdout.flush()
# if result._result.get('diff', False):
# sys.stdout.write('\n' + vt100.linewrap)
sys.stdout.write(vt100.linewrap) sys.stdout.write(vt100.linewrap)
# self.keep = True
def _display_task_banner(self): def _display_task_banner(self):
if not self.shown_title: if not self.shown_title:
self.shown_title = True self.shown_title = True
@ -308,12 +312,12 @@ class CallbackModule(CallbackModule_default):
delegated_vars = result._result.get('_ansible_delegated_vars', None) delegated_vars = result._result.get('_ansible_delegated_vars', None)
if delegated_vars: if delegated_vars:
sys.stdout.write(f"{vt100.reset}{result._host.get_name()}>{colors[status]}{delegated_vars['ansible_host']}") sys.stdout.write(f"{vt100.reset + result._host.get_name()}>{colors[status]}{delegated_vars['ansible_host']}")
else: else:
sys.stdout.write(result._host.get_name()) sys.stdout.write(result._host.get_name())
sys.stdout.write(f": {dump}\n") sys.stdout.write(f": {dump}\n")
sys.stdout.write(f"{vt100.reset}{vt100.save}{vt100.clearline}") sys.stdout.write(vt100.reset + vt100.save + vt100.clearline)
sys.stdout.flush() sys.stdout.flush()
if status == 'changed': if status == 'changed':

View file

@ -23,15 +23,15 @@ notes:
that is available using the other various execution contexts, such as playbook, play, task, and so on so forth. that is available using the other various execution contexts, such as playbook, play, task, and so on so forth.
- Options being set by their respective variable input can only be set using the variable if the variable was set in a context - Options being set by their respective variable input can only be set using the variable if the variable was set in a context
that is available to the respective callback. Use the C(ansible_callback_diy) dictionary to see what is available to a that is available to the respective callback. Use the C(ansible_callback_diy) dictionary to see what is available to a
callback. Additionally, C(ansible_callback_diy.top_level_var_names) outputs the top level variable names available callback. Additionally, C(ansible_callback_diy.top_level_var_names) will output the top level variable names available
to the callback. to the callback.
- Each option value is rendered as a template before being evaluated. This allows for the dynamic usage of an option. For - Each option value is rendered as a template before being evaluated. This allows for the dynamic usage of an option. For
example, V("{{ 'yellow' if ansible_callback_diy.result.is_changed else 'bright green' }}"). example, C("{{ 'yellow' if ansible_callback_diy.result.is_changed else 'bright green' }}").
- 'B(Condition) for all C(msg) options: if value V(is None or omit), then the option is not being used. B(Effect): use of - 'B(Condition) for all C(msg) options: if value C(is None or omit), then the option is not being used. B(Effect): use
the C(default) callback plugin for output.' of the C(default) callback plugin for output.'
- 'B(Condition) for all C(msg) options: if value V(is not None and not omit and length is not greater than 0), then the - 'B(Condition) for all C(msg) options: if value C(is not None and not omit and length is not greater than 0), then the
option is being used without output. B(Effect): suppress output.' option is being used without output. B(Effect): suppress output.'
- 'B(Condition) for all C(msg) options: if value V(is not None and not omit and length is greater than 0), then the option - 'B(Condition) for all C(msg) options: if value C(is not None and not omit and length is greater than 0), then the option
is being used with output. B(Effect): render value as template and output.' is being used with output. B(Effect): render value as template and output.'
- 'Valid color values: V(black), V(bright gray), V(blue), V(white), V(green), V(bright blue), V(cyan), V(bright green), - 'Valid color values: V(black), V(bright gray), V(blue), V(white), V(green), V(bright blue), V(cyan), V(bright green),
V(red), V(bright cyan), V(purple), V(bright red), V(yellow), V(bright purple), V(dark gray), V(bright yellow), V(magenta), V(red), V(bright cyan), V(purple), V(bright red), V(yellow), V(bright purple), V(dark gray), V(bright yellow), V(magenta),

View file

@ -87,7 +87,6 @@ from contextlib import closing
from os.path import basename from os.path import basename
from ansible.errors import AnsibleError, AnsibleRuntimeError from ansible.errors import AnsibleError, AnsibleRuntimeError
from ansible.module_utils.ansible_release import __version__ as ansible_version
from ansible.module_utils.six import raise_from from ansible.module_utils.six import raise_from
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
@ -141,6 +140,7 @@ class HostData:
class ElasticSource(object): class ElasticSource(object):
def __init__(self, display): def __init__(self, display):
self.ansible_playbook = "" self.ansible_playbook = ""
self.ansible_version = None
self.session = str(uuid.uuid4()) self.session = str(uuid.uuid4())
self.host = socket.gethostname() self.host = socket.gethostname()
try: try:
@ -183,6 +183,9 @@ class ElasticSource(object):
task = tasks_data[task_uuid] task = tasks_data[task_uuid]
if self.ansible_version is None and result._task_fields['args'].get('_ansible_version'):
self.ansible_version = result._task_fields['args'].get('_ansible_version')
task.add_host(HostData(host_uuid, host_name, status, result)) task.add_host(HostData(host_uuid, host_name, status, result))
def generate_distributed_traces(self, tasks_data, status, end_time, traceparent, apm_service_name, def generate_distributed_traces(self, tasks_data, status, end_time, traceparent, apm_service_name,
@ -206,7 +209,8 @@ class ElasticSource(object):
else: else:
apm_cli.begin_transaction("Session", start=parent_start_time) apm_cli.begin_transaction("Session", start=parent_start_time)
# Populate trace metadata attributes # Populate trace metadata attributes
label(ansible_version=ansible_version) if self.ansible_version is not None:
label(ansible_version=self.ansible_version)
label(ansible_session=self.session, ansible_host_name=self.host, ansible_host_user=self.user) label(ansible_session=self.session, ansible_host_name=self.host, ansible_host_user=self.user)
if self.ip_address is not None: if self.ip_address is not None:
label(ansible_host_ip=self.ip_address) label(ansible_host_ip=self.ip_address)

View file

@ -10,7 +10,7 @@ DOCUMENTATION = r"""
author: Unknown (!UNKNOWN) author: Unknown (!UNKNOWN)
name: jabber name: jabber
type: notification type: notification
short_description: Post task events to a Jabber server short_description: post task events to a Jabber server
description: description:
- The chatty part of ChatOps with a Hipchat server as a target. - The chatty part of ChatOps with a Hipchat server as a target.
- This callback plugin sends status updates to a HipChat channel during playbook execution. - This callback plugin sends status updates to a HipChat channel during playbook execution.
@ -36,7 +36,7 @@ options:
env: env:
- name: JABBER_PASS - name: JABBER_PASS
to: to:
description: Chat identifier that receives the message. description: Chat identifier that will receive the message.
type: str type: str
required: true required: true
env: env:

View file

@ -10,7 +10,7 @@ DOCUMENTATION = r"""
author: Unknown (!UNKNOWN) author: Unknown (!UNKNOWN)
name: log_plays name: log_plays
type: notification type: notification
short_description: Write playbook output to log file short_description: write playbook output to log file
description: description:
- This callback writes playbook output to a file per host in the C(/var/log/ansible/hosts) directory. - This callback writes playbook output to a file per host in the C(/var/log/ansible/hosts) directory.
requirements: requirements:
@ -19,7 +19,7 @@ requirements:
options: options:
log_folder: log_folder:
default: /var/log/ansible/hosts default: /var/log/ansible/hosts
description: The folder where log files are created. description: The folder where log files will be created.
type: str type: str
env: env:
- name: ANSIBLE_LOG_FOLDER - name: ANSIBLE_LOG_FOLDER

View file

@ -11,7 +11,7 @@ type: notification
short_description: Posts task results to Azure Log Analytics short_description: Posts task results to Azure Log Analytics
author: "Cyrus Li (@zhcli) <cyrus1006@gmail.com>" author: "Cyrus Li (@zhcli) <cyrus1006@gmail.com>"
description: description:
- This callback plugin posts task results in JSON formatted to an Azure Log Analytics workspace. - This callback plugin will post task results in JSON formatted to an Azure Log Analytics workspace.
- Credits to authors of splunk callback plugin. - Credits to authors of splunk callback plugin.
version_added: "2.4.0" version_added: "2.4.0"
requirements: requirements:
@ -62,7 +62,6 @@ import getpass
from os.path import basename from os.path import basename
from ansible.module_utils.ansible_release import __version__ as ansible_version
from ansible.module_utils.urls import open_url from ansible.module_utils.urls import open_url
from ansible.parsing.ajson import AnsibleJSONEncoder from ansible.parsing.ajson import AnsibleJSONEncoder
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
@ -76,6 +75,7 @@ class AzureLogAnalyticsSource(object):
def __init__(self): def __init__(self):
self.ansible_check_mode = False self.ansible_check_mode = False
self.ansible_playbook = "" self.ansible_playbook = ""
self.ansible_version = ""
self.session = str(uuid.uuid4()) self.session = str(uuid.uuid4())
self.host = socket.gethostname() self.host = socket.gethostname()
self.user = getpass.getuser() self.user = getpass.getuser()
@ -102,6 +102,10 @@ class AzureLogAnalyticsSource(object):
if result._task_fields['args'].get('_ansible_check_mode') is True: if result._task_fields['args'].get('_ansible_check_mode') is True:
self.ansible_check_mode = True self.ansible_check_mode = True
if result._task_fields['args'].get('_ansible_version'):
self.ansible_version = \
result._task_fields['args'].get('_ansible_version')
if result._task._role: if result._task._role:
ansible_role = str(result._task._role) ansible_role = str(result._task._role)
else: else:
@ -115,7 +119,7 @@ class AzureLogAnalyticsSource(object):
data['host'] = self.host data['host'] = self.host
data['user'] = self.user data['user'] = self.user
data['runtime'] = runtime data['runtime'] = runtime
data['ansible_version'] = ansible_version data['ansible_version'] = self.ansible_version
data['ansible_check_mode'] = self.ansible_check_mode data['ansible_check_mode'] = self.ansible_check_mode
data['ansible_host'] = result._host.name data['ansible_host'] = result._host.name
data['ansible_playbook'] = self.ansible_playbook data['ansible_playbook'] = self.ansible_playbook

View file

@ -11,7 +11,7 @@ name: logdna
type: notification type: notification
short_description: Sends playbook logs to LogDNA short_description: Sends playbook logs to LogDNA
description: description:
- This callback reports logs from playbook actions, tasks, and events to LogDNA (U(https://app.logdna.com)). - This callback will report logs from playbook actions, tasks, and events to LogDNA (U(https://app.logdna.com)).
requirements: requirements:
- LogDNA Python Library (U(https://github.com/logdna/python)) - LogDNA Python Library (U(https://github.com/logdna/python))
- whitelisting in configuration - whitelisting in configuration

View file

@ -11,7 +11,7 @@ name: logentries
type: notification type: notification
short_description: Sends events to Logentries short_description: Sends events to Logentries
description: description:
- This callback plugin generates JSON objects and send them to Logentries using TCP for auditing/debugging purposes. - This callback plugin will generate JSON objects and send them to Logentries using TCP for auditing/debugging purposes.
requirements: requirements:
- whitelisting in configuration - whitelisting in configuration
- certifi (Python library) - certifi (Python library)

View file

@ -12,7 +12,7 @@ name: logstash
type: notification type: notification
short_description: Sends events to Logstash short_description: Sends events to Logstash
description: description:
- This callback reports facts and task events to Logstash U(https://www.elastic.co/products/logstash). - This callback will report facts and task events to Logstash U(https://www.elastic.co/products/logstash).
requirements: requirements:
- whitelisting in configuration - whitelisting in configuration
- logstash (Python library) - logstash (Python library)
@ -127,7 +127,9 @@ class CallbackModule(CallbackBase):
if not HAS_LOGSTASH: if not HAS_LOGSTASH:
self.disabled = True self.disabled = True
self._display.warning("The required python3-logstash is not installed.") self._display.warning("The required python-logstash/python3-logstash is not installed. "
"pip install python-logstash for Python 2"
"pip install python3-logstash for Python 3")
self.start_time = now() self.start_time = now()
@ -180,7 +182,7 @@ class CallbackModule(CallbackBase):
data['status'] = "OK" data['status'] = "OK"
data['ansible_playbook'] = playbook._file_name data['ansible_playbook'] = playbook._file_name
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info( self.logger.info(
"START PLAYBOOK | %s", data['ansible_playbook'], extra=data "START PLAYBOOK | %s", data['ansible_playbook'], extra=data
) )
@ -205,7 +207,7 @@ class CallbackModule(CallbackBase):
data['ansible_playbook_duration'] = runtime.total_seconds() data['ansible_playbook_duration'] = runtime.total_seconds()
data['ansible_result'] = json.dumps(summarize_stat) # deprecated field data['ansible_result'] = json.dumps(summarize_stat) # deprecated field
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info( self.logger.info(
"FINISH PLAYBOOK | %s", json.dumps(summarize_stat), extra=data "FINISH PLAYBOOK | %s", json.dumps(summarize_stat), extra=data
) )
@ -224,7 +226,7 @@ class CallbackModule(CallbackBase):
data['ansible_play_id'] = self.play_id data['ansible_play_id'] = self.play_id
data['ansible_play_name'] = self.play_name data['ansible_play_name'] = self.play_name
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info("START PLAY | %s", self.play_name, extra=data) self.logger.info("START PLAY | %s", self.play_name, extra=data)
else: else:
self.logger.info("ansible play", extra=data) self.logger.info("ansible play", extra=data)
@ -249,7 +251,7 @@ class CallbackModule(CallbackBase):
data['ansible_task'] = task_name data['ansible_task'] = task_name
data['ansible_facts'] = self._dump_results(result._result) data['ansible_facts'] = self._dump_results(result._result)
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info( self.logger.info(
"SETUP FACTS | %s", self._dump_results(result._result), extra=data "SETUP FACTS | %s", self._dump_results(result._result), extra=data
) )
@ -270,7 +272,7 @@ class CallbackModule(CallbackBase):
data['ansible_task_id'] = self.task_id data['ansible_task_id'] = self.task_id
data['ansible_result'] = self._dump_results(result._result) data['ansible_result'] = self._dump_results(result._result)
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info( self.logger.info(
"TASK OK | %s | RESULT | %s", "TASK OK | %s | RESULT | %s",
task_name, self._dump_results(result._result), extra=data task_name, self._dump_results(result._result), extra=data
@ -291,7 +293,7 @@ class CallbackModule(CallbackBase):
data['ansible_task_id'] = self.task_id data['ansible_task_id'] = self.task_id
data['ansible_result'] = self._dump_results(result._result) data['ansible_result'] = self._dump_results(result._result)
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info("TASK SKIPPED | %s", task_name, extra=data) self.logger.info("TASK SKIPPED | %s", task_name, extra=data)
else: else:
self.logger.info("ansible skipped", extra=data) self.logger.info("ansible skipped", extra=data)
@ -305,7 +307,7 @@ class CallbackModule(CallbackBase):
data['ansible_play_name'] = self.play_name data['ansible_play_name'] = self.play_name
data['imported_file'] = imported_file data['imported_file'] = imported_file
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info("IMPORT | %s", imported_file, extra=data) self.logger.info("IMPORT | %s", imported_file, extra=data)
else: else:
self.logger.info("ansible import", extra=data) self.logger.info("ansible import", extra=data)
@ -319,7 +321,7 @@ class CallbackModule(CallbackBase):
data['ansible_play_name'] = self.play_name data['ansible_play_name'] = self.play_name
data['imported_file'] = missing_file data['imported_file'] = missing_file
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.info("NOT IMPORTED | %s", missing_file, extra=data) self.logger.info("NOT IMPORTED | %s", missing_file, extra=data)
else: else:
self.logger.info("ansible import", extra=data) self.logger.info("ansible import", extra=data)
@ -343,7 +345,7 @@ class CallbackModule(CallbackBase):
data['ansible_result'] = self._dump_results(result._result) data['ansible_result'] = self._dump_results(result._result)
self.errors += 1 self.errors += 1
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.error( self.logger.error(
"TASK FAILED | %s | HOST | %s | RESULT | %s", "TASK FAILED | %s | HOST | %s | RESULT | %s",
task_name, self.hostname, task_name, self.hostname,
@ -366,7 +368,7 @@ class CallbackModule(CallbackBase):
data['ansible_result'] = self._dump_results(result._result) data['ansible_result'] = self._dump_results(result._result)
self.errors += 1 self.errors += 1
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.error( self.logger.error(
"UNREACHABLE | %s | HOST | %s | RESULT | %s", "UNREACHABLE | %s | HOST | %s | RESULT | %s",
task_name, self.hostname, task_name, self.hostname,
@ -389,7 +391,7 @@ class CallbackModule(CallbackBase):
data['ansible_result'] = self._dump_results(result._result) data['ansible_result'] = self._dump_results(result._result)
self.errors += 1 self.errors += 1
if self.ls_format_version == "v2": if (self.ls_format_version == "v2"):
self.logger.error( self.logger.error(
"ASYNC FAILED | %s | HOST | %s | RESULT | %s", "ASYNC FAILED | %s | HOST | %s | RESULT | %s",
task_name, self.hostname, task_name, self.hostname,

View file

@ -11,7 +11,7 @@ name: mail
type: notification type: notification
short_description: Sends failure events through email short_description: Sends failure events through email
description: description:
- This callback reports failures through email. - This callback will report failures through email.
author: author:
- Dag Wieers (@dagwieers) - Dag Wieers (@dagwieers)
requirements: requirements:
@ -212,8 +212,7 @@ class CallbackModule(CallbackBase):
if self.itembody: if self.itembody:
body += self.itembody body += self.itembody
elif result._result.get('failed_when_result') is True: elif result._result.get('failed_when_result') is True:
fail_cond_list = '\n- '.join(result._task.failed_when) fail_cond = self.indent('failed_when:\n- ' + '\n- '.join(result._task.failed_when))
fail_cond = self.indent(f"failed_when:\n- {fail_cond_list}")
body += f"due to the following condition:\n\n{fail_cond}\n\n" body += f"due to the following condition:\n\n{fail_cond}\n\n"
elif result._result.get('msg'): elif result._result.get('msg'):
body += self.body_blob(result._result['msg'], 'message') body += self.body_blob(result._result['msg'], 'message')

View file

@ -12,7 +12,7 @@ name: 'null'
type: stdout type: stdout
requirements: requirements:
- set as main display callback - set as main display callback
short_description: Do not display stuff to screen short_description: do not display stuff to screen
description: description:
- This callback prevents outputting events to screen. - This callback prevents outputting events to screen.
""" """

View file

@ -35,8 +35,8 @@ options:
- Whether to enable this callback only if the given environment variable exists and it is set to V(true). - Whether to enable this callback only if the given environment variable exists and it is set to V(true).
- This is handy when you use Configuration as Code and want to send distributed traces if running in the CI rather when - This is handy when you use Configuration as Code and want to send distributed traces if running in the CI rather when
running Ansible locally. running Ansible locally.
- For such, it evaluates the given O(enable_from_environment) value as environment variable and if set to V(true) this - For such, it evaluates the given O(enable_from_environment) value as environment variable and if set to true this
plugin is enabled. plugin will be enabled.
env: env:
- name: ANSIBLE_OPENTELEMETRY_ENABLE_FROM_ENVIRONMENT - name: ANSIBLE_OPENTELEMETRY_ENABLE_FROM_ENVIRONMENT
ini: ini:
@ -143,7 +143,6 @@ from collections import OrderedDict
from os.path import basename from os.path import basename
from ansible.errors import AnsibleError from ansible.errors import AnsibleError
from ansible.module_utils.ansible_release import __version__ as ansible_version
from ansible.module_utils.six import raise_from from ansible.module_utils.six import raise_from
from ansible.module_utils.six.moves.urllib.parse import urlparse from ansible.module_utils.six.moves.urllib.parse import urlparse
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
@ -213,6 +212,7 @@ class HostData:
class OpenTelemetrySource(object): class OpenTelemetrySource(object):
def __init__(self, display): def __init__(self, display):
self.ansible_playbook = "" self.ansible_playbook = ""
self.ansible_version = None
self.session = str(uuid.uuid4()) self.session = str(uuid.uuid4())
self.host = socket.gethostname() self.host = socket.gethostname()
try: try:
@ -260,6 +260,9 @@ class OpenTelemetrySource(object):
task = tasks_data[task_uuid] task = tasks_data[task_uuid]
if self.ansible_version is None and hasattr(result, '_task_fields') and result._task_fields['args'].get('_ansible_version'):
self.ansible_version = result._task_fields['args'].get('_ansible_version')
task.dump = dump task.dump = dump
task.add_host(HostData(host_uuid, host_name, status, result)) task.add_host(HostData(host_uuid, host_name, status, result))
@ -307,7 +310,8 @@ class OpenTelemetrySource(object):
start_time=parent_start_time, kind=SpanKind.SERVER) as parent: start_time=parent_start_time, kind=SpanKind.SERVER) as parent:
parent.set_status(status) parent.set_status(status)
# Populate trace metadata attributes # Populate trace metadata attributes
parent.set_attribute("ansible.version", ansible_version) if self.ansible_version is not None:
parent.set_attribute("ansible.version", self.ansible_version)
parent.set_attribute("ansible.session", self.session) parent.set_attribute("ansible.session", self.session)
parent.set_attribute("ansible.host.name", self.host) parent.set_attribute("ansible.host.name", self.host)
if self.ip_address is not None: if self.ip_address is not None:

View file

@ -1,64 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2025, Max Mitschke <maxmitschke@fastmail.com>
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
DOCUMENTATION = r"""
name: print_task
type: aggregate
short_description: Prints playbook task snippet to job output
description:
- This plugin prints the currently executing playbook task to the job output.
version_added: 10.7.0
requirements:
- enable in configuration
"""
EXAMPLES = r"""
ansible.cfg: |-
# Enable plugin
[defaults]
callbacks_enabled=community.general.print_task
"""
from yaml import load, dump
try:
from yaml import CSafeDumper as SafeDumper
from yaml import CSafeLoader as SafeLoader
except ImportError:
from yaml import SafeDumper, SafeLoader
from ansible.plugins.callback import CallbackBase
class CallbackModule(CallbackBase):
"""
This callback module tells you how long your plays ran for.
"""
CALLBACK_VERSION = 2.0
CALLBACK_TYPE = 'aggregate'
CALLBACK_NAME = 'community.general.print_task'
CALLBACK_NEEDS_ENABLED = True
def __init__(self):
super(CallbackModule, self).__init__()
self._printed_message = False
def _print_task(self, task):
if hasattr(task, '_ds'):
task_snippet = load(str([task._ds.copy()]), Loader=SafeLoader)
task_yaml = dump(task_snippet, sort_keys=False, Dumper=SafeDumper)
self._display.display(f"\n{task_yaml}\n")
self._printed_message = True
def v2_playbook_on_task_start(self, task, is_conditional):
self._printed_message = False
def v2_runner_on_start(self, host, task):
if not self._printed_message:
self._print_task(task)

View file

@ -14,9 +14,9 @@ type: notification
requirements: requirements:
- whitelisting in configuration - whitelisting in configuration
- the C(/usr/bin/say) command line program (standard on macOS) or C(espeak) command line program - the C(/usr/bin/say) command line program (standard on macOS) or C(espeak) command line program
short_description: Notify using software speech synthesizer short_description: notify using software speech synthesizer
description: description:
- This plugin uses C(say) or C(espeak) to "speak" about play events. - This plugin will use the C(say) or C(espeak) program to "speak" about play events.
""" """
import platform import platform

View file

@ -12,7 +12,7 @@ name: selective
type: stdout type: stdout
requirements: requirements:
- set as main display callback - set as main display callback
short_description: Only print certain tasks short_description: only print certain tasks
description: description:
- This callback only prints tasks that have been tagged with C(print_action) or that have failed. This allows operators - This callback only prints tasks that have been tagged with C(print_action) or that have failed. This allows operators
to focus on the tasks that provide value only. to focus on the tasks that provide value only.

View file

@ -11,7 +11,7 @@ type: notification
short_description: Sends task result events to Splunk HTTP Event Collector short_description: Sends task result events to Splunk HTTP Event Collector
author: "Stuart Hirst (!UNKNOWN) <support@convergingdata.com>" author: "Stuart Hirst (!UNKNOWN) <support@convergingdata.com>"
description: description:
- This callback plugin sends task results as JSON formatted events to a Splunk HTTP collector. - This callback plugin will send task results as JSON formatted events to a Splunk HTTP collector.
- The companion Splunk Monitoring & Diagnostics App is available here U(https://splunkbase.splunk.com/app/4023/). - The companion Splunk Monitoring & Diagnostics App is available here U(https://splunkbase.splunk.com/app/4023/).
- Credit to "Ryan Currah (@ryancurrah)" for original source upon which this is based. - Credit to "Ryan Currah (@ryancurrah)" for original source upon which this is based.
requirements: requirements:
@ -91,7 +91,6 @@ import getpass
from os.path import basename from os.path import basename
from ansible.module_utils.ansible_release import __version__ as ansible_version
from ansible.module_utils.urls import open_url from ansible.module_utils.urls import open_url
from ansible.parsing.ajson import AnsibleJSONEncoder from ansible.parsing.ajson import AnsibleJSONEncoder
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
@ -105,6 +104,7 @@ class SplunkHTTPCollectorSource(object):
def __init__(self): def __init__(self):
self.ansible_check_mode = False self.ansible_check_mode = False
self.ansible_playbook = "" self.ansible_playbook = ""
self.ansible_version = ""
self.session = str(uuid.uuid4()) self.session = str(uuid.uuid4())
self.host = socket.gethostname() self.host = socket.gethostname()
self.ip_address = socket.gethostbyname(socket.gethostname()) self.ip_address = socket.gethostbyname(socket.gethostname())
@ -114,6 +114,10 @@ class SplunkHTTPCollectorSource(object):
if result._task_fields['args'].get('_ansible_check_mode') is True: if result._task_fields['args'].get('_ansible_check_mode') is True:
self.ansible_check_mode = True self.ansible_check_mode = True
if result._task_fields['args'].get('_ansible_version'):
self.ansible_version = \
result._task_fields['args'].get('_ansible_version')
if result._task._role: if result._task._role:
ansible_role = str(result._task._role) ansible_role = str(result._task._role)
else: else:
@ -139,7 +143,7 @@ class SplunkHTTPCollectorSource(object):
data['ip_address'] = self.ip_address data['ip_address'] = self.ip_address
data['user'] = self.user data['user'] = self.user
data['runtime'] = runtime data['runtime'] = runtime
data['ansible_version'] = ansible_version data['ansible_version'] = self.ansible_version
data['ansible_check_mode'] = self.ansible_check_mode data['ansible_check_mode'] = self.ansible_check_mode
data['ansible_host'] = result._host.name data['ansible_host'] = result._host.name
data['ansible_playbook'] = self.ansible_playbook data['ansible_playbook'] = self.ansible_playbook

View file

@ -11,7 +11,7 @@ type: notification
short_description: Sends task result events to Sumologic short_description: Sends task result events to Sumologic
author: "Ryan Currah (@ryancurrah)" author: "Ryan Currah (@ryancurrah)"
description: description:
- This callback plugin sends task results as JSON formatted events to a Sumologic HTTP collector source. - This callback plugin will send task results as JSON formatted events to a Sumologic HTTP collector source.
requirements: requirements:
- Whitelisting this callback plugin - Whitelisting this callback plugin
- 'Create a HTTP collector source in Sumologic and specify a custom timestamp format of V(yyyy-MM-dd HH:mm:ss ZZZZ) and - 'Create a HTTP collector source in Sumologic and specify a custom timestamp format of V(yyyy-MM-dd HH:mm:ss ZZZZ) and
@ -48,7 +48,6 @@ import getpass
from os.path import basename from os.path import basename
from ansible.module_utils.ansible_release import __version__ as ansible_version
from ansible.module_utils.urls import open_url from ansible.module_utils.urls import open_url
from ansible.parsing.ajson import AnsibleJSONEncoder from ansible.parsing.ajson import AnsibleJSONEncoder
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
@ -62,6 +61,7 @@ class SumologicHTTPCollectorSource(object):
def __init__(self): def __init__(self):
self.ansible_check_mode = False self.ansible_check_mode = False
self.ansible_playbook = "" self.ansible_playbook = ""
self.ansible_version = ""
self.session = str(uuid.uuid4()) self.session = str(uuid.uuid4())
self.host = socket.gethostname() self.host = socket.gethostname()
self.ip_address = socket.gethostbyname(socket.gethostname()) self.ip_address = socket.gethostbyname(socket.gethostname())
@ -71,6 +71,10 @@ class SumologicHTTPCollectorSource(object):
if result._task_fields['args'].get('_ansible_check_mode') is True: if result._task_fields['args'].get('_ansible_check_mode') is True:
self.ansible_check_mode = True self.ansible_check_mode = True
if result._task_fields['args'].get('_ansible_version'):
self.ansible_version = \
result._task_fields['args'].get('_ansible_version')
if result._task._role: if result._task._role:
ansible_role = str(result._task._role) ansible_role = str(result._task._role)
else: else:
@ -88,7 +92,7 @@ class SumologicHTTPCollectorSource(object):
data['ip_address'] = self.ip_address data['ip_address'] = self.ip_address
data['user'] = self.user data['user'] = self.user
data['runtime'] = runtime data['runtime'] = runtime
data['ansible_version'] = ansible_version data['ansible_version'] = self.ansible_version
data['ansible_check_mode'] = self.ansible_check_mode data['ansible_check_mode'] = self.ansible_check_mode
data['ansible_host'] = result._host.name data['ansible_host'] = result._host.name
data['ansible_playbook'] = self.ansible_playbook data['ansible_playbook'] = self.ansible_playbook

View file

@ -12,12 +12,12 @@ name: syslog_json
type: notification type: notification
requirements: requirements:
- whitelist in configuration - whitelist in configuration
short_description: Sends JSON events to syslog short_description: sends JSON events to syslog
description: description:
- This plugin logs ansible-playbook and ansible runs to a syslog server in JSON format. - This plugin logs ansible-playbook and ansible runs to a syslog server in JSON format.
options: options:
server: server:
description: Syslog server that receives the event. description: Syslog server that will receive the event.
type: str type: str
env: env:
- name: SYSLOG_SERVER - name: SYSLOG_SERVER

Some files were not shown because too many files have changed in this diff Show more