Fix gitlab access token crash in check mode for new tokens (#8796)
Fix crash in check mode when attempting to create a new gitlab access token
(cherry picked from commit e9071e9871)
Co-authored-by: Veikko Virrankoski <71337077+vvirrank@users.noreply.github.com>
keycloak_user_federation: fix key error when removing mappers in update (#8762)
* remove new mappers without an id from list comprehension
* add changelog fragment
* Update changelogs/fragments/8762-keycloac_user_federation-fix-key-error-when-updating.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit b79ac4f0ac)
Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
MH deco: minor refactor (#8766)
* MH deco: minor refactor
* adjustments and improvement in test
* sanity fix
* use func.__self__
* simplify use of self
* add changelog frag
(cherry picked from commit c84fb5577b)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
gitlab_project: sort parameters in order to avoid futur merge conflicts (#8759)
(cherry picked from commit e1b5ddb050)
Co-authored-by: Julien Lecomte <julien-lecomte@users.noreply.github.com>
Get interfaces for Proxmox LXC containers (#8713)
* Get interfaces for Proxmox LXC containers
* Add changelog
* Don't use bare except
* Update changelog from suggestion
Co-authored-by: Felix Fontein <felix@fontein.de>
* Only lookup interfaces for running containers
* Ignore not implemented status
* Check that key exists in properties dict
* define ignore errors in mock
* Use not in
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 0f59bb7a99)
Co-authored-by: Scott Langendyk <scott@langendyk.com>
keycloak_identity_provider: get cleartext clientsecret (#8735)
* get cleartext `clientSecret` from full realm info
* add mock get_realm call to existing tests; add new no_change_when_present test
* add changelog fragment
* remove blank lines
* Update changelog.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 57e28e5a73)
Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
Namespace the passwordstore lockfile (#8689)
* Namespace the lockfile
When passwordstore needs to grab a lock, it creates a statically file (within /tmp, typically). This is unfortunate, when there might be more than one user using the passwordstore functionality on that machine. Prepend the user to the filename, to bypass further issues.
* Update plugins/lookup/passwordstore.py
specifically reference the argument number in the format string.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add changelog fragment for PR#8689
* Update 8689-passwordstore-lock-naming.yml
I was sure that was a copy/paste.
* Update changelogs/fragments/8689-passwordstore-lock-naming.yml
specify the type of plugin
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 8989b6c4d4)
Co-authored-by: Adam Tygart <adam.tygart@gmail.com>
Add support for multiple locales in locale_gen (#8682)
* Add support for multiple locales in locale_gen
* Add changelog fragment
* Remove extraneous newlines
* Remove typehints
* Add 'before version' to names documentation
* Remove extraneous comment
* Replace fstring with .format
* Refer to issue in changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Clarify version
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add newline between examples
Co-authored-by: Felix Fontein <felix@fontein.de>
* Use semantic markup for locale value
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 158947f5e5)
Co-authored-by: Matthias Kunnen <matthias.kunnen@gmail.com>
fix(opentelemetry): adjust default value for `store_spans_in_file` causing traces to be produced to a file named `None` (#8741)
* fix(opentelemetry): adjust default value for `store_spans_in_file` causing traces to be produced to a file named `None`
The commit 5f481939d introduced `store_spans_in_file` with the default
value `None` as a string. This causes the value of `store_spans_in_file`
to be a not empty string, value=None as a string and not a null value.
The rest of the code check if the store_spans_in_file is not null which
squeezes the rest of the code. The following commit set the default
value as an empty string.
Signed-off-by: Wilfried Roset <wilfriedroset@users.noreply.github.com>
* fix(opentelemetry): No default value is better, reword changelog
Signed-off-by: Wilfried Roset <wilfriedroset@users.noreply.github.com>
---------
Signed-off-by: Wilfried Roset <wilfriedroset@users.noreply.github.com>
(cherry picked from commit 73b54139d6)
Co-authored-by: Wilfried ROSET <wilfriedroset@users.noreply.github.com>
keycloak_user_federation: add mapper removal (#8695)
* add unwanted mapper removal
* check for mapper updates in already fetched data to remove unnecessary API calls
* added mock answers and updated request count to match the added delete and fetch after_comp calls
* fix sanity issues
* add changelog fragment
* removed automatic field numbering from format
* replace filter expression with list comprehension
Co-authored-by: Felix Fontein <felix@fontein.de>
* add module name, link to issue and link to PR to changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* Use list comprehension.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 2942eda8e0)
Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
Gitlab_project: add options for repository_access_level and container_expiration_policy (#8674)
* gitlab_project: add option repository_access_level to disable repository
* gitlab_project: add option container_expiration_policy to schedule registry cleanup
* add chnagelog fragment
* Fix changelog fragment PR id
* Fix formatting
* Add required suboptions for container_expiration_policy
* Handle setting only a subset of policy attributes
* Fix changed indicator when policy attribute has null value
* Add descriptions to field clearing options in gitlab container_expiration_policy
(cherry picked from commit b9244130ef)
Co-authored-by: Veikko Virrankoski <71337077+vvirrank@users.noreply.github.com>
Type options of cache plugins (#8624)
* Type options of cache plugins.
* Do not change type of _timeout for now.
(cherry picked from commit 37c8560542)
Co-authored-by: Felix Fontein <felix@fontein.de>
Type options of callback plugins (#8628)
Type options of callback plugins.
(cherry picked from commit cac55beb4f)
Co-authored-by: Felix Fontein <felix@fontein.de>
Type options of connection plugins (#8627)
Type options of connection plugins.
(cherry picked from commit ce65eb8736)
Co-authored-by: Felix Fontein <felix@fontein.de>
Type options of lookup plugins (#8626)
Type options of lookup plugins.
(cherry picked from commit daed4dcc94)
Co-authored-by: Felix Fontein <felix@fontein.de>
Type options of inventory plugins (#8625)
Type options of inventory plugins.
(cherry picked from commit f9a56b9a9b)
Co-authored-by: Felix Fontein <felix@fontein.de>
Type options of become plugins (#8623)
Type options of become plugins.
(cherry picked from commit a24ee93f23)
Co-authored-by: Felix Fontein <felix@fontein.de>
fix: sudosu not working on some BSD machines (#8214)
* fix: sudosu not working on some BSD machines
* fix: sudosu: added a flag (`alt_method`) to enhance compatibility with more versions of `su`
* Update changelogs/fragments/8214-sudosu-not-working-on-some-BSD-machines.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/become/sudosu.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/become/sudosu.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/become/sudosu.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/become/sudosu.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: sudosu: lint
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 83318c36aa)
Co-authored-by: leko <rexx0520@gmail.com>
nsupdate: fix 'index out of range' error when changing NS records (#8614)
* nsupdate: fix 'index out of range' error when changing NS records
* add clog fragment
* Update changelogs/fragments/8614-nsupdate-index-out-of-range.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 9dd2b71d04)
Co-authored-by: Art Win <art@make.lv>
Update VirtualBox Group parsing to align with documentation. (#8510)
* Update VirtualBox Group parsing to align with documentation.
Previously, we could separate the group string on the `/` char and
consider each element to be distinct, top-level groups. This change
implements the notion of nested groups and the use of the `,` char to
split multiple groups.
* Address code review comments.
Changed the implementation from a breaking change to a minor change by
introducing a new parameter to configure the behaviour. Keep the default
values to maintain the existing behaviour, and allow consumers an option
to opt-in.
* Fix line length.
The long lines were tripping CI. Reduce the length.
* Apply suggestions from code review
Update documentation to match expected conventions and correct the final rendered formatting.
Set the initial parent_group to `None` instead of `all` and rely on the parent class' inventory reconciliation logic to ensure consistent behaviour across different inventory plugins.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Reword module arg description to avoid issues with CI.
One of the lines ended with a colon character which made the CI tests
fail since it would interpret it as a YAML key. Reworded the description
altogether to avoid that issue.
* 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 21b16c1c77)
Co-authored-by: lyrandy <42095565+lyrandy@users.noreply.github.com>
Improve Proxmox volume handling (#8542)
* proxmox: basic linting
using black via trunk.io
* proxmox: refactor mount handling (#8407)
- make mount creation idempotent: Mounts created using the special syntax "<storage>:<size>" no longer create a new volume each time
- add new keys for easier mount creation & management
* proxmox: add changelog fragment
* proxmox(fix): fix occasional syntax error
* Update changelogs/fragments/8542-fix-proxmox-volume-handling.yml
Link to pull request
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update documentation
- Fix options defined as values
- Document mutual exclusivity
- Fix option hierarchy
- Add version_added tag
* Revert "proxmox: basic linting"
This reverts commit ca7214f60e.
* proxmox: Fix documentation
* Fix list identifier in documentation
* pass volume options as dict instead of list
* Update plugins/modules/proxmox.py
Update documentation wording
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/proxmox.py
Update documentation wording
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox: ensure values of `disk_volume` and `mount_volumes.*` dicts are strings
* proxmox(fix): correct indentation
* Apply suggestions from code review: punctuation
Add suggested punctuation to documentation
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/proxmox.py: vol_string building
Accept suggested review change
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* proxmox: Use better string check and conversion
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
(cherry picked from commit 6cefde622c)
Co-authored-by: JL Euler <Lithimlin@users.noreply.github.com>
redfish_utils: fix language check (#8613)
* redfish_utils: fix language check
* add fragment file
* typo
* improve words
* improve words based on suggestion
---------
Co-authored-by: Mike Koreneff <mkoreneff@hudson-trading.com>
(cherry picked from commit ca8ecb1df1)
Co-authored-by: Mike Koreneff <mkoreneff@users.noreply.github.com>
proxmox_template: small refactor in get_template() (#8516)
* proxmox_template: small refactor in get_template()
* add changelog frag
* Update plugins/modules/proxmox_template.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* rename function as per PR suggestion
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 70c8042c99)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Enable Custom Cipher Selection for Redfish Modules (#8533)
* Enable custom cipher selection for redfish modules
Signed-off-by: David Ehrman <dlehrman@liberty.edu>
* Add changelog fragment
Signed-off-by: David Ehrman <dlehrman@liberty.edu>
* Added version_added to the ciphers option in redfish modules
Signed-off-by: David Ehrman <dlehrman@liberty.edu>
---------
Signed-off-by: David Ehrman <dlehrman@liberty.edu>
(cherry picked from commit 0d50131d5e)
Co-authored-by: dlehrman <dlehrman@users.noreply.github.com>
pacman: do not fail if there is nothing to do (#8514)
Do not fail if there is nothing to do.
(cherry picked from commit df7fe19bbe)
Co-authored-by: Felix Fontein <felix@fontein.de>
`cargo` module install from source in a given directory (#8480)
* Fixes installed version for git/local.
* Support latest determination with local source.
* Adds docs.
* Improves error message.
* Setup for tests.
* Updates copyright.
* Align closer to #7895.
* Adds changelog.
* Check directory exists.
* Stop using format strings.
* Corrects directory arg type in docs.
* Setup test repo dynamically.
* Adds tests.
* Adds version matching tests.
* Update changelog fragment to match PR ID.
* Updates copyright.
* Import new directory tests.
(cherry picked from commit 69b72e4a8e)
Co-authored-by: Colin Nolan <colin-nolan@users.noreply.github.com>
Fix OpenNebula inventory crash when NIC does not have IP (#8489)
* Fix OpenNebula inventory crash when NIC does not have IP
Match IPv6 behaviour.
When a NIC does not have an IP:
File "ansible/inventory/manager.py", line 292, in parse_source
plugin.parse(self._inventory, self._loader, source, cache=cache)
File "ansible-cm/plugins/inventory/opennebula.py", line 263, in parse
self._populate()
File "ansible-cm/plugins/inventory/opennebula.py", line 226, in _populate
servers = self._retrieve_servers(filter_by_label)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "ansible-cm/plugins/inventory/opennebula.py", line 210, in _retrieve_servers
server['v4_first_ip'] = self._get_vm_ipv4(vm)
^^^^^^^^^^^^^^^^^^^^^
File "ansible-cm/plugins/inventory/opennebula.py", line 154, in _get_vm_ipv4
return net['IP']
* Update to call to match IPv6 and add changelog fragment
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 3716187fc3)
Co-authored-by: Tom Paine <github@aioue.net>