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>
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>
bitwarden_secrets_manager lookup plugin: support more current versions of BWS CLI (#9028)
* add support for getting secrets in the current version of bitwarden secrets manager
* format
* format2
* fragment
* fix formatting errors
* strip out junk before the version in cli output
* mock the --version command in the unit tests
* use LooseVersion comparison - russoz suggestion
* add blank line
(cherry picked from commit 1180843e35)
Co-authored-by: Zac <zgibson@live.com>
opennebula inventory: add VM ID and VM host to data (#8532)
* Add VM id and VM host to opennebula inventory data
##### SUMMARY
<!--- Describe the change below, including rationale and design decisions --> To enable greater use of the inventory, add the ID of the VM, and the hostname of the host the VM is running on to the inventory output
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
<!--- Please do not forget to include a changelog fragment:
https://docs.ansible.com/ansible/devel/community/collection_development_process.html#creating-changelog-fragments
No need to include one for docs-only or test-only PR, and for new plugin/module PRs.
Read about more details in CONTRIBUTING.md.
-->
##### ISSUE TYPE
<!--- Pick one or more below and delete the rest.
'Test Pull Request' is for PRs that add/extend tests without code changes. -->
- Feature Pull Request
##### COMPONENT NAME
<!--- Write the SHORT NAME of the module, plugin, task or feature below. --> opennebula.py
##### ADDITIONAL INFORMATION
<!--- Include additional information to help people understand the change here --> <!--- A step-by-step reproduction of the problem is helpful if there is no related issue -->
<!--- Paste verbatim command output below, e.g. before and after your change -->
```paste below
"host": "foo23.host",
"id": 1234,
```
* Create 8532-expand-opennuebula-inventory-data.yml
* Update opennebula.py
* Update changelogs/fragments/8532-expand-opennuebula-inventory-data.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check for empty records and add test
* fix attribute test
* fix attribute test
* fix attribute test
* fix attribute test
* Update plugins/inventory/opennebula.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* update as per guidance
* restore attribute checks
* fix attr
* fix indent
* PR Fixes
* add attribute check in case of empty variable
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Александр Бакановский <abakanovskii@astralinux.ru>
(cherry picked from commit 24b74cc4b9)
Co-authored-by: Tom Paine <github@aioue.net>
keycloak_userprofile: improve diff by deserializing fetched `kc.user.profile.config` and serializing it before sending (#8940)
* deserialize fetched `kc.user.profile.config` and serialize it before sending
* change `kc.user.profile.config` to JSON formatted string in mock `get_component` responses
* add changelog fragment
(cherry picked from commit c814fd0530)
Co-authored-by: fgruenbauer <gruenbauer@b1-systems.de>
unit test helper: big revamp (#8894)
* initial commit
* multiple changes:
- TestCaseContext fixture no longer need to autouse=True
- Helper.from_module() allows extra param to specify yaml file
- test_django_check: adjusted .py and .yaml
* set fixtures per testcase
* set fixtures per testcase
* rollback to original state
* patch_ansible_module fixture
- now it works not only in parametrized functions but also directly with args
* tests/unit/plugins/modules/helper.py
- improved encapsulation, class Helper no longer knows details about test cases
- test functions no longer parametrized, that allows using test case fixtures per test function
- renamed 'context' to 'mock'
* enable Helper.from_list(), better param name 'ansible_module'
* adjusted test fiels to new helper
* remove unnecessary .license file
* fix bracket
* fix reference name
* Update tests/unit/plugins/modules/helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* revert to parametrized test func instead of multiple funcs
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 8ef77d8664)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
keycloak_userprofile: new module (#8651)
keycloak_userprofile: new keycloak module to manage user profiles (#8651)
(cherry picked from commit 529af4984c)
Co-authored-by: Eike Waldt <waldt@b1-systems.de>
use dict comprehension in plugins, part 3 (#8833)
* use dict comprehension in plugins, part 3
* add changelog frag
(cherry picked from commit 26df6c7657)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Fix and enable test for datadog_downtime (#8815)
The test has been disabled because it started to fail after an update of
the Datadog API client. The issue itself (id cannot be set in
constructor) and other issues (module name, additional attribute in API
responses) are now fixed. The test is now working fine again.
Fixes#3219.
(cherry picked from commit 593d302f0b)
Co-authored-by: Stefan Birkner <github@stefan-birkner.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>
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>
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>
Fix pylint and pep8 issues exposed by latest ansible-core's ansible-test sanity checks (#8720)
* Remove bad whitespace.
* 'Fixing' various used-before-assignment issues that pylint flagged.
(cherry picked from commit 9a16eaf9ba)
Co-authored-by: Felix Fontein <felix@fontein.de>
Add a keycloak module to query keys metadata (#8605)
* feat(keycloak): module to query keys metadata
* chore: add thomasbach-dev as maintainer in team_keycloak
* test: adding a unit test for keycloak_real_keys_metadata_info module
* fixup! feat(keycloak): module to query keys metadata
(cherry picked from commit 229ed6dad9)
Co-authored-by: Thomas Bach <63091663+thomasbach-dev@users.noreply.github.com>
Introduce bootc functionality (#8606)
* introduce bootc functionality
Signed-off-by: Ryan Cook <rcook@redhat.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* fix of test
Signed-off-by: Ryan Cook <rcook@redhat.com>
* switch stdout var
Signed-off-by: Ryan Cook <rcook@redhat.com>
* Feedback on NOTE format
Co-authored-by: Felix Fontein <felix@fontein.de>
* addition of trailing comma
Co-authored-by: Felix Fontein <felix@fontein.de>
* addition of trailing comma
Co-authored-by: Felix Fontein <felix@fontein.de>
* incorporating feedback from russoz
Signed-off-by: Ryan Cook <rcook@redhat.com>
* error in stdout
Signed-off-by: Ryan Cook <rcook@redhat.com>
* proper rc checking and status
Signed-off-by: Ryan Cook <rcook@redhat.com>
* linting
Signed-off-by: Ryan Cook <rcook@redhat.com>
* Update version
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Ryan Cook <rcook@redhat.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 1a8f172186)
Co-authored-by: Ryan Cook <rcook@redhat.com>
add test case for cmd_runner_fmt.as_list() (#8541)
(cherry picked from commit 60ba7cab93)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
django_check: new module (#8454)
* django_check: new module
* sanity fix
* working version
* remove unused import
* add note about the module output
* add note on module failing when rc!=0
(cherry picked from commit c31499a411)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* add systemd run0 as a become method
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* add fragment
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* remove space after hyphen
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* replace ansible with collection version
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* update version_added and remove changelog fragment
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* update formating
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* add types
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* slim super()
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* imports must appear below docs
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* add initial unit test
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* update unit tests
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
---------
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* gomebrew: Move repeated logic from homebrew modules into module_utils
Fixes#8323.
* ghangelog + unit test improvement
* Update changelogs/fragments/8323-refactor-homebrew-logic-module-utils.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* manually prepare variables of foreign host including hostvars property
* render variables from context of current host
* add integration test for cross host merge
* lint fixes
* adjust cross host merge unit tests to provide a tiny bit of the HostVars Class API
* add license information
* lint
* add changelog fragment
* Update tests/integration/targets/lookup_merge_variables/test_cross_host_merge_play.yml
Okay
Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>
* Update tests/integration/targets/lookup_merge_variables/test_cross_host_merge_play.yml
Okay
Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>
* Update tests/integration/targets/lookup_merge_variables/test_cross_host_merge_play.yml
Okay
Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>
* rename _HostVars to HostVarsMock
* removing unnecessary task
---------
Co-authored-by: Gitlab CI <alexander.petrenz@posteo.de>
Co-authored-by: Mark <40321020+m-a-r-k-e@users.noreply.github.com>
* bitwarden - add support for filtering by organization_id
* Update changelogs/fragments/8188-bitwarden-add-organization_id.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* implement PR discussion result on wording
* rewrite search_field filtering
To correctly handle organization_id and collection_id by passing both to bw.
Tests needed to be extended to filter organizations / collections and
the testdata needed changes to reflect that a collection always belongs to a
single organizaion
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* First implementation of usb module
* Rename to usb_facts
* Working tests
* Appease linter
* Fix author
* Remove splitlines arg for python 2.7 compat
* indent usb test further
* indent usb test a bit less
* Remove trailing whitespace
* Update plugins/modules/usb_facts.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/usb_facts.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adjust usb_facts PR based on feedback
* Add usage example and extend correct documentation fragment
* Add myself to BOTMETA.yml
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
ipa_data is return ipatokendisable in boolean format and the module expects it as a string
this behavior causes a lack of idempotency and the get_diff module will fail in the second run.