* keycloak: add client authentication support for client_secret
Signed-off-by: Marius Bertram <marius@brtrm.de>
* readd ['token', 'auth_realm']
Signed-off-by: Marius Bertram <marius@brtrm.de>
---------
Signed-off-by: Marius Bertram <marius@brtrm.de>
* fix(modules/gitlab_runner): Fix exception in check mode on new runners
When a new runner is added in check mode, the role used to throw an
exception. Fix this by returning a valid runner object instead of a
boolean.
Fixes#8854
* docs: Add changelog fragment
* use f-strings in module utils
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* remove unused imports
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Get rid of all six.moves imports.
* Get rid of iteritems.
* Get rid of *_type(s) aliases.
* Replace StringIO import.
* Get rid of PY2/PY3 constants.
* Get rid of raise_from.
* Get rid of python_2_unicode_compatible.
* Clean up global six imports.
* Remove all usage of ansible.module_utils.six.
* Linting.
* Fix xml module.
* Docs adjustments.
* Adjust all __future__ imports:
for i in $(grep -REl "__future__.*absolute_import" plugins/ tests/); do
sed -e 's/from __future__ import .*/from __future__ import annotations/g' -i $i;
done
* Remove all UTF-8 encoding specifications for Python source files:
for i in $(grep -REl '[-][*]- coding: utf-8 -[*]-' plugins/ tests/); do
sed -e '/^# -\*- coding: utf-8 -\*-/d' -i $i;
done
* Remove __metaclass__ = type:
for i in $(grep -REl '__metaclass__ = type' plugins/ tests/); do
sed -e '/^__metaclass__ = type/d' -i $i;
done
* random_string: replace random.SystemRandom() with secrets.SystemRandom()
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* add the forgotten blank line
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* Update changelogs/fragments/replace-random-with-secrets.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* readd the description
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* Update changelogs/fragments/replace-random-with-secrets.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Bump version to 12.0.0.
* Remove deprecated modules and plugins.
* state is now required.
* Change default of prepend_hash from auto to never.
* Remove support for force=''.
* Always delegate 'debug'.
* Remove ignore_value_none and ctx_ignore_none parameters.
* Remove parameters on_success and on_failure.
* Update BOTMETA.
* Adjust docs reference.
* Forgot required=True.
* Fix changelog fragment.
* Adjust unit tests.
* Fix changelog.
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* github_app_access_token: add support for GitHub Enterprise Server (#10879)
Add option to specify api endpoint for a GitHub Enterprise Server.
If option is not specified, defaults to https://api.github.com.
* refactor: apply changes as suggested by felixfontein
* docs: fix nox check error and type-o
nox check: plugins/lookup/github_app_access_token.py:57:1: DOCUMENTATION: error: too many blank lines (1 > 0) (empty-lines)
* refactor: apply changes as suggested by russoz
* refactor: apply changes as suggested by felixfontein
* [doc] update requirements for consul_kv module
python-consul has been unmaintained for a while. It uses a legacy way of passing the Consul token when sending requests. This leads to warning messages in Consul log, and will eventually break communication. Using the maintained py-consul library ensures compatibility to newer Consul versions.
* [doc] replace all python-consul occurrences with py-consul
* [fix] tests and possible pip server errors
* [chore] remove referencce to python-consul in comment
---------
Co-authored-by: Sebastian Damm <sebastian.damm@pascom.net>
* Force Content-type header to application/json if is_pre740 is false
* Remove response variable from fail_json module
* Add a missing blank line to match pep8 requirement
* Add changelog fragment of issue #10796
* Rename fragment section
* Improve fragment readability
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: ludovic <ludovic.petetin@aleph-networks.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Exclude aliases before comparison
* add test
* fragment
* Update changelogs/fragments/10829-fix-keycloak-role-changed-status.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Andre Desrosiers <andre.desrosiers@ssss.gouv.qc.ca>
Co-authored-by: Felix Fontein <felix@fontein.de>
* homebrew: Support old_tokens and oldnames in homebrew package data
Fixes#10804
Since brew info will accept old_tokens (for casks) and oldnames (for formulae) when provided by the homebrew module "name" argument, the module also needs to consider thes old names as valid for the given package. This commit updates _extract_package_name to do that.
All existing package name tests, including existing tests for name aliases and tap prefixing, have been consolidated with new name tests into package_names.yml.
* Added changelog fragment.
* homebrew: replace non-py2 compliant f-string usage
* code formatting lint, and py2 compatibility fixes
* homebrew: added licenses to new files, nox lint
* Update plugins/modules/homebrew.py
use str.format() instead of string addition
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/homebrew/tasks/casks.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/homebrew/tasks/package_names_item.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/homebrew/tasks/formulae.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fixes for performance concerns on new homebrew tests.
1) tests for alternate package names are commented out in main.yml.
2) the "install via alternate name, uninstall via base name" test
case was deemed duplicative, and has been deleted .
3) minor fixes to use jinja2 "~" for string concat instead of "+"
* Fix nox lint
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
changed the dependency that is used to test the functionality in android_sdk module. The previous dependency was ~100MB, the current one is ~6MB. This should speed up the tests a bit and reduce the traffic.
* gitlab_protected_branch: fix typo
* gitlab_protected_branch: lump parameters into options dictionary
Hardcoding parameter lists gets repetitive. Refactor this module to use
an options dictionary like many other gitlab_* modules. This makes it
cleaner to add new options.
* gitlab_protected_branch: update when possible
Until now, the module deletes and re-creates the protected branch if any
change is detected. This makes sense for the access level parameters, as
these are not easily mutated after creation.
However, in order to add further options which _can_ easily be updated,
we should support updating by default, unless known-immutable parameters
are changing.
* gitlab_protected_branch: add `allow_force_push` option
* gitlab_protected_branch: add `code_owner_approval_required` option
* gitlab_protected_branch: add issues to changelog
* Update changelog.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* gitlab_*_variable: support masked-and-hidden variables
Support masking and hiding GitLab project and group variables. In the
GitLab API, variables that are hidden are also masked by implication.
Note gitlab_instance_variable is unmodified since instance variables
cannot be hidden.
* gitlab_*_variable: add `hidden` to legacy `vars` syntax
* gitlab_*_variable: address review comments in doc
* Add Option to configure webAuthnPolicies for Keycloak
* Mark webauth properties as noLog false
* fix line length
* rename webauthn stuff to match api of keycloak
* rename webauthn stuff to match api of keycloak
* Update changelogs/fragments/keycloak-realm-webauthn-policies.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* add version for each type
* Update plugins/modules/keycloak_realm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Julian Thanner <julian.thanner@check24.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* django module, module_utils: adjustments
* more fixes
* more fixes
* further simplification
* django_dumpdata/django_loaddata: new modules
* Update plugins/modules/django_dumpdata.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* add note about idempotency
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* parted: command args as list rather than string
* add changelog frag
* add missing command line dash args
* make scripts as lists as well
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* kdeconfig: add support for kwriteconfig6
Rationale:
With a minimal install of KDE Plasma 6, the kdeconfig module would systematically fail with the following error: `kwriteconfig is not installed.`
In this configuration, kwriteconfig6 is the only version of kwriteconfig installed, and the kdeconfig module did not not find it.
Fixes#10746
* Add changelog fragment
* Update changelogs/fragments/10751-kdeconfig-support-kwriteconfig6.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* handle arbitrary error status
* add changelog fragment
* mock module in test
* Update changelogs/fragments/10743-monit-handle-unknown-status.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* openbsd_pkg: add support for removing unused dependencies
Add new state 'rm_unused_deps' that uses 'pkg_delete -a' to remove
packages that are no longer required by any other packages.
Features:
- Requires name='*' to avoid accidental usage
- Supports check mode, diff mode, clean and quick flags
- Follows existing module patterns for error handling
- Integrates with existing package list comparison for change detection
* Update the PR number in the frgment link
* Fix the changelog fragment name to include the PR #
* Force non-interactive mode like most of the other modes
* Fix PEP8 E302: add missing blank line before function definition
* Ensure that no matter what, if the package list unchanged then there was no change
Also removed some unused vars from the original code.
* Standardize names in the PR
* Swap over from a new state to implementing an autoremove option
Added code to handle the case where you git a name or list of names as
pkg_delete will correctly filter what it autoremove by the names
* Update the fragment to match the new code
* typo in EXAMPLES
* Fix up a yamllint complaint.
I do note the following:
```
$ ansible-lint tests/test_openbsd_pkg.yml
Passed: 0 failure(s), 0 warning(s) on 1 files. Last profile that met the validation criteria was 'production'.
```
Although that could be due to local config
* While here add realistic examples of packages that might be autoinstalled
* Clean up docs.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Autoremove is an option, work like the other package managers
* Update changelog for openbsd_pkg autoremove parameter
Clarified the behavior of the `autoremove` parameter to specify it removes autoinstalled packages. Removed flowery text that isn't needed.
* Cut the rest of the cruft out of the changelog fragment
Make it obvious how '*' can be used as a 'name:'
Be more pythonic in the package list comparison.
* Update changelogs/fragments/10705-openbsd-pkg-remove-unused.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add deprecation for pacemaker_cluster cleanup state
* Add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* random_string: Specify seed while generating random string
* Allow user to specify seed to generate random string
Fixes: #5362
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>
* Add support for gpg-auto-import-keys option to zypper
* Add changelog fragment
* Add missing module argument_spec
* Improving documentation
* Improve changelog fragment
* Update documentation
Added to the description explaining the mode of operation and the protocol being used.
This would add to the user experience and saves time for the user.
* use single quotes around colon contained list element to satisfy linter
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* documentation of nagios module - included all nagios configuration paths in plugins/modules/nagios.py
* used italic code I(...) for paths
* added trailing comma to nagios.cfg path listing
Co-authored-by: Felix Fontein <felix@fontein.de>
* added trailing period after icinga path listing.
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: bjt-user <bjoern.foersterling@web.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Ensure resource standard, provider, and name are proper format
* Add changelog fragment
* Update changelogs/fragments/10663-pacemaker-resource-fix-resource-type.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* apache2_module: updated cgi action conditions
Only the activation of the cgi module in threaded mode should be a
restriction due to apache2 limitations, not the deactivation.
Especially when the cgi module isn't enabled yet at all. Fixes#9140
* bug(fix): apache2_module fails to disable cgi module
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Skip rescan for partition devices in LVM PV module
Adds a check to prevent unnecessary rescan attempts on partition devices in the LVM physical volume module. When a device is actually a partition, attempting to rescan it via sysfs would fail since partitions don't have a rescan interface.
This change improves error handling by gracefully skipping the rescan operation when dealing with partition devices, avoiding misleading warning messages.
* Rewrote device rescan logic
Added changelog fragment
* Add issue reference to lvm_pv changelog entry
* django module utils: remove deprecated function arg ignore_value_none
* fix argument order in call from _DjangoRunner to superclass
* add changelog frag
* imgadm: command args as list rather than string
* add changelog frag
* Update plugins/modules/imgadm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/imgadm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* first commit
* add and fixe test
* add example
* fragment and sanity
* sanity
* sanity
* Update plugins/modules/keycloak_identity_provider.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/10527-keycloak-idp-well-known-url-support.yml
---------
Co-authored-by: Andre Desrosiers <andre.desrosiers@ssss.gouv.qc.ca>
Co-authored-by: Felix Fontein <felix@fontein.de>
* apk: command args as list rather than string
* add changelog frag
* APK_PATH itself should be a list not a string
* fix mock values in unit tests
* keep package names as list
* add package names as list to cmd line
* Fix version compatibility issue
* Add dependencies installation to specific versions
* Seperate Jenkins and updates_url credentials
* Create changelog fragment
* Added a test and some adjustments
* Return to fetch_url
* Add pull link to changelog and modify install latest deps function
* Use updates_url for plugin version if it exists
* Change version number
* feat(info): Add pacemaker_info module and enhance cli_action util
This commit adds in the pacemaker_info module which is responsible for
retrieving pacemaker facts. Additionally, the cli_action var has been
refactored for the pacemaker.py util, which is passed through the
runner.
* refactor(version): Bump version_added to 11.2.0
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/pacemaker_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* refactor(process): Simplify command output
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added lvm_pv_move_data module
* Removed trailing whitespace
* Decreased loop devices file size
* Remove test VG if exists
* Force remove test VG if exists
* Renamed test VG and LV names
* Updated assert conditions
* Added .ansible to .gitignore
* Force extending VG
* Wiping LVM metadata from PVs before creating VG
* Clean FS, LV, VG and PSs before run
* Migrated to CmdRunner
* Added more detailed info in case of failure and cosmetic changes
* Remove redundant params from CmdRunner call
* Updates the RETURN documentation block to properly specify the return type
of the 'actions' field:
- Changes return status from 'always' to 'success'
- Adds missing 'elements: str' type specification
* changelog fragment
* add new zones
* add new zones to choices for instance resources
* add new zones to doc in inventory plugin
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/10424-scaleway-update-zones.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Extend list of type aliases for json_query.
* Improve tests.
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
---------
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
* Add Python 3.14 unit tests.
* Skip test if github cannot be imported.
It currently cannot be imported because nacl isn't compatible with Python 3.14 yet,
and importing github indirectly tries to import nacl, which fails as it uses a
type from typing that got removed in 3.14.
* Skip test if paramiko cannot be imported.
* sysrc: refactor
* sysrc: refactor changelog fragment
* sysrc: forgot the os import
* sysrc: update test to edit the correct file
* sysrc: Added copyright info to the test conf file
* sysrc: Added full copyright info to the test conf file
* sysrc: Detect permission denied when using sysrc
* sysrc: Fixed the permission check and 2.7 compatibility
* sysrc: Fix typo of import
* sysrc: Fix err.find check
* sysrc: Add bugfixes changelog fragment
* sysrc: Use `StateModuleHelper`
* sysrc: updated imports
* sysrc: remove re import and set errno.EACCES on the OSError
* sysrc: format code properly
* sysrc: fix Python 2.7 compatibility and set changed manually
* sysrc: add missing name format check
Also use `self.module.fail_json` through out
* sysrc: Removed os import by accident
* sysrc: updated per review, and the way the existing value is retrieved
* Bump Alpine 3.21 to 3.22, Fedora 41 to 42, RHEL 9.5 to 9.6, and FreeBSD 14.2 to 14.3.
Add old versions to stable-2.19 if not present yet.
* Add some expected skips.
* Add more restrictions.
* Another try for Android tests.
* Another try.
* Another try.
* feat(initial): Add unit tests and rewrite pacemaker_cluster
This commit introduces unit tests and pacemaker_cluster module rewrite
to use the pacemaker module utils.
* feat(cleanup): Various fixes and add resource state
This commit migrates the pacemaker_cluster's cleanup state to the
pacemaker_resource module. Additionally, the unit tests for
pacemaker_cluster have been corrected to proper mock run command order.
* doc(botmeta): Add author to pacemaker_cluster
* style(whitespace): Cleanup test files
* refactor(cleanup): Remove unused state value
* bug(fix): Parse apply_all as separate option
* refactor(review): Apply code review suggestions
This commit refactors breaking changes in pacemaker_cluster module into
deprecated features. The following will be scheduled for deprecation:
`state: cleanup` and `state: None`.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* refactor(review): Additional review suggestions
* refactor(deprecations): Remove all deprecation changes
* refactor(review): Enhance rename changelog entry and fix empty string logic
* refactor(cleanup): Remove from pacemaker_resource
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* refactor(review): Add changelog and revert required name
* revert(default): Use default state=present
* Update changelogs/fragments/10227-pacemaker-cluster-and-resource-enhancement.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* community.general.easy_install : use of the virtualenv_command parameter
* Apply suggestions from code review
---------
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
* Support multiple type of tokens
* Add missing spaces around operator.
* Add changelog fragments.
* fix logic, missing NOT
* Update changelogs/fragments/10339-github_app_access_token.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Related to #10344
This tweaks the error handling logic to work with more versions of Incus
as well as catching some of the project and instance access errors.
The full context (instance name, project name and remote name) is now
included so that the user can easily diagnose access problems.
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
* Using add_keys_to_agent in ssh_config module
* removed white space
* Apply suggestion
---------
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
* slack: support slack-gov.com
Allow the slack module to work with GovSlack, hosted at https://slack-gov.com/
This re-uses the existing `domain` option so that users can set it to
`slack-gov.com` to use GovSlack. To maintain backwards compatibility,
any setting of `domain` for WebAPI tokens that is not `slack.com` or
`slack-gov.com` is ignored.
* fixup
* cleanup
* fix pep8
* clean up docs and better function name
* document default value
* try to fix yaml, not sure what is wrong
* Update plugins/modules/slack.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/slack.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/slack.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added Jenkins credentials module to manage Jenkins credentials
* Added Jenkins credentials module to manage Jenkins credentials
* Added import error detection, adjusted indentation, and general enhancements.
* Added py3 requirement and set files value to avoid errors
* Added username to BOTMETA. Switched to format() instead of f strings to support py 2.7, improved delete function, and added function to read private key
* Remove redundant message
Co-authored-by: Felix Fontein <felix@fontein.de>
* Replaced requests with ansible.module_utils.urls, merged check domain and credential functions, and made minor adjustments to documentation
* Adjusted for py 2.7 compatibility
* Replaced command with state.
* Added managing credentials within a folder and made adjustments to documentation
* Added unit and integration tests, added token managament, and adjusted documentation.
* Added unit and integration tests, added token management, and adjusted documentation.(fix)
* Fix BOTMETA.yml
* Removed files and generate them at runtime.
* moved id and token checks to required_if
* Documentation changes, different test setup, and switched to Ansible testing tools
* Fixed typos
* Correct indentation.
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* cloudflare_dns: Add PTR record support
* Add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add client_credentials authentication for keycloak tasks incl. test case
* support client credentials in all keycloak modules
* Add changelog fragment
* fix typos in required list
* Update changelogs/fragments/10231-keycloak-add-client-credentials-authentication.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* revert keycloak url in test environment
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* zypper_repository: handle repositories without <url/> element
zypper_repository identifies repos using a combination of "alias"
and "url". Recently, openSUE has begun using "metalink" attributes
instead of "url" elements, causing errors like this:
File "/tmp/ansible_zypper_repository_payload_euim_nod/ansible_zypper_repository_payload.zip/ansible_collections/community/general/plugins/modules/zypper_repository.py", line 475, in <module>
File "/tmp/ansible_zypper_repository_payload_euim_nod/ansible_zypper_repository_payload.zip/ansible_collections/community/general/plugins/modules/zypper_repository.py", line 448, in main
File "/tmp/ansible_zypper_repository_payload_euim_nod/ansible_zypper_repository_payload.zip/ansible_collections/community/general/plugins/modules/zypper_repository.py", line 223, in repo_exists
File "/tmp/ansible_zypper_repository_payload_euim_nod/ansible_zypper_repository_payload.zip/ansible_collections/community/general/plugins/modules/zypper_repository.py", line 177, in _parse_repos
IndexError: list index out of range
Fix this by using the "metalink" attribute instead of the value
of the "url" element if the latter is missing.
* Update changelogs/fragments/10224-zypper_repository-metalink.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat(cargo): add --features flag to cargo module so it activates through install
* docs(cargo): 10198 cargo features parameter changelog
* docs: fix wrong pull request number in yml file
* docs: match default [] to be the same in docs and specs
* docs: bump version_added from 10.8.0 to 11.0.0
* style(example): change from json sequence syntax to yaml list
* Add notes that dnf_* modules do not work with dnf5.
* 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>
* Avoid repeating some code.
* Use new utility added for ansible-core 2.19.0b2.
* Lint.
* Add changelog fragment.
* transform_to_native_types() does not convert map keys.
To catch all tagged strings, we have to recursively walk the data structure then.
* Add test with vaulted string.
* zypper_repository: fix usage of removed method ConfigParser.readfp()
ConfigParser.readfp() has been removed in python 3.12.
See similar fix e.g. in https://github.com/ansible/ansible/pull/81657
This fixes the error message:
AttributeError: 'ConfigParser' object has no attribute 'readfp'. Did you mean: 'read'?
* Update changelogs/fragments/10222-zypper_repository-readfp.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat(maintenance): Add cluster maintenance mode checks for pacemaker
* bug(fix): Correct substring typo and unit test
This commit corrects a substring check for determining if the pacemaker
cluster is in maintenance mode. Additionally, unit test is corrected
with correct output from pacemaker when in maintenance mode.
* feat(maintenance): Add force argument for absent resources
This commit adds in --force argument for resources intended to be absent
within a cluster that is in maintenance mode. Without this argument, the
cluster will not attempt to remove the resource due to maintenance mode.
The resource will be declared as orphaned and exiting maintenance mode
will allow the cluster to remove the resource completely.
* refactor(review): Apply code review changes
This commit adds refactors to enhance code quality.
* doc(changelog): Add fragment for maintenance mode addition
* Add zpool module
* Add botmeta
* Use str.format instead of f-strings
* Remove nonlocal usage
* Add check to only pass ashift to zpool add
* Extend ansible_spec and remove unnecessary validation
* Apply suggestions and fix style
* Fix indentation of yaml lists
* Add method to normalize vdevs
Fix role: none in vdevs
* Use CmdRunner instead of run_command
* Fix styling and documentation
* Use str.format instead of f-strings
* Make sure vdevs are only required when state is present
* Add support for loop devices and normalize vdev type
* Add integration tests
* Add missing test dependencies for alpine and redhat
* Skip integration tests on rhel10 until there there packages available
* Use package module for better auto detection of package manager on rhel
* Add copyright header
* Skip tests on rhel and remove redhat install requirements
* Ensure loop devices under /dev exist
* Enable usage of files as pool devices
* Remove disk setup
* Use files as disks
* Apply suggestions
* Fix argument_spec
* fix: issue #10175
There is some code to handle timeout, but due to an erroneous while
test, it was never called. Use timeout >= 0 instead of timeout, so the
timeout code can be called, and properly handle timeout.
* add changelog
* Adjust changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* github_key: add api_url parameter for GitHub Enterprise support
* github_key: add tests
* Add changelog
* Review fixes: remove test from CI & fix version
---------
Co-authored-by: Aleksei Loginov <aloginov@drwholdings.com>
* Use StrictVersion class to avoid wrong version comparisons that happen in some cases using LooseVersion class
* Refactor code
* Add changelog for PR number 10178
* Update changelog to be more precise
* Use LooseVersion instead of StrictVersion to check cobbler's version in cobbler system module
* Update PR 10178 changelog description to be more accurate
* add special word '_value' to add_children/set_children in xml module
* changelog fragment added
* Update changelogs/fragments/8437-xml-children-value.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* rebase
* add integration test
* fix result file of integration test
---------
Co-authored-by: z1kk0 <anamleev@phoenixit.ru>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Feat: Add callback plugin print_task
Prints task snippet to job output.
* Fix for failing tests
* Fix some pep8 formatting issues
* Updating DOCUMENTATION variable with version_added
* Set correct CALLBACK_NAME and fix warning with gather_facts
* Fix formatting again
* Update plugins/callback/print_task.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/callback/print_task.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add entry to BOTMETA.yml
* Use CSafeLoader and fallback to SafeLoader
* Change output function to self._display.display()
* Adding tests for community.general.print_task
* Adding EXAMPLES
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: cannot access local variable 'identifier' where it is not associated with a value
* Add changelog fragment.
---------
Co-authored-by: Louis Jannett <louisjannett@icloud.com>
* Whitespace fixes.
* Allow to run unit and sanity tests with antsibull-nox.
* Document installation of needed collections for tests.
* Also mention other sanity tests.
* Fix project acls are put/posted to the wrong endpoint
* Add changelog fragment.
* Fix 2.7 sanity errors in github
* Fix fragment extension and use 2.7 syntax in test
* Update changelogs/fragments/10097-fix-rundeck_acl_policy-project-endpoint.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix pep8 formatting
* Add licensing to unit test
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx: accept python version specs in parameter "name"
* pipx_info: adjustment for backward compatibility
* remove unnecessary comprehension
* remove f-str
* no shebang for module utils
* remove f-str
* fix syntax error
* fix pipx_info
* rollback adjustments in existing tests
* docs & test update
* add debugging tasks to int test
* integration test checks for version of packaging
* move assertion to block
* fix idempotency when using version specifier
* add changelog frag
* fix docs
* dial down the version of tox used in tests
To accommodate old Pythons
* Update plugins/modules/pipx.py
* Apply suggestions from code review
* refactor/rename package requirements code
* fix filename in BOTMETA
* Update plugins/modules/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx mod utils: create make_process_dict and deprecate make_process_list
* pkg_req: make method private
* make_process_dict is simpler and more specialized
* ensure version specifiers are honored when state=install
* fix insanity
* pipx: reformat yaml blocks
* pipx: doc wordsmithing
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
The current example includes extra jinja delimiters which
result in double-interpretation of the statement.
Fixes: #10078
Signed-off-by: Abhijeet Kasurde <Akasurde@redhat.com>
Add facts_level option to cobbler inventory plugin, cleanpu
Initialize connection in parse()
Handle rendered system data in _get_systems() so it can be cached
Signed-off-by: Orion Poplawski <orion@nwra.com>
Co-authored-by: Tyler Phillippe <tylerphillippe@tutamail.com>
* Add version of xdg_mime module
* Fix xdg_mime_get since the command is different
* Add query parameter
* Fix order of parameters
* Add myself to BOTMETA
* Add unit tests
* Fix the way we deal when there is no handler set
* Improve documentation
* Remove unused import
* Fix documentation
* Strip xdg-mime from version string
* Fix information about version
* Add error message sample
* Add test to invalid handler
* Add support to multiple mime-types
* Change the output parameter from handlers to handler
* Change tests related to multiple mime-type support
* Small fixes
* Stop using constant to enable changed state
* Add before_handlers and after_handlers
* Change tests to use before and after structures
* Add a stronger message about using a non-installed handler
* Manage some edge cases
* Change error message to match the new value
* Add some fixes
* Change some tests
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Remove a blank line
* Remove single quote
* Add xdg-mime to the version in the mocks
* Remove after_handlers and make code simpler
* Update tests to work without after_handlers
* Remove diff_params and clean output_params
* Make mime_type plural since it supports multiple items
* Move the handler check to module init
* Use anchors in the test to make yaml simpler
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Add blank line to separe examples
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Add a small homage to my late grandma
* Update plugins/modules/xdg_mime.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix pep8 problem with the homage
* Remove trailing whitespace
* Update plugins/modules/xdg_mime.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
* 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.
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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.
* 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
* 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>
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>
* 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>
* 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>
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)."}
```
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>
* 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>
* proxmox: fix status getter
get_lxc_status was missing a selection of the 'status' key
* proxmox: add changelog fragment
* proxmox: fix changelog fragment
* 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>
* 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>
* 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>
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+.
* 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>
* 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>
* Allow vm hibernation
* add changelog fragment
* pylint and pep8 tests failed
* forgot period
* added introducing version number to module description
* 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>
* 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)
* 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>
* 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>
* 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
* 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>
* 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>
* 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
* 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)
* 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
* 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>
* 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>
* 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>
* 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>
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.
* 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>
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>
* 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
* 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>
* 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.
* 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>
* 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
* 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>
* 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>
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>
* 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>
* 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
* 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>
* 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>
* [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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* proxmox inventory: fix urllib3 InsecureRequestWarnings not suppressing when a token is used
* proxmox inventory: add changelog fragment
* proxmox inventory: add forgotten pr number
* Update changelog.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* mattermost: add support for message priority
* Add changelog fragment
* Consistency nit in changelog
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Validate priority arg and doc fixes
Validate the two possible priorities with choices.
Add priority arg to one example and add version_added
field for the arg docs.
* Update changelog.
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* jenkins_node: Add set offline message
* Implement offline_message parameter for updating a Jenkins node
offline cause reason when the state is "disabled" (offline).
* Fix enabled, disable and absent node state redirect authorization
issues, same as was present for present.
* Add unit tests for redirect authorization workarounds.
* * Make docs clearer re: offline_message behaviour
* Exit with fail_json() instead of raising when
create/delete/enable/disable node fail.
* * Add changelog fragment
* Update changelog fragments.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix check_mode on set keycloak client scope type (#9092)
* add changelog fragment (#9092)
* update changelog fragment (#9092)
* compact code: make one line conditions with list comprehension and any()
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* fix syntax error: remove extra ')'
* fix changelog fragment type
Co-authored-by: Felix Fontein <felix@fontein.de>
* add issue's link in changelog fragment
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>
* pipx_info: factored process_list out
* pipx_info: no need to pass param to _list
* pipx_info: minor adjustment
* pipx mod utils: make_process_list parameters
* fix test for state=install_all
* fix assertions
* pipx tests: fix detection of pipx 1.7.0
* pipx: use make_process_output
* add testcase
* pipx: remove import json
* pinned in pipx list is not always there
* Update plugins/modules/pipx_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* remove ensurepath and --user from pipx install
* add changelog frag
* Update changelogs/fragments/9044-pipx-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/9044-pipx-fixes.yml
* Update changelogs/fragments/9044-pipx-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/9044-pipx-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add return value version
* add changelog frag
* fix indentation
* fix RV name and tests
* Update plugins/modules/cpanm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: add support for ciupgrade parameter
* add changelog fragment
* proxmox_kvm: version_added specifier for ciupgrade parameter
* proxmox_kvm: remove default value from docs for ciupgrade parameter
* Update apk.py
Fix for issue #9017
* Update plugins/modules/apk.py
Added a line break to fix the issue of the line being too long.
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* github_app_access_token: add support for private key fact
Adds support for specifying the GitHub App private key via an ansible
fact instead of a path to a file.
This is useful when you want to generate registration tokens for a
remote host but don't want to put secrets on the host.
* Add license file
* Fix pep8 formatting
* Add changelog fragment
* Run sanity tests on changelog
* Apply suggestions from code review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add input validation check
* Add import
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add error for mutually exclusive options
* Update plugins/lookup/github_app_access_token.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>
* keycloak_group: fix subgroup creation in Keycloak ≥23
* Add changelog fragment
* Include issue and pull request in changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Use new way to get subgroups when getting a subgroup chain
* Fix indent
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* New module: Jenkins node management
* Fix sanity errors
* (Try to) fix mock import for Python 2.7
* Remove encoding from XML tostring in hopes of appeasing py27
Default encoding is probably always good enough.
* Turns out that encoding parameter was important for python3...
It's not super obvious how to resolve in a 2 + 3 compatible way,
so branch and omit encoding for 2.
* Implement review fixes and suggestions
* 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
* consul_kv: add argument for the datacenter option on consul api
* changelog: add fragment for #9026
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* update gitlab label's color
fail if both new_name and color are missing, as per Gitlab API docs.
* add changelog
* Update changelog with suggestion
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* remove unneeded check
* Update changelog
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Adding the list-option for reading the registered repodata
* adding a parameter list
* if the parameter is set, return the output (as a dictionary)
* adjusting the documentation for the new parameter
* Adding changelot-fragment
and link to the issue in the issue-tracker https://github.com/ansible-collections/community.general/issues/8777
* Adding description and example for the new list parameter
* Adding type for new parameter list to argument_spec
* Revert "Adding type for new parameter list to argument_spec"
This reverts commit 6b86e8ba447a9b53e434c79d33c7fe260485b342.
* Revert "Adding description and example for the new list parameter"
This reverts commit db06dafb958f6aeffa38adeee85623904b26bbb1.
* Adding a new module for reading the list of regiestered repositories
I created a new module for reading the repositories based on a sub-procedure from the existing zypper_repository
* Removing the changes to module zypper_repository
because the list-option is not supposed to go into this module
* removing the last change from the zypper_repository module
* Fixing linter errors
Adding extra lines before definitions
adding the missing dash in the documentation
removing the unused imports
* Adding maintainer under BOTMETA, adding test and fixing suggestions
I added the maintainer to BOTMETA
I applied the suggestions on the code form the review
I added a test for the new module to the existing zypper_repository-tests
* Adding maintainer under BOTMETA, adding test and fixing suggestions
I added the maintainer to BOTMETA
I applied the suggestions on the code form the review
I added a test for the new module to the existing zypper_repository-tests
* Deleting the fragment because this will be created automatically
I deleted the fragment because this will be created automatically based on the short_description and version_added
* removing foreign commits from history that accidentily sneaked in with the last rebase
* Update plugins/modules/zypper_repository_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update .github/BOTMETA.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/zypper_repository_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/zypper_repository_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/zypper_repository_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/zypper_repository_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* removing irrelevant return fields from the sample
* Quoting the line with the colon
* fixing syntax errors in sam
* removing duplicate Note section
* Removing newline on sample-code
* Update version_added to 9.5.0
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update description (notespelling)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update .github/BOTMETA.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update descriptino (notespelling URL)
Co-authored-by: Felix Fontein <felix@fontein.de>
* use module_utils.deps to include the parseString/parseXML module
* clean up module and botmeta
cleanup:
* remove duplicate entry from botmeta
* move imports below DOCUMENTATION
* remove unused imports
* add required key 'returned'
* moving import and fixing syntax
In this documentation example the return type is dict instead of dictionary: https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_documenting.html#return-block
Also the from __future__ import should be at the beginning of the file, according to lint
* Enabling check-mode
because the module doesn't change anything anyways
* indicate empty dictionary
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update version_added
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>
Dell systems do not change the bios setting PwrButton right away. The
command will return changed=true, but it is not applied. Also no job is
scheduled at next reboot for the change to take place. This patch aims
to fix this issue.
* Bump version to 10.0.0, remove deprecated modules and plugins.
* Remove redhat module utils.
* Drop support for ansible-core 2.13 and ansible-core 2.14.
* Add a new boolean parameter storage_none_volume_deletion to the volume creation command of redfish_config
* Add description for storage_none_volume_deletion redfish_config parameter
* Update plugins/module_utils/redfish_utils.py
Co-authored-by: Mike Raineri <mraineri@gmail.com>
* Update plugins/modules/redfish_config.py
Co-authored-by: Mike Raineri <mraineri@gmail.com>
* Add CHANGELOG fragment
* Add punctuation.
---------
Co-authored-by: Pierre-yves FONTANIERE <pyf@cc.in2p3.fr>
Co-authored-by: Mike Raineri <mraineri@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
dnspython accepts a port as part of the nameserver.
Currently, the nameservers are passed as strings which
leads dnspython to create Nameserver objects out of them
using the port that is currently set in the Resolver instance.
That creation of Nameserver objects is done right when the
`nameservers` property is set.
If a port is to be set by us, the `port` attribute of the
Resolver needs to be set before the nameservers are passed
to the Resolver so when the nameservers are passed, that new
port is used to create the Nameserver objects.
Therefore, the assignment of the `nameservers` property of the
Resolver is moved after the argument processing so the `port`
attribute is (if it's given in the lookup-call) definitely set
before the `nameservers` property.
* 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>
* 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
* add module argument that allows excluding `bindCredential` from update check
* add changelog fragment
* change option name to `bind_credential_update_mode` and change type to str
* dig plugin: Fix using only last nameserver given
Currently, when specifying multiple nameservers
either using multiple `@ns.example.com` arguments
or by specifying multiple nameservers in a single
argument (@ns1.example.com,ns2.example.com), due
to a bug only the very last nameserver that is
specified is actually used.
This is because for every iteration of the
for ns in nsset
loop, the local list of nameservers is cleared
and after adding the currently processed nameserver
entry, the whole `nameservers` list of the Resolver
instance is overridden with that new list with just
one element. And as far as I can see, when setting
that `nameserver` property, the dnspython library
actually overrides the existing list and doesn't
do some trickery to append the new nameservers or
something like that.
Therefore, the assignment of the `nameservers`
property of the Resolver is moved after the argument
processing so all nameservers are added and then
collectively written to the `nameservers` property
of the Resolver.
* Add CHANGELOG fragment
* remove `lastSync` param from kc API responses
* add blank line to satisfy sanity check
* add changelog fragment
* fix NoneType error introduced by changed normalize func return value
* flatpak: improve flatpak name parsing in `_parse_flatpak_name`
* changelog: add changelog fragment
* flatpak: fix condition in `_is_flatpak_id` function
* chore: update changelog fragment
* docs(flatpak): add guidelines for application IDs in comments
* 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>
* Remove pool option from redhat_subscription.
* Remove proxmox_default_behavior option from proxmox_kvm.
* Remove the logging option from ejabberd_user.
* Remove the ack_params_state_absent option from consul.
* irc: change defaults of use_tls and validate_certs to true.
* rhsm_repository: remove states present and absent.
* Re-add 'using'.
* Fix typo.
* Disks controller is now uniquely identified by the controller ID
* Fix typo `StorageID` to `StorageId`
* Add changelog fragments
---------
Co-authored-by: Pierre-yves FONTANIERE <pyf@cc.in2p3.fr>
* set `krbPrincipalAttribute` to `''` if unset in kc before and after responses
* add changelog fragment
* Update changelogs/fragments/8785-keycloak_user_federation-set-krbPrincipalAttribute-to-empty-string-if-missing.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Redfish: Added steps to allow a user to change their password when their account requires a password change
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Bug fix
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Bug fix
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Bug fixes with return data handling
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Added changelog fragment
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Update changelogs/fragments/8652-Redfish-Password-Change-Required.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update gitlab_runner.py
Be specific related requirements for package version. This difference change the whole dependency chain for playbook.
* Update plugins/modules/gitlab_runner.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: get the before mappers from `before_comp`
* add changelog fragment
* Adjust changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* sort desired mappers by name
* sort mappers fetched after update by name
* only sort mapper list if there are desired mappers specified
* add fallback `''` in case `name` is not a key or `None` when sorting mappers
* add changelog fragment
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.
* Limit package for Copr using includepkgs
* Limit package for Copr using includepkgs
* Limit package for Copr using includepkgs
* Limit package for Copr using includepkgs
* Limit package for Copr using includepkgs
* Added changes in copr module
* Excludepkgs parameter add
* Update module and params to handle a list + Docs updated
* Update module and params to handle a list + Docs updated
* pipx/pipx_info: add new parameters
* add test for --global, refactor int test main file
* ensure initial state of test
* ensure PATH includes /usr/local/bin
* ensure PATH includes /usr/local/bin for entire block
* ensure minimum version of pip
* ensure pipx 1.6.0 is installed
* push recommendation for pipx 1.7.0 instead of 1.6.0
* add changelog frag
* add deprecatons to changelog frag
* add deprecatons to changelog frag, better
* Update changelogs/fragments/8793-pipx-global.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/8793-pipx-global.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix gitlab_project container_expiration_policy for project create
* Check for container_expiration_policy presence before renaming it
* Add missing links to changelog fragment
* Fix changelog grammar
* add module arg to make mapper removal optout
* change parameter name to snake case: remove_unspecified_mappers
* add period to parameter description
Co-authored-by: Felix Fontein <felix@fontein.de>
* use dict indexing to get parameter instead of `.get()`
* add changelog fragment
* Update changelogs/fragments/8764-keycloak_user_federation-make-mapper-removal-optout.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add `version_added` to argument description
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user_federation.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
* README: Add Communication section with Forum information
* Changelog fragment isn't needed for README change.
* Distinguish between Get Help and the community-general tag.
* Update links.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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
* rely on package idempotency to install virtualenv
* improve os package name logic in integration tests
* add os families debian, redhat
* add os families archlinux
* fix pkg name in archlinux
* improvement from PR
* typo
* Update tests/integration/targets/setup_os_pkg_name/tasks/debian.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/setup_os_pkg_name/tasks/redhat.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Clarify contribution guide on integration tests
* Improve test guide in CONTRIBUTING.md
* Uppercase Docker
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improve test_name documentation
* Use working example in ansible-test integration docs
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix test_name in ansible-test integration being documented as required
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update proxmox.py
Added an example to create a new container with more network options (with ipv6 static configuration)
* Update proxmox.py
Made the linter happy.
* cleaned up dictionaries
Changed dictionaries from this format:
netif: '{"net0":"name=eth0,g...
to this:
netif:
net0: "name=eth0,g...
* Update proxmox.py
false intendation and trailing whitespaces
* Homebrew: Add support for services functions
Fixes#8286.
Add a homebrew.services module for starting and stopping services
that are attached to homebrew packages.
* Address python version compatibility
* Addressing reviewer comments
* Addressing sanity logs
* Address str format issues
* Fixing Python 2.7 syntax issues
* Test alias, BOTMETA, grammar
* Attempt to fix brew in tests
* Address comments by russoz
* Fixing more dumb typos
* Actually uninstall black
* Update version_added in plugins/modules/homebrew_services.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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
* 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>
* add tls params to redis
* add PR number
* add example
* move doc to redis fragment
* Update changelogs/fragments/8654-add-redis-tls-params.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* rm aliases and add version_added
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix pipx tests
* enable pipx int tests
* replace ansible-lint with pylint in pipx test
* install jupyter in freebsd
* replace jupyter with mkdocs in pipx test
* adjust installed dependency for mkdocs
* fix pipx_info tests as well
* 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>
* 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>
* 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>
* 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>
* Update rpm_ostree_pkg.py
expand examples list with 'until' example
* Apply suggestions from code review.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
The short description makes it sound like the plugin would only support
matching a given suffix, while the actual description clarifies the
actual matching capabilities (suffix, prefix or regular expression).
Update the short description accordingly.
* 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>
* keycloak_clientscope: ignore ids on diff check
* keycloak_clientscope: add changelog fragment
* keycloak_clientscope: Include changelog fragment change suggestion
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
* Uncomment TODO entries.
* Exclude some tests that fail or are known to fail.
* Also run extra VM tests on Ubuntu 24.04.
* Fix condition.
* More adjustments.
* 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.
* proxmox_kvm: document that force requires archive
As per `qm(1)`, the force option requires `archive`. Add this
information in the `proxmox_kvm` module so one will know they have to
define `archive` when using `force`.
* fix: parameter is an option O(archive)
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
* Implement agent service and check (#7987)
* implement update of service and check
* update tests
update documentation
* update documentation
* add consul_agent_check/service to action_groups
check if unique_identifier of name is in params to get object
add suggested improvements
* update sanity
* fix sanity issues
update documentation
* fix naming
* fix naming
check if response_data has data
* fix sanity extra-docs
* add as ignore maintainer in BOTMETA.yml
update version_added to 8.4
* fix sanity
* add to maintainers
* Update plugins/modules/consul_agent_check.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/consul_agent_check.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/consul_agent_check.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* update version_added
* if create and update return no object as result we read the object again
* get_first_appearing_identifier check the params for the given identifier and return it to simplify id vs name
* add unique_identifiers as a new property and a method to decide which identifier should be used
* fix sanity
* add self to team consul
remove params with no values
add operational_attributes that inherited classes can set them
get identifier value from object
* fix sanity
fix test
* remove the possibility to add checks with consul_agent_check.
check if service has changed
* remove tests for idempotency check because for checks it is not possible
* remove unique_identifier from consul.py
change unique_identifier to unique_identifiers
* get id from params
* Revert "remove unique_identifier from consul.py"
This reverts commit a4f0d0220dd23e95871914b152c25ff352097a2c.
* update version to 8.5
* Revert "Revert "remove unique_identifier from consul.py""
This reverts commit d2c35cf04c8aaf5f0175d772f862a796e22e35d4.
* update description
update test
* fix sanity tests
* fix sanity tests
* update documentation for agent_check
* fix line length
* add documentation
* fix sanity
* simplified check for Tcp
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* check duration with regex
* fix
* update documentation
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Add filter replace_keys.
* Update examples and integration tests.
* Fix examples and copyright.
* Update documentation, examples and integration tests.
* Implement #8445. Add filter replace_keys
* Fix documentation formatting.
* Fix documentation.
* Fix type(target). Formatting improved.
* Instead of a dictionary, _keys_filter_target_dict returns a list
* No target testing in _keys_filter_params
* Interface changed _keys_filter_params(data, matching_parameter)
* If there are items with equal C(before) the B(first) one will be used.
* Update remove_keys. Interface changed _keys_filter_params(data, matching_parameter)
* The target can't be empty also in _keys_filter_target_dict
* Update plugins/filter/replace_keys.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/filter/replace_keys.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/filter/replace_keys.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Test attributes before and after are strings in the iteration of target.
* Update plugins/filter/replace_keys.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat(redis_info): add option to fetch cluster info
* add changelog fragment
* update description
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>
* 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
* Add support for SSHFP records to ipa_dnsrecord module
* Create 8404-ipa_dnsrecord_sshfp.yml
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix a typo in the example for ipa_dnsrecord with type SSHFP
* Update plugins/modules/ipa_dnsrecord.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add docs for the vardict module utils
* fix var name
* add entry to BOTMETA
* rollback adjustment in deps guide
* Update docs/docsite/rst/guide_vardict.rst
Co-authored-by: Felix Fontein <felix@fontein.de>
* adjustments
* Update docs/docsite/rst/guide_vardict.rst
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(opentelemetry): remove request from the logs
* add changelog
* filter by task
* add new bugfix
* rename
* support legacy and shortcat ansible tasks
* Update plugins/callback/opentelemetry.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Redfish: Add options to check the availability of the service
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Updates based on review feedback
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Updated comment to reflect changed behavior
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Added changelog fragments
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Update changelogs/fragments/8051-Redfish-Wait-For-Service.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add partial diff support, not in check mode
* Add changelog fragment
* Fix PEP8. Want to run Black against this so badly.
* Update changelogs/fragments/8402-add-diif-mode-openbsd-pkg.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/openbsd_pkg.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/openbsd_pkg.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove unneeded comment
---------
Co-authored-by: Allen Smith <allsmith@allsmith.users.ipa.redhat.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(keycloak_client): avoid TypeError if attributes is a list
As sanitize_cr might be executed after normalise_cr, result['attributes'] can be of type list and we
run into:
TypeError: list indices must be integers or slices, not str
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Instead of checking if there is an error message, which can also be a
warning, we now check the return code.
This commit fixes#8229#7044
Co-authored-by: Strahinja Kustudic <strahinjak@nordeus.com>
* use new vardict in module
* add changelog frag
* Update changelogs/fragments/8411-locale-gen-vardict.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* set use_old_vardict to false in snap
* set use_old_vardict to false in cpanm
* set use_old_vardict to false in django mod helper
* set use_old_vardict to false in gconftool2_info
* set use_old_vardict to false in kernel_blacklist
* set use_old_vardict to false in mksysb
* set use_old_vardict to false in pipx_info
* set use_old_vardict to false in snap_alias
* update chglog frag
* fix typo
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* docs: add seealso and notes for yaml callback plugin
* docs: correct links to parameters
Co-authored-by: Felix Fontein <felix@fontein.de>
* docs: shorten the long lines
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* added usb support to proxmox module
* forgot docs
* fixed net refrances
* changed usb to USB
* added changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* added changelog fragment
* corrected spelling and punctuation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Another one.
---------
Co-authored-by: ripplefcl <ripple@ripplefcl.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add toggle for verbose logging
Updated params with 'verbose' mode (defaults to False, which is existing behavior) to allow users to toggle verbose to True, which disables the '-q' flag that was hardcoded in the original module
* Create 8379-verbose-mode-pkg5.yml
* update pkg5.py to conform to PEP8 length requirements
The new verbosity argument on line 172 broke the 160 character length PEP8 requirement - split the line in two to conform to PEP8
* Add PR link to changelog fragement yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add version_added and make the description of the verbose param clearer
* Update pkg5.py verbose description to conform to ansible documentation for semantic markup
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* lint and fix polkit examples
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* add changelog fragment
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* remove changelog fragment
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
---------
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* opentelemetry: support flag to create output file
this is only to help with adding unit tests
* refactor and rename
* changelog
* rename
* fix linting
* feat: add community.general.timestamp callback plugin
* feat: add minimal integration tests for timestamp callback plugin
* feat: add maintainers for timestamp callback plugin
* fix: correct license
* fix: remove type annotation for the older python environment
* fix: remove unnecessary comment
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: add trailing period
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: split long description into list
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: remove default and add type
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix; add type
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: split long description into list
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: improve description for format_string to describe usable format codes
* fix: clarify the original codes and add copyright from that
* fix: shorten long lines
* fix: correct link format
* fix: add seealso section
* fix: add ignore entries for EOL CI
* fix: update seealso to correctly associate with related plugin
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* [opentelemetry][callback] Add support for http exporter
The previous version of the callback was supporting only the grpc
exporter. This was counter intuitive as the documentation was
mentioning `<your endpoint (OTLP/HTTP)>`. Users were left with a error
similar to
`Transient error StatusCode.UNAVAILABLE encountered while exporting traces to <endpoint>, retrying in 1s.`
The following commit fix this situation by support both HTTP and GRPC
via the standard environment variables and ansible.cfg
See as well https://github.com/ansible-collections/community.general/issues/7888
Signed-off-by: Wilfried Roset <wilfriedroset@users.noreply.github.com>
* [opentelemetry][callback] Take into account review
Signed-off-by: Wilfried Roset <wilfriedroset@users.noreply.github.com>
---------
Signed-off-by: Wilfried Roset <wilfriedroset@users.noreply.github.com>
* Fix sanitize for keycloak_identitiy_provider.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added parameter to select Content-Type when accessing the Rundeck API
* Removed autogenerated file
* Fixed missing yml extension
* Updated changelog text better describe what has happened
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Nils Brinkmann <nils.brinkmann@rheinmetall.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
* homebrew: Add force_formula parameter to pass --formula to brew command
Some formulas have names that are also cask formulas (e.g. docker).
When trying to install such a formula, brew prints a warning and returns
a non-zero exit code. This causes Ansible to halt and report the failure.
By allowing the task to set force_formula, we can sidestep this problem.
* Add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/homebrew.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* use smaller snap, add disabled to aliases
* rollback tag disabled in aliases
* comment out the test_dangerous as it takes too long
* comment out the test_dangerous as it takes too long
* Update tests/integration/targets/snap/tasks/main.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* change MH to use the module_utils.vardict.VarDict
* remove VarsMixin from superclasses of MH
* bump vardict deprecation to 11.0.0 + add old/new vardict selection in MH
* improve backawards compatibility
* improve backawards compatibility
* use new vardict in some modules, make adjustments
* add changelog frag
* adjustment after rebase
* Add accept-new as valid option for host key checking
* Add changelog fragment for #8257
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Fixes#6563 by extending the allowed values of the `state` parameter to
include `latest`. To do this, the `update_flat()` function is introduced
which borrows the majority of its implementation from both the existing
`install_flat()` and `remove_flat()` functions. The documentation and
examples have been expanded describing what to expect when using
`state=latest`.
* bitwarden_secrets_manager: implement rate limit retry with backoff (#8230)
* bitwarden_secrets_manager: add changelog fragment for 90cd2d61 (#8238)
* bitwarden_secrets_manager: clarify "Too many requests" is an error condition (#8238)
* bitwarden_secrets_manager: avoid an extra _run_with_retry execution after the last (very long) delay
* bitwarden_secrets_manager: changelog fragment key and reference issue url
* Add an explicit `select` option to `portage` module
This is a fix for #6226
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Default `select` option to None, making it more retrocompatible
* Add changelog fragment for the PR
* Update changelogs/fragments/8236-portage-select-feature.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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>
puppet_utils: Add option to set LANG for puppet execution
Add option `environment_lang` to force the LANG when executing the
puppet agent. The default is the `C` LANG
* Add support for docker-v2 protocol in Keycloak modules
* use dash instead of underscore for the docker-v2
* Update documentation
* Add changelog fragment
* fix missing whitespace around operator
* Update changelogs/fragments/8215-add-docker-v2-protocol.yml
Update changelog fragment to reviewers suggestion, add refrence to issue and pull request
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add documentation about adding docker-v2 value in community general 8.6.0
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* passwordstore: Add missing_subkey parameter
Add ability to trigger error or warning when a subkey is missing in pass file.
By default the behavior is unchanged (if subkey is missing, None is returned).
This option can also be set in ansible.cfg
* passwordstore - missing_subkey: Update changelog/fragments file with PR number
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Support newer 'riak admin' sub-command
* Added changelog for riak admin sub-command
* Added blank line
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* replaced string commands with lists
added white space
removed white space
removed parenthesis
* Update changelogs/fragments/8211-riak-admin-sub-command-support.yml
Co-authored-by: Don Naro <dnaro@redhat.com>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Don Naro <dnaro@redhat.com>
* Redfish: add Multipart bool return value to FirmwareUpdateCapabilities
Fixes#8194
Signed-off-by: Boris Glimcher <Boris.Glimcher@emc.com>
* Update changelogs/fragments/8194-redfish-add-multipart-to-capabilities.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Boris Glimcher <Boris.Glimcher@emc.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: Ensuring interpolation is disabled for ConfigParser
This PR disables interpolation of ConfigParser and adds test coverage for that.
* Adding changelog fragment
* Fixing missing extension of changelog fragment
* Adding issue link to changelog fragment
* Update changelogs/fragments/8183-from_ini_to_ini.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(aix_filesystem): remove extra param from running lsvg
* chore: add new line to changlog file
* Update 8151-fix-lsvg_cmd-failed.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update nmcli.py to support OVS commands
Adding Openvswitch command support and documentation to the nmcli module
* Fixed versioning and documentation, added changelog fragment
* Update changelogs/fragments/8154-add-ovs-commands-to-nmcli-module.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check_type option, to allow defaults type changes
* Add changelog fragment
* Changelog fragments are yaml, not markdown
* Update changelogs/fragments/8173-osx_defaults-check_type.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/osx_defaults.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix issue 8092
* "is not" => "!="
* moved the drain & down cause to the wait
* added changelogs for PR 8100
* fixed yaml
* fixed file type
* Apply suggestions from code review
Removed a dot from a comment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/haproxy.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added startup configuration option
Added the option to configure startup behavior of lxc containers. Works well in conjunction with onboot and allows to set startup order, startup delay and shutdown delay
* Removed trailing whitespaces in documentation
* added changelog fragment
* Updated Documentation to suggested wording
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improve documentation.
* Fix changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* ipa_sudorule, ipa_hbacrule: change ipaenabledflag type to bool
freeipa changed the type to bool with commit https://pagure.io/freeipa/c/6c5f2bcb301187f9844985ffe309c7d2262e16f3
* add changelog-fragment
* ipa_sudorule, ipa_hbacrule: set ipaenabledflag according to version
* ipa_sudorule, ipa_hbacrule: change version for backport
it also got backported (https://pagure.io/freeipa/c/faeb656c77adf27a49ccaceb57fc1ba44e11cc1d)
* ipa_sudorule, ipa_hbacrule: swap assigned values
* Update changelogs/fragments/7880-ipa-fix-sudo-and-hbcalrule-idempotence.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: aBUDmdBQ <>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Implement integration test to reproduce #7463
* Make new iptables_state checks async
* Add missing commit to iptable_state integration test
* Remove async when using checkmode in iptables_state integration tests
* Do per table comparison in check mode for iptables_state
* Calculate changes of iptables state per table based on result
* Output target iptables state in checkmode
* Refactor calculation of invidual table states in iptables_state
* Add missing return for table calculation
* Add missing arg to regex check
* Remove leftover debug output for target iptable state
* Parse per table state from raw state string
* Join restored state for extration of table specific rules
* Switch arguments for joining restored iptable state
* Output final ip table state
* Compare content of tables
* Complete iptables partial tables test cases
* Correct order of test iptables data
* Update docu for iptables tables_after
* Add changelog fragment
* Appease the linting gods for iptables_state
* Adjust spelling and remove tables_after from return values
* ini_file - support optional spaces between section names and their surrounding brackets
Some ini files have spaces between some of their section names and the
brackets that enclose them. This is documented in the 'openssl.cnf(5)' man
page. In order to manage files such as /etc/ssl/openssl.cnf with ini_file
before now, one would have to include spaces in the section name like this:
section: ' crypto_policy '
option: Options
value: UnsafeLegacyRenegotiation
This change implements matching section headers with such optional spaces.
Existing tasks using the workaround above will continue to work, even in
cases where spaces in section headers are subsequently removed.
* readability improvement in the test content expressions
---------
Co-authored-by: Todd Lewis <todd_lewis@unc.edu>
* Ignore pylint warnings for construct that does not work with Python 2.
* Revert "Ignore pylint warnings for construct that does not work with Python 2."
This reverts commit 51d559cc94.
* Different approach: use ignore.txt since otherwise ansible-core 2.14 tests fail.
* 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>
* crfs issue in aix_filesystem.py
Change the crfs logic and fields, since empty options and order seem to be an issue.
this quick fix seems to solve it
* Create aix_filesystem-crfs-issue.yml
changelog fragment
* fix
fix typo
* Update changelogs/fragments/aix_filesystem-crfs-issue.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Refactored based on feeback and testing
Refactored the changes i did based on the comments and testing. Also changed the attribute default values because they were causing errors
* blank line whitespaces
* fix default
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add --diff support for ldap_attrs module
* Change diff_mode support in docstring to full
* Use _attrs suffix for old and new
* Add version added to ldap_attrs diff mode
* Add fragment for ldap_attrs diff mode
* Update fragment to include link to PR and lowercase start
* Update changelogs/fragments/8073-ldap-attrs-diff.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(homebrew): give correct error message when become true used
This commit fixes#8047 by raising the exception coming from calling
homebrew with the `become: true` parameter set.
* chore(changelog): add changelog fragment
* feat: ✨ adds support for /1.0/instances endpoint
* Update changelogs/fragments/lxd-instances-api-endpoint-added.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: fetch vm status from node-specific API endpoint to ensure fresh state, fixes#7817
* changelog fragments
* Fix changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(modules/gitlab_runner): Use correct argument to list all runners
python-gitlab 4.0.0 removed support for the `as_list=False` parameter.
This functionality is now available as `iterator=True`.
Without this change, the module actually only retrieves the first
20 results, which can lead to non-idempotent behavior, such as
registering a runner again.
* Add changelog entry (#7790)
* gitlab_runner: Check python-gitlab version when listing runners
* gitlab: Add list_all_kwargs variable to module_utils
* refactor(gitlab modules): use list_all_kwargs where it helps (#7790)
I did not change every instance of all=True or all=False, only those
which could obviously benefit from simplifying:
* Code using `all=True` but then searching for any items that match a
condition (no need to collect the full list).
* Code that basically reimplements `all=True` with manual pagination.
(These could be changed to `all=True`, but `list_all_kwargs` also
sets per_page to 100, to gather data faster.)
* gitlab_instance_variable: Use list_all_kwargs
* Add new changelog entry for gitlab module changes (#7790)
* Add templating support to Icinga2 Inventory
* Added CHANGELOG fragment
* Linting after CI failure
* Update changelogs/fragments/7996-Add templating support to Icinga2 Inventory.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Error in variables'name
---------
Co-authored-by: Gianluca Salvo <gianluca.salvo@gruppomol.it>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Correct apk docu to not include spaces in package name
* Update apk name docu as suggested in PR
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix errors in hpe specific get methods
* corrects reference to non existent `self.chassis_uri_list` to
`self.chassis_uris`
* corrects syntactically incorrect dereferences
* removes an uneccessary variable assignment to `chassis_uri_list`
in `get_psu_inventory` method
* adds changelog fragment for above indicating fix of issue #7951
* Update changelog.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
New filters lists_union, lists_intersect, lists_difference and lists_symmetric_difference added.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <c.fiehe@eurodata.de>
* cargo: use the correct path when checking installation status
* Add changelog fragment
* Update changelogs/fragments/7970-fix-cargo-path-idempotency.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added transactional(rollback/commit) support to mssql_script module via optional boolean param 'transaction'
* Added changelog fragment
* Implemented PR Review comments by felixfontein
* Add noexec support to sudoers
* Add changelog fragment #7983
* Fix yml formatting in fragment 7983
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added handling for 204 No Content in some circumstances
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Correcting gzip usage; open_url does the decompression automatically
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Changelog fragment
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Removed imports no longer used
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Updated data unpacking to dynamically check ansible-core version and response headers to see if gzip decompression is needed
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
---------
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Adding releases events option to gitlab_hook module
* Fixing typo in documentation for gitlab_hook module
* No default value for releases_events
* Adding changelog fragment
Assume that if a string of digits occurs between curly braces anywhere
in the first component of the DN, that this is an order number. The
sequence does not necessarily have to occur after an equals sign.
* working mod
* added changelog fragment
* added link on fragment
* Update changelogs/fragments/7389-nmcli-issue-with-creating-a-wifi-bridge-slave.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* last fix
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: detect already installed cask
Use json output v2 to check if formulae and casks are installed
chore: add changelog fragment
* test: add homebrew cask specific tests
* refactor: change cask used in tests
* chore: apply suggestions to changelog fragment
* gitlab project label first commit
* fixes from CI run
* fixing some sanity test
* sanity checks, removing typing
* remove default for required field
* fix indentation
* improving test set
* fixes to pass test set
* reuse compliancy
* fix sanity checks
* fix: method returns group, not project
* refactor: start adding group, test still pass
* updated module and tests to handle group labels
* update name to remove 'project'
* removing default
* typo
* generic name for returned dict
* returns also label object from library invocation
* remove unused var, updated doc
* fix output object name
* version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove python 2.7
Co-authored-by: Felix Fontein <felix@fontein.de>
* Missing dot
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove useless doc
Co-authored-by: Felix Fontein <felix@fontein.de>
* Color is a string
* Fixes from recent PR comments.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* new module gitlab_milestone
* change BOTMETA
* remove blank line
* version_added field
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/gitlab_milestone.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update description with reference
Co-authored-by: Felix Fontein <felix@fontein.de>
* Dates as string type
* Removed python 2.7 requirement
* Fixes from recent PR comments.
* milestones_obj returned on success
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* plugins/connection/lxd: rename container to instance
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/inventory/lxd: rename container to instance
It seems that a previous search and replace was done but it
missed those `containe_name` due to missing `r` in `container`.
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
---------
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* Fixes inventory_hostname treatment as a litteral instead of inventory_hostname variable. Similar problem fixed in LXD: https://github.com/ansible-collections/community.general/pull/4912
* changelog for upsream
* Update changelogs/fragments/7874-incus_connection_treats_inventory_hostname_as_literal_in_remotes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: travis <travis@cypressMini.local>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Extract common functionality.
* Refactor duplicated code into module_utils.
* Fixed ansible-test issues.
* Address review comments.
* Revert changes to consul_acl.
It uses deprecated APIs disabled since Consul 1.11 (which is EOL), don't
bother updating the module anymore.
* Remove unused code.
* Merge token into default doc fragment.
* JSON all the way down.
* extract validation tests into custom file and prep for requests removal.
* Removed dependency on requests.
* Initial test for consul_kv.
* fixup license headers.
* Revert changes to consul.py since it utilizes python-consul.
* Disable the lookup test for now.
* Fix python 2.7 support.
* Address review comments.
* Address review comments.
* Addec changelog fragment.
* Mark ConsulModule as private.
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.
* Remove some Shippable specific code that trips latest shellcheck.
* Rename templated shell script to .sh.j2 to avoid shellcheck disliking the templating.
* Copy on the remote, not from controller to remote.
Add module to list content on proxmox storage
We first add a method to list storage content for proxmox, then use that
new methode to add an Ansible module to list content on storage attached
to a proxmox node. User can also use content filtering to define what
they want to list (backup, iso, images,...).
This commit also include the integration and unit test for that new
module.
Co-authored-by: Julian Vanden Broeck <julian.vandenbroeck@dalibo.com>
* Add github_app_access_token lookup plugin
* Fix a typo in short_description
* Remove unused MockOpenUrl
* Fix MockJWT to be used on jwt_instance instead
* Fix a bunch of pep8 and pylint issue
* Remove JWT from requirements, also default jwt_instance and jwk_from_pem so they can be mocked
* Update version added
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update git reference in doc
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/github_app_access_token.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Expose token expiry as a configurable option
* Update BOTMETA.yml
* Update documentation
* Update example with var, so it is more readable
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>
* Add proxmox_node_info module - restarted PR due to erroneous update/push of my local fork.
* Used wrong user ID.
* Changes requested by felixfontein:
- Capitalization and punctuation in documentation section
- trailing comma on line 125
- Re-order BOTMETA so it is alphabetical
* Mis-copied older version of code, correcting actual call
* Add tests for proxmox_node_info module
* Add keycloak_realm_rolemapping module to map realm roles to groups
* Whitespace
* Description in plain English
* Casing
* Update error reporting as per #7645
* Add agross as maintainer of keycloak_realm_rolemapping module
* cid and client_id are not used here
* Credit other authors
* mhuysamen submitted #7645
* Gaetan2907 authored keycloak_client_rolemapping.py which I took as a
basis
* Add integration tests
* With Keycloak 23 realmRoles are only returned if assigned
* Remove debug statement
* Add test verifying that unmap works when no realm roles are assigned
* Add license to readme
* Change version number this module was added
* Document which versions of the docker images have been tested
* Downgrade version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix keycloak_identity_provider ITs to actually pass
- wrong identityProviderAlias in mapper configuration
* kc_identity_provider: add mapper reconfiguration regression tests
* test for removing an existing mapper
* test for adding a new mapper when others already exist
* test for module idempotency when mappers not ordered by name in ascending order
* kc_identity_provider: add bugfixes for mapper reconfigurations
* removing an existing mapper
* adding a new mapper when others already exist
* module idempotency when mappers not ordered by name in ascending order
* add changelog fragment
* prevent unnecessary update_mapper calls when there is no change
* Update changelogs/fragments/7418-kc_identity_provider-mapper-reconfiguration-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/7418-kc_identity_provider-mapper-reconfiguration-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/7418-kc_identity_provider-mapper-reconfiguration-fixes.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_identity_provider.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* kc_identity_provider: sort changeset mappers via name OR id to prevent potential failures in case name was not specified in playbook
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding a new filter: to_ini, which allows conversion of a dictionary to an INI formatted string
* Adding to_ini maintainers into BOTMETA
* Correcting filter suffix
* Moving filter to correct path
* Adding error handling; Removing quotes from examples; Fixing RETURN documentation
* Removing the last newline char; Adding error handling for an empty dict
* Adding integration tests for to_ini
* Fixing F-String usage
* Fixing formatting
* Fixing whitespace
* Moving import statements below documentation; Adding a more generic Exception handling; Removing unused imports
* Removing not needed set_fact and replacing it with using vars:
* Replacing MutableMapping with Mapping
* Add NS record type management to ipa_dnsrecord
* Add jwbernin to BOTMETA for ipa_ modules
* Add changelog fragment
* Rename changelog fragment with pull request number
* Commit changes suggested by felixfontein
* Adding a new filter: from_ini, which allows conversion of INI content to a dictionary
* Adding from_ini maintainers into BOTMETA
* Adding error handling; Removing quotes from examples; Fixing RETURN documentation
* Adding integration tests
* Moving imports below documentation; Adding a more general exception handling
* add support for rsa enc key usage, more algorithms, and make certficate optional
* fix formatting
* adding changelog fragment
* made suggested code changes based on review
* fix typo and be more clear
* revert certificate to previous defined settings
* Fixed payload format
* added changelog fragment
* Update changelogs/fragments/7754-fixed-payload-format.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Ed Ferguson <eferguson@nrtc.coop>
Co-authored-by: Felix Fontein <felix@fontein.de>
* avoid error when trying to delete a non-existing user
when force is set, but the user doesn't exist yet, this fails.
* 7696-avoid-attempt-to-delete-non-existing-user
add changelog entry
* rename changelog file
* Update changelogs/fragments/7696-avoid-attempt-to-delete-non-existing-user.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* using timeout parameter within community.general.mail module
* consolidated time-out example within an existing playbook
* consolidated time-out example within an existing playbook
* Update plugins/modules/mail.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updated documentation to reflect new behaviour
Per issue [6027](https://github.com/ansible-collections/community.general/issues/6027), disk and storage should not be used together, and changes to the API make it so "disk" should be formatted like "<storage>:<size in gb>".
Documentation edited to reflect this new behavior.
* Apply suggestions from code review
Change format due to referencing options.
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add ssh_config module option for add_keys_to_agent
* Add changelog fragment for 7703
---------
Co-authored-by: Michael Finney <michael.finney@tpwd.texas.gov>
* Add Alicloud, Packet, and Scaleway scenario guides.
These were taken from
3f12228c79/docs/docsite/rst/scenario_guides
and adjusted to reality.
* Fix references.
* Add Online guide.
* Add BOTMETA entries.
* Use FQCN.
* Improve code formatting and indentation.
* Update BOTMETA.
* feat: add ability to retrieve config
Light refactor of get_vms_from_nodes function.
Added ability to retrieve configuration for existing machines (current or pending).
* Add changelog fragment
* Add changelog fragment (newline missed)
* Update changelogs/fragments/7485-proxmox_vm_info-config.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Replaced two bool options with one three-state option
* Module args for the three-state option
* Remove trailing newline
* Make use of dict instead of list. Fix uncalled 'get config for lxc'.
* Sanity tests
* A couple of unit tests fixed
* Unit tests fixed
* Unit tests for p2.7 fixed. Test for config parameter added.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change tab to space in SSHFP requests
Cloudflare uses space and not tab when you search for SSHFP records
Cloudflare changes fingerprint to uppercase
Create 7653-fix-cloudflare-lookup.yml
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* lxd: Add lxc command execution debug statement.
* lxd: avoid false positives in "instance not found" detection
Due to changes over time in the error message which lxd printed when an
instance wasn't found, the detection logic in the lxd connection plugin
matched any "not found" string. Unfortunately this also false triggered
on other errors e.g. "/usr/bin/python3: not found" from the payload,
giving a confusing error message "UNREACHABLE! ... instance not found"
to the ansible user.
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* apt_rpm: add check if package version is upgradable (ansible-collections#7414)
* add changelog fragment
* apt_rpm: apply the recommended changes and fix the sanity checks
---------
Co-authored-by: Nikolay Burykin <bne@altlinux.org>
* onepassword lookup: Make section and field case insensitive
This was a regression in behavior when adding support for op v2.
* Return a string by default to avoid an exception if a field is missing
* Use a helper function to lower a value if possible
* Update changelog
* Add onepassword_doc lookup plugin
* Switch to a doc fragment
* Add unit test
* Update docs
* Move parameter validation to the OnePass object
This makes it built in for other lookup plugins using this class.
* Use kwargs for OnePass instantiation
There are enough parameters now that using them positionally can result in
odd behavior.
* Update tests
Correct conftest file name so fixtures are discovered and loaded correctly
Move constant so it doesn’t need to be imported
Add a patch since the parameter validation moved to part of the class init
* Use a lookup docs fragment
* Correct plugin description
* Create option to exclude proxmox nodes
* improve node exclusion by only remove the top level group
* add fragment
* Update changelogs/fragments/7437-proxmox-inventory-add-exclude-nodes.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Rework node exclusion
* Update fragement PR number
* include release version in option
Co-authored-by: Felix Fontein <felix@fontein.de>
* Clarify description
* Update unit test
* Fix typos in unit test
* Fix additonal typos in test
* Fix CI
* Fixing yet another whitespace pep error
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Rename use_ssl to use_tls, keep use_ssl as an alias.
* Add validate_certs option.
* Add changelog fragment and recommend setting TLS related settings to true.
* Fix formatting.
* Update documentation to use use_tls=true and validate_certs=true.
* Set resources payload as a list
* Update changelogs/fragments/7151-fix-keycloak_authz_permission-incorrect-resource-payload.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add support for loopback devices
* add support for loopback devices
* fix yamllint issue in changelog fragment
* Fix yamlint warning and add note about new connectin type in docs
* change order of lines in documentation so they are sorted
* Support 1Password Connect (#5588)
- Support 1Password Connect with the opv2 client
* Follow pep8, be less explicit
* Update changelog to include PR
* 1Password Connect host and token are now also parameters
* Get argument values from the environment or lookup arguments
* Move imports
* Force using Connect token and host at the same time
* Update unit tests
* Update documentation
* Additional tests
* infiniband and bond interfaces can receive MTU settings too
* adding test for default mtu setting
* the mtu parameter for infiniband is different than for ethernet
* adding changelog fragment
* Update changelogs/fragments/7499-allow-mtu-setting-on-bond-and-infiniband-interfaces.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Introduce options to include 'deny' commands and command groups
* Adding Changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/add-ipa-sudorule-deny-cmd.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ipa_sudorule.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ipa_sudorule.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Ris Adams <ris@risadams.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Netcup DNS: Add support for additional record types
* Netcup DNS: Add changelog fragment
* Netcup DNS: Include information on minimum required versions in module documentation
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improve performance of the bitwarden lookup plugin
When looking for items using an item id, we can access the item directly with
bw get item instead of searching through all items. This doubles the lookup
speed.
* Update changelogs/fragments/bitwarden-lookup-performance.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix indentation
* Ensure backwards compatible behavior in case of errors when doing bitwarden lookup by id
* chore: Link to correct PR in changelog fragment
* Use identity check when comparing with None
---------
Co-authored-by: Richard Klose <richard.klose@gec.io>
Co-authored-by: Richard Klose <richard@klose.dev>
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat: Add options for password generation.
* feat: Add documentations for options for password generation.
* fix: Remove newline from the end of the stored raw password
* fix: Define 'msg' variable before the reference inside the condition block
* feat: Add information when the 'timestamp' parameter was added
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat: Add information when the 'preserve' parameter was added
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat: Add changelog fragment for adding new parameters to the 'passwordstore' module
* feat: Change the evaluation of password modification conditions.
* feat: Change version of parameter 'timestamp' from 8.0.0 to 8.0.1
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat: Change version of parameter 'preserve' from 8.0.0 to 8.0.1
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: Remove newline character from the timestamp message
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: Add newline character to the end of 'preserve' message.
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Michal Drobny <494056@muni.cz>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix vm removal in proxmox_pool_member.py
in the original the vm doesn't get removed, always errors with "'Failed to delete a member (12345) from the pool TestPool: list.remove(x): x not in list'
* add changelog fragment
* fix linting errors in changelog
* add template option to proxmox and proxmox_kvm
* make recommended updates
* fix tests
* resolve comments on PR
* save changes to changelog fragment
* Update changelogs/fragments/7143-proxmox-template.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Eric Trombly <etrombly@iomaxis.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pass the working_dir to all composer command invocations that are not global
* add changelog fragment
* Update changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improve markup.
* Improve filter and test guides by linking to plugins and using FQCNs more consistently.
* list_merge is an option, not the filter's name.
* Improve filter docs.
* Fix more typos in plugins/.
* Fix typos in tests/unit/.
* Fix typos in tests/integration/.
* Fix more typos.
Co-authored-by: Sebastian Gumprich <rndmh3ro@users.noreply.github.com>
---------
Co-authored-by: Sebastian Gumprich <rndmh3ro@users.noreply.github.com>
* plugins/module_utils/lxd: add server_cert_file and server_check_hostname params to LXDClient class
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/inventory/lxd: add server_cert and server_check_hostname options
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* Add changelog fragment
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
---------
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/connection/lxd: convert FQDN to instance name
This allows to use FQDNs in the inventory and have the
connection driver do the translation when talking to
LXD that uses hostnames (no ".") for instance names.
Those are either globally unique or unique per network/
project in LXD.
```
all:
# Groups and hosts
children:
lxd_dmz:
vars:
ansible_lxd_project: dmz
hosts:
www01.dmz.example.com:
www02.dmz.example.com:
```
```
$ lxc list --project dmz
+---------+---------+----------------+------+-----------+-----------+----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | LOCATION |
+-------+---------+------------------+------+-----------+-----------+----------+
| www01 | RUNNING | 192.0.2.1 (eth0) | | CONTAINER | 0 | t1 |
+-------+---------+------------------+------+-----------+-----------+----------+
| www02 | RUNNING | 192.0.2.2 (eth0) | | CONTAINER | 0 | t3 |
+-------+---------+------------------+------+-----------+-----------+----------+
```
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/connection/lxd: VMs/containers are called instances
Update error string parsing to support the new format:
$ lxc stop c1 -- true
$ lxc exec c1 -- true
Error: Instance is not running
$ lxc exec does-not-exist -- true
Error: Instance not found
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/connection/lxd: add changelog fragment
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
---------
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* Add additional documentation for routing_rules4 option.
I had some trouble initially getting this to work as I wasn't very clear on what was required to that end I have added an example task and fixed what I suspect is a typo in the description.
* Update nmcli.py
Remove trailing whitespace.
* facter: add option to return facts instead of output variables
* Update plugins/modules/facter.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* add output doc
* add changelog frag
* reversed facter.py, created facter_facts.py
* remove chglog fragment for new module
* test helper: add Helper.from_module()
* change case in variable name
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Stopped container error test
* Handle remote_addr change
Detect if the remote_addr option changed, and properly "reconnect" aka
update the internal state of the plugin instance.
* Add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix callback/selective task print being long
Compare against all text on the line rather than simply the task_name var,
which does not include 3 formatting characters in the string
* Add changelog fragment
---------
Co-authored-by: Aidan Houck <AidanHouck@users.noreply.github.com>
* Drop support for ansible-core 2.11 and 2.12.
Also move ansible-core 2.13 from regular CI to EOL CI.
* Remove some compatibility code.
* Remove no longer needed import.
* Update README.
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
subscription-manager 1.29.32 renames the "type" D-Bus registration
option to "consumer_type"; this means that the right option must be
passed according to the distro type & version.
Copy the same approach done for environments, tweaking the version
needed: this change is found in RHEL 9.2+ and supported Fedora versions.
Reported-by: Radek Bíba <rbiba@redhat.com>
* Remove disable_facts from xfconf module.
* Remove deprecated module_helper CmdMixin and users.
* Deprecate ArgFormat as well, which wasn't explicitly deprecated yet.
* Remove state=get from gconftool2.
* Remove default of access_level in gitlab_runner.
* Remove state=list from manageiq_polices.
* Remove state=list from manageiq_tags.
* Consul: when state=absent, certain options can no longer be specified.
* Remove support for Ansible 2.9 and ansible-base 2.10 from ansible_galaxy_install.
* Bump community.general version to 8.0.0.
* Fix gconftool2 tests.
* Remove mh.mixins.cmd module_utils completely.
* Re-add removed anchor on its first non-removed usage.
* remove references in return doc, refactor method _setup210plus
* remove no longer needed check in function parse_check
* improve expression
* Fix YAML.
* Lint.
---------
Co-authored-by: Alexei Znamensky <russoz@gmail.com>
* Fixture for liblxc
Add a fixture to allow testing the lxc connection plugin both with and
without liblxc being present.
Also change the test from unittest to pytest.
* Update liblxc error message
The error is not specific to python2, so remove the version. Also add
a test for it.
* Migrate to options
Because the lxc plugin was only using PlayContext properties, using host
vars like `ansible_lxc_host` didn't work. This is fixed by instead using
the `get_option` method inherited from `AnsiblePlugin`.
The options are not yet available in the `__init__` function, so the
determination of the container name is moved to the `_connect` method,
which is the first time it is actually needed.
The default for the `remote_addr` option is removed, because the string
`inventory_hostname` is not very useful. At all. This seams to have been
spread with copy&paste and a bit of cargo culting. The variable priority
already takes care of setting the value.
* Add changelog fragment
* Fix for Py2.7
`TypeError: super() takes at least 1 argument (0 given)`
* Add plugin type to changelog fragment.
* Restore untemplated default
This partially reverts commit 429d8c8cfb.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add `executable` option to cargo
Add `executable` option to cargo to make the module easier to use with
cargo installed by rustup.
* Add changelog fragment
* Add license to integration test
* Do not test on CentOS 6
CentOS 6 cannot even validate the certificate in https://sh.rustup.rs.
* Fix condition to skip tests on CentOS 6
* Add version_added to path
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cargo.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* shell → command
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* plugins/inventory/lxd: update links to doc
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/modules/lxd_container: update links to doc
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/modules/lxd_profile: update links to doc
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* plugins/modules/lxd_project: update links to doc
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
---------
Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
* (fix) don't set version at latest at state: latest
If version is forcefully set at latest when state is latest, the package
will always be changed, as there is no version "latest" will ever be
detected. It is better to keep it None.
* (fix) fixed tests to reflect recent changes
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* (feat) added changelog fragment for pull #7339
* (fix) apply correct punctuation to changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add support for "Oem" parameters in the MultipartHTTPPushUpdate redfish_command
* Add doc entry
* Add changelog fragment
Add version_added field
* Re-word the changelog fragment
* After further testing this should not have a default definition as
it should not be in the payload if not defined
* supervisorctl: stop process before removing it
* Update supervisorctl.py
Removes blanks
* adds fragment
* introduces stop_before_removing parameter and fix deleting after stopping
* reduce line length
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* miss some exit
* fixing review
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat(cargo): add locked option
This commit introduces locked option to cargo module,
allowing user to install with locked dependency.
Equivalent to `--locked` flag of `cargo install` command
* Update docs.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add vmid exit value
if create succeeds, we want the vmid
* fix syntax
* add vmid to return codes
* Add taskid to return, and only return vmid when it makes sense to
* add changelog fragment with temporary filename
* Add pr number to fragment
* fix PEP8 E501: line too long
* oops, I knew I still missed something...
* Update 7263-proxmox-return-vmid-and-taskid.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* removed taskid from places it's not defined
* finally fixed sanity test errors
Okay, so maybe just waiting for CI to run the tests was a terrible idea.
I installed `inotifywait`, set up a venv for the tests, and in my
editor's terminal pane I ran the following, letting it run every save
until it exited:
until ansible-test sanity proxmox ; do
inotifywait --event modify plugins/modules/proxmox.py
done
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix incorrect parsing of header containing equal character
* Add changelog fragment
* Update changelogs/fragments/7303-mail-incorrect-header-parsing.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fixed gitlab_*_variable when using purge, see issue #7250
* Update changelogs/fragments/7251-gitlab-variables-deleteing-all-variables.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* gio_mime: new module
* multiple changes
- fixed gio_mime module utils handler detection
- add message to test helper assertion
- add unit test
* gio mime output uses unicode smart quotes
* test helper: do not use skip/xfail reason messages - break in old pytest
* Update plugins/modules/gio_mime.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* change exist variables to meet standards
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added the option to ignore certain characters
This can be usefull for eliminating confusion.
* Removed the loop and added each char_sets
The variable name is not known inside the loop so updating it does not work.
* Changelog fragment file
* Forgot the file extention for the fragment yaml file
* Update plugins/lookup/random_string.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/random_string.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/random_string.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add keycloak_realm_key module
* keycloak_realm_key: make "ansible-test sanity" happy
Signed-off-by: Samuli Seppänen <samuli.seppanen@puppeteers.net>
* keycloak_realm_key: support check_mode
* keycloak_realm_key: add integration tests
* keycloak_realm_key: remove FIXME comment
* keycloak_realm_key: fix EOL in integration test variables
* keycloak_realm_key: remove unused import
* keycloak_realm_key: remove integration test realm at the end of test suite
* keycloak_realm_key: add version_added metadata
* keycloak_realm_key: add documentation for end_state
* keycloak_realm_key: support the "certificate" parameter
As with "private_key" changing the certificate after creation is not possible
because we can't compare the current value to the desired value.
* keycloak_realm_key: document default for certificate parameter
Signed-off-by: Samuli Seppänen <samuli.seppanen@puppeteers.net>
* keycloak_realm_key: implement diff mode
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_realm_key: remove note about literal linefeeds
* keycloak_realm_key: remove defaults from priority and certificate
* keycloak_realm_key: mark diff and check modes as partially supported
* keycloak_realm_key: implement "force" parameter
This ensures that the desired state is always enforced on keys that should be,
and are, present.
* keycloak_realm_key: fix yaml parsing error in documentation
* keycloak_realm_key: document why check_mode support is partial
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_realm_key: documentation and metadata fixes
* keycloak_realm_key: small documentation fix
* keycloak_realm_key: change version_added to 7.5.0
* Update plugins/modules/keycloak_realm_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Samuli Seppänen <samuli.seppanen@puppeteers.net>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update as per PR comments
* Move common code to module_utils
* Break up long import line
* Fix pipeline errors
* Inital version of check_mode support
* Fix updating a role, add tests
* Fix line spacing
* Fix line indentation
* Add consul-role tests
* Fixes for role update
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update as per MR comments
* Update as per MR comments
* Fix documentation issues
* Add types for sub-options
* Allow setting of policy, service and node id fields by specifying a value, or leaving them unchanged by omitting them
* Fix typo in test
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Reset and force push to get rid of merge
* Corrected unit tests
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add suboptions documentation for node and service identities
* Fix PEP errors from pipeline
* Fix pipeline errors.
* Fix more pipeline errors
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix line that is too long
* Not specifying a value for description during update now leaves existing value unchanged
* Fixes for pipeline errors
* Add test cases to verify handling description works
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Edit givenname and sn description.
* Update plugins/modules/ipa_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ipa_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add `ignore_spaces` option to `ini_file` to ignore spacing changes
Add a new `ignore_spaces` option to the `ini_file` module which, if
true, prevents the module from changing a line in a file if the only
thing that would change by doing so is whitespace before or after the
`=`.
Also add test cases for this new functionality. There were previously
no tests for `ini_file` at all, and this doesn't attempt to fix that,
but it does add tests to ensure that the new behavior implemented here
as well as the old behavior in the affected code are correct.
Fixes#7202.
* Add changelog fragment
* pep8 / pylint
* remove unused import
* fix typo in comment in integration test file
* Add symlink tests to main.yml
It appears that #6546 added symlink tests but neglected to add them to
main.yml so they weren't being executed.
* ini_file symlink tests; create output files in correct location
* Add integration tests for ini_file ignore_spaces
* PR feedback
* ignore notifications for scottsb on 1pw plugin; update email
* Also update maintainers list.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* nsupdate: fix 'index out of range' error when no TTL answer is given
Fix a possible `list index out of range` when no answer is returned in the `ttl_changed` method
by applying the existing workaround for NS records to all record types.
Resolves#836
* fixup! nsupdate: fix 'index out of range' error when no TTL answer is given
* Add detach option so the task doesn't wait until the Jenkins job is finished
* Add new time_between_checks to be able to configure the sleep time between requests
* New jenkins_build_info to get information about a specific build
* Add version_added to the new module
* Add changelog fragment for jenkins_build changes
* Fix tests that required the python-jenkins module
* Remove tests that failed
Doesn't really make sense to test that with a mock
* Fix pep8 error
* Update maintainers for the jenkins_build and jenkins_build_info modules
* Improve format and add link to PR
* Move version_added documentation to the right file
* Fix incorrect examples
* Improve text format
* Fix incorrect code style
* Fix incorrect YAML for documentation
* Add version_added documentation to the new options
* cmd_runner module utils: fix bug when passing absolute path not in standard search paths
* improved tests
* changed /usr/bin/echo to /bin/echo for the sake of alpine
* fixed error messaging for last testcase
* add condition to test cases, and remove macos from troubling ones
* fix templating
* fix templating
* exclude centos 6 from testcases copying echo to tmp dir
* try different way of specifying version
* trying trick for old jinjas
* use os.path.isabs() to determine if path is absolute
* add changelog frag
* Update plugins/module_utils/cmd_runner.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/7200-cmd-runner-abs-path.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* (feat) New module pnpm added
A new module for pnpm is added. Necessary entries were written to
BOTMETA.yml.
* (feat) Basic tests added
* (feat) reduced nesting of ifs
* (fix) trying to fix up CI pipelines
* (fix) incorrect indentation of alias fixed
* (feat) fixed further indentations
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* (fix) various linting and CI errors fixed/ignored
* (feat) reduced restriction, new install method
Some restrictions on OS are reduced. New installation method, similar to
the official installation method, is provided.
* (fix) ignoring CentOS 6 for CI.
* retrigger checks
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* community.general.make:
allows parameters without value
closes#7178
* add changelog fragment for community.general.make
* correction: v != none -> v is not None
* update fragment changelog as per developer request
* add an example
* document the modification
* update example with comments as per maintainer request
* Ensure pritunl validate_certs is honoured in all methods
* Create changelog fragment
* Rename 7156-ensure-validate-certs-parameter-is-honoured to 7156-ensure-validate-certs-parameter-is-honoured.yml
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update incorrect path for organization post
* Create changelog fragment
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add unixy support for check_mode_markers
Modifies output on playbook start, task start, and handler start when
playbook runs in check mode.
* changelog fragment
* Address feedback
* Oops
* refactored unit tests for modules based on CmdRunner
* improved/fixed test helper
* fixed sanity
* refactored yaml spec out of the python file
* small adjustments
* Comment: Fixed inappropriate comparison on the length of a Collection. Added changlelog fragment file.
* Comment: Updated the scope of the changelog fragment based on feedback.
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding 'Links' parameter to be retrieved from get_disk_inventory
* Adding changelog fragment
* Updating as per PR suggestions
* Updating to return volumes as a list of strings
* Updating code to retrieve only volumes under the Links parameter
* Updating changelog fragment
* Update changelogs/fragments/6819-redfish-utils-add-links-parameter-for-get_disk_inventory.yml
Agreed
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Kushal <t-s.kushal@hpe.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* freebsd: shutdown -p ... on freebsd to power off machine
* Use shutdown -p ... on FreeBSD such that the machine is halted and
powered off (-p) otherwise the machine is halted (-h) but remains on.
* Update changelogs/fragments/7102-freebsd-shutdown-p.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add support for percentage of origin size for creating snapshot volumes
* add changelog fragment
* add pull request link
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix what's not idempotent
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* sorcery: update only specified grimoires
* Update plugins/modules/sorcery.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add a flag to omit listing new repositories before add/remove
* No need to append an empty string
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Get controller information from "Controllers" field instead of "StorageControllers" which is deprecated
* Add changelog fragment
* Changelog fragment writing guide formatting
* For consistency, get_disk_inventory and get_volume_inventory use Controllers key instead of StorageControllers to obtain controller name
---------
Co-authored-by: Pierre-yves FONTANIERE <pyf@cc.in2p3.fr>
* [proxmox_vm_info] Return empty list when requested VM doesn't exist
* Update documentation
* Add changelog fragment
* Address review comments
* Allow to filter by empty name
* Update plugins/modules/proxmox_vm_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add grimoire management to sorcery module
* Add changelog fragment
* Bump copyright year
* Separate update_cache and latest state
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add note on latest state and cache_update link
* Unblock execution of multiple stages
* Update plugins/modules/sorcery.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update Codex logic to match Sorcery
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* ejabberd_user: bug fixes + tests
* fix changed property
* add license to handler file
* adjustments to test
* add needs/target/setup_epel to aliases
* further adjustments to integration tests
* add target to integration tests
* add some skips to test
* skip centos as it has no ejabberd
* skip fedora as it has no ejabberd
* discard unused epel setup
* add changelog frag
* remove ejabberd before tests
* fix typo
* Only treat `---` as an info separator when it's preceded by newline
The code for splitting the output of `snap info` for multiple snaps
can't assume that `---` separates snaps any time it appears in the
output; it needs to treat that as the separator only when it's at the
start of a line. Otherwise it breaks if any snap uses `---` in its
description text, which, e.g., the `bw` snap does as of the date of
this commit.
Fixes#7045.
* Add changelog fragment
* Add a comment explaining why \n is necessary before ---
* Update changelogs/fragments/7046-snap-newline-before-separator.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Jonathan Kamens <jik@jik5.kamens.us>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix TypeError on 404 api response
* add changelog fragment
* Update changelogs/fragments/6983-rundeck-fix-typerrror-on-404-api-response.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Vincent CHARLES <vincent.charles@swatchgroup.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add support for Redfish "nextLink" property tag pagination for
FirmwareInventory
* Add changelog fragment
* Fix indention
* Updated fragment per suggestion
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add example for ECS Fargate/EFS Jenkins authentication
Since ECS Fargate is serverless, one cannot access its jenkins_home other than from a machine (EC2 for example) that actually mounts and owns its EFS storage.
That way we provide user/group of a defatul local user which has the same uid/gid 1000 as the default jenkins user inside the container and also can authenticate at Jenkins URL.
I feel this is not as straightforward from the docs and someone might benefit from such an example being present
* Added an empty line
* Float value now in single quotes
* Use UID/GID instead user/group name
* enable 'force' restart of vm
* added changelog fragment
* Update changelogs/fragments/6914-proxmox_kvm-enable-force-restart.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* [proxmox_vm_info] Re-use cluster resources API to use module without requiring node param
* More consife if
* Fix use case when requesting all vms from specific node
* Add changelog fragment
* Fix key error for reverse zone (#6905)
* Add changelog fragment for #6905
* Fix changelog (6905)
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Simplify a bit (and possibly speed it up a little) the parsing of the
output of `subscription-manager repos --list`:
- simplify skipping the lines that are not interesting: check the first
character only, as it is enough to determine whether it contains
repository data or not
- check the start of each line manually, rather than with regexp: a
simple slice + lstrip() gives the same result
* Added support for ipv4.dns_options in nmcli module
* added support for dns6-options
* Added version added
Co-authored-by: Felix Fontein <felix@fontein.de>
* added version_added: 4.6.0 for dns6 options
* added changelog fragment
* Rename 4308-added-support-in-nmcli-for-ipvx-dns-options to 4308-added-support-in-nmcli-for-ipvx-dns-options.yml
* Update changelogs/fragments/4308-added-support-in-nmcli-for-ipvx-dns-options.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix and add tests
* Update PR number and version_added
---------
Co-authored-by: Matteo Caruso <m.caruso425@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Redfish: Added support for displaying and setting account types
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Update 6823-redfish-add-account-type-management.yml
* CI fixes
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
---------
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* chroot: added an example
Added a simple example of chroot connection plugin
Fixes: #6365
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>
* [proxmox_vm_info] New module to retrieve virtual machines information from Proxmox VE API
* Address review comments
* Fix seealso fragment
* Update plugins/modules/proxmox_vm_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* pacman: support yay as root
* make pylint happy
* minor adjustments
* rollback some test actions
* removal of user and pkgs in handlers
* add comment to note
* add changelog frag
* fix doc
* Update tests/integration/targets/pacman/tasks/yay-become.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/pacman/tasks/yay-become.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* simplify pkg install in int. tests
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add Bitwarden Secrets Manager lookup
* fix pep8 and yamllint complaints
* fix version_added, add maintainer and copyright notice
* document BWS_ACCESS_TOKEN env var and declare as required
* avoid returning nested list
* update 'value of a secret' example after f6c4492c
* update copyright notice in bitwarden_secrets_manager plugin
thx felixfontein
Co-authored-by: Felix Fontein <felix@fontein.de>
* rename classes to distinguish from existing bw plugin
* use AnsibleLookupError, formatting
* bump version_added to 7.0.0
Co-authored-by: Felix Fontein <felix@fontein.de>
* ci fix: python style guide calls for excessive blank lines
https://peps.python.org/pep-0008/#blank-lines
* first attempt at unit tests for bws lookup
* ci fix: remove trailing newline
* attempt to fix tests object not callable error
* address formatting, tests and pyright suggestions
* reduce scope of mocked code for more real test coverage
only the actual bws CLI call is mocked now, this should enable the
exception thrown test to succeed if I didn't add new problems
* fix undefined variable 'expected_rc'
* fix mocked _run method to return correct data types
* keep list of one element for test case comparison
* bump version_added to 7.2.0
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: jantari <jantari@github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* snap: add track 'latest' if no track is specified
See https://snapcraft.io/docs/channels for more details.
* snap: assume track latest if channel does not specify it
* Split into separate PR
* Refactor test, add author to inactive maintainers
* Add changelog fragment and correct requirements section on module documentation
* Add changelog fragment and correct requirements section on module documentation
* Update changelogs/fragments/6755-refactor-consul-session-to-use-requests-lib-instead-of-consul.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Valerio Poggi <vrpoggigmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add required timeout arg when force deleting
* Add changelog fragment
* Update changelogs/fragments/6827-proxmox_kvm-force-delete-bug-fix.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add example for github_key in a single task
* Update plugins/modules/github_key.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* [proxmox_template] Fix error while uploading big ISO to Proxmox VE cluster
* Fix pep8 test
* Add changelog fragment
* Add notes about requests_toolbelt
* Check versions and file size
* Fix typo in notes
* Add unit test. Move try inside of each function.
* Fix sanity tests
* Add proxmoxer in requirements file
* Update integration tests
* Add proxmoxer into constraints.txt
* Address review comments
* Don't run tests on 2.6 python
* Disable Python 2.6 tests for other proxmox modules
Create a small helper class Rhsm, so all the logic related to the
interaction with subscription-manager is grouped there:
- create the Rhsm object in main(), once the initial checks are done
- search subscription-manager as required (so there is no need to
manually check it), and store its path for reuse
- store the common arguments for running subscription-manager
- move run_subscription_manager() to Rhsm as run_repos()
- get rid of the different list parameters: we list only all the
repositories, so the other cases are not needed (and can be added
easily, if needed)
- move get_repository_list() to Rhsm as list_repositories()
The execution of subscription-manager is improved as well:
- pass the arguments to run_command() directly as list, rather than
joining the arguments to string, which run_command() will need to
split again
- move the "repos" parameter directly in run_repos()
- explicitly disable the shell, already off by default
- disable the expansions of variables, as there are none
Adapt the unit test to the different way run_command() is called.
There should be no behaviour changes.
* locale_gen: fix
* test working with C.UTF-8
* working with locale eo
* handle C.UTF-8 edge cases
* grammatic pedantism
* add changelog frag
* add doc about specific OS support
* update changelog frag
* refac: provider id choices
* feat: minor changes fragment
* Update changelogs/fragments/6763-keycloak-auth-provider-choices.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Skrekulko <Skrekulko@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change proxmox_kvm restart to use new method
Previously, the `restarted` state used both stop and start vm functions to restart a vm.
This change introduces the a new function that utilizes the proxmox reboot endpoint instead for a more reliable method of restarting a vm.
* Create 6773-proxmox_kvm-restarted-state-bug-fix.yaml
* Fix typo
* Add link to PR
* Chanel log fragment formatting changes
* Move try/catch to `restart_vm` function
* Update changelogs/fragments/6773-proxmox_kvm-restarted-state-bug-fix.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
So far there are no tests for the rhsm_repository module, which makes it
difficult to do even basic changes. Hence, add an initial version of
unit tests, heavily based on the approach of the redhat_subscription
unit tests.
Needs some special requirements on Python 2.6 so that it can contact the server.
These seem to be installed when running all tests. I don't want to figure out what exactly
is missing, so let's just skip the tests on Python 2.6 for now.
* Treat files as binary when downloading attachments
* Raise a warning when the attachment can't be read
* Set the 'itemValue' for files, even when they can't be read
* Always return the original secret content
* Add changelog
* Fix changelog
* Update changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* Revert "Always return the original secret content"
This reverts commit a9fb96e165.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* filesystem: add UUID change feature
* Add changelog fragment for 6680
* Do not test XFS filesystem UUID reset on FreeBSD
FreeBSD error: xfs_admin: only 'rewrite' supported on V5 fs
* Apply suggestions from code review #1
Co-authored-by: Felix Fontein <felix@fontein.de>
* Set filesystem UUID on FS creation
* Fix tests - switch to ansible.builtion.to_uuid
* Fix tests - Refactor to avoid FS remove tasks
* Fail if uuid option not yet supported for fstype
* Set resizefs and uuid options mutually exclusive
* Apply suggestions from code review no 2.
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm - Allow creation of VM with existing name but new vmid
* Fix pylint and pep8 errors
* Add changelog fragment
* Move status variable outside of try block
* Add assertion for calling get_vm_node function
* Use try/catch for module_utils functions
* Update changelogs/fragments/6709-proxmox-create-vm-with-existing-name.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* ini_file: make inactive options as active if they exist, instead of creating a new option entry
Add changelog fragment
* Update changelogs/fragments/ini_file-use-inactive-options-when-possible.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix test
* Update tests
* Fix spelling
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make most options optional as they should be
* Add filter to create_group instead
* Remove whitespace
* Add changelog fragment
* Added description and extension to fragment
* Update changelogs/fragments/6712-gitlab_group-filtered-for-none-values.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/gitlab_group.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make Python 2.6 compatible.
* Another shot at compatibility.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_client_rolemapping.py: add support for subgroups
* Add PR number after creating a PR to 6687-support-subgroups-for-keycloak-client-rolemapping.yml
* Update changelogs/fragments/6687-support-subgroups-for-keycloak-client-rolemapping.yml
Add missing URL
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_client_rolemapping.py
Set a correct version_added (previously it was a copy-paste)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_client_rolemapping.py
Fix typo after copy-paste
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_client_rolemapping.py
Fix typo after copy-paste
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_client_rolemapping.py
Fix typo after copy-paste
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Mikhail Putilov <Mikhail.Putilov@dimoco.eu>
Co-authored-by: Felix Fontein <felix@fontein.de>
* add service account token and bypass required fields when service account token is set
* add token to base class
* add Info
* add service_account_token
* add service_account_token
* add documentation
* add service_account_token
* fix E111: indentation is not a multiple of 4
* fix lint problems
* Update plugins/lookup/onepassword_raw.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/onepassword_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/onepassword.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* add changelog fragment
* change type service_account_token to align to domain option
* add fragment value
* Update changelogs/fragments/6660-onepassword-lookup-service-account.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/onepassword.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* remove service_account_token from onepassword_info.py
* adjust V1 to raise error if service_account_token is set
* adjust V1 to raise error if service_account_token is set
* adjust V1 to raise error if service_account_token is set
* adjust if assert_logged_in
* Update plugins/lookup/onepassword.py
Co-authored-by: Sam Doran <github@samdoran.com>
* Update plugins/lookup/onepassword.py
Co-authored-by: Sam Doran <github@samdoran.com>
* remove double return
* remove new line
* remove new line
* remove new line
* remove spaces
* remove new line
* remove spaces
* Update plugins/lookup/onepassword_raw.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* add _check_required_params
* Update plugins/lookup/onepassword.py
Co-authored-by: Sam Doran <github@samdoran.com>
* Update plugins/lookup/onepassword.py
Co-authored-by: Sam Doran <github@samdoran.com>
* remove _check_required_params
* remove spaces
* Update plugins/lookup/onepassword.py
Co-authored-by: Sam Doran <github@samdoran.com>
* remove code
---------
Co-authored-by: Jan Sagurna <jan.sagurna@sag-solutions.com>
Co-authored-by: Jan Sagurna <58932831+jansagurna@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sam Doran <github@samdoran.com>
* Use semantic markup.
* Use 'ignore:' for alias reference.
* Ignore sanity errors for older ansible-core versions.
* Improve markup for RHSM modules.
Co-authored-by: Pino Toscano <ptoscano@redhat.com>
* 'ignore:' is no longer needed.
* E() now works better.
---------
Co-authored-by: Pino Toscano <ptoscano@redhat.com>
* Add more integration tests for ldap_search
* Add new page_size option to ldap_search
* Add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Simplify if statement to reduce negatives
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Set up secure ldap server
* ldap: Added client cert options
Shamelessly copied from https://github.com/andrewshulgin/ldap_search
* Added tests for ldap client authentication
* Add changelog fragment
* Make sure the openssl commands work on older versions of openssl
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove aliases for new arguments
* Add required_together to ldap module declerations
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add composites to keycloak_role module
* Add composites support for realm role in keycloak module_utils
* Clean f.write from keycloak_role module
* keycloak_role support state for realm role composites
* Add support for composites in client role for keycloak_role module
* Add changelog fragment for keycloak role composites PR
* Fix pep8 and validate-modules tests errors
* Update changelogs/fragments/6469-add-composites-support-for-keycloak-role.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
I will try it
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix test_keycloak_role assertion
* Fix role composite compare before update in keycloak_role module
* Fix realm problem with update_role_composites in keycloak.py module_utils
* Add units tests for composites and client roles in keycloak_role module
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change try in is_struct_included and add unit tests for keycloak.py module_utils
* Add integration tests for composites roles and fix bug with non master roles in keycloak_role module
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_role.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* is_struct_included refactor
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix composites comparison for role in is_struct_included keycloak.py function
* Add changelog fragment and unit tests
* Update changelogs/fragments/6688-is-struct-included-bug-in-keycloak-py.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added composite var support for proxmox inventory plugin
* Composite variables support for Proxmox nodes in dynamic inventory plugin
Fixes#6640
* Composite variables support for Proxmox nodes in dynamic inventory plugin
Fixes#6640
* Added composite var support for proxmox inventory plugin
* Added composite var support for proxmox inventory plugin
* Update changelogs/fragments/6640-proxmox-composite-variables-support.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
"state=present" is broken, and acts like "disabled"; also, the
subscription repositories cannot be really "added" or "removed", which
is what "present" and "absent" would imply, but only enabled or
disabled. Hence, deprecate both these states, slating them for removal
in community.general 10.0.0.
- pass the arguments to run_command() directly as list, rather than
joining the arguments to string, which run_command() will need to
split again
- disable the expansions of variables, as there are none
Adapt the unit test to the different way run_command() is called,
factorizing the kwargs for run_command() so there is less repetition.
There should be no behaviour changes.
The two RegistrationBase & Rhsm classes were copied from the ones in the
shared module_utils.redhat module; that said:
- the versions here got improvements over the years
- the RegistrationBase in module_utils.redhat is used only by the RHN
modules, which are deprecated and slated for removal
Hence, the classes here can be kept and simplified a bit:
- fold the non-dummy content of RegistrationBase into Rhsm: there is no
more need for the separate RegistrationBase base class
- drop the init arguments "username", "password", and "token": the
instance variables of them are not used anywhere, as the needed
credentials (together with other variables) are passed to the
register() method
- create the Rhsm object later in main(), after the AnsibleModule
creation and the uid check: this avoids the creation of Rhsm with a
null module variable, changing it later
There should be no behaviour change.
This module contains bits that are either unused (the Rhsm* classes), or
used only by deprecated modules (the RegistrationBase class).
Considering that the bits here have not seen updates in years, it is
unlikely that anyone is actually using them as "library".
Hence, deprecate the whole module altogether:
- the Rhsm* classes, as not used by anything, are slated for removal in
9.0.0
- the RegistrationBase class is slated for removal in 10.0.0, together
with its only user (i.e. the rhn_register module)
The "pool" option is slower to use, and the regexp may expand to broader
results than wanted. Because of that, deprecate it in favour of the
"pool_ids" options (which is much better), slating it for removal in
community.general 10.0.0.
The "autosubscribe" alias for the "auto_attach" option has been
deprecated for many years, although only in the documentation.
Officially mark it as deprecated also in the module parameters spec,
slating it for removal in 9.0.0.
* MH mh/mixins/deps.py: prevent deprecation warning when no deps are specified
* rollback empty "patch" on license markers to prevent test error
* disable test in ansible 2.12
* add changelog frag
* add span event attributes (task name and host name)
* add fragment
* refactor: use set_attributes
* Add same span attributes to the event
* chore: change description in the fragment
* as mentioned in the code review
* use flag to disable the attributes in logs
there are some vendors that might not require those attributes since those details are shown in the UI when accessing the spans, i.e.: jaeger
* Update plugins/callback/opentelemetry.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* [WIP] snap: aware of channel in installed snaps
* parse snap list output and assert whether channel matches
* undo test
* fail rightfully when install with different channel does not work
* transparetent refresh
* rollback comment in integration test
* rollback comment in integration test
* add changelog frag
* Update plugins/modules/snap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
The Bitwarden CLI requires a `login` followed by an `unlock` operation.
The later will display a message regarding setting (and exporting) the
`$BW_SESSION` env. var. When using the `bitwarden` lookup plugin, having
the env. var. set and available (exported) to Ansible is critical.
Without it, the plugin will simply return the error:
`Bitwarden Vault locked. Run 'bw unlock'.`
Make this clearer in the requirement documentation.
Signed-off-by: Chris Evich <cevich@redhat.com>
* New Proxmox VE modules to handle pools and their membership
* Fix pep8 linting errors
* Fix pep8 and compatibility errors
* Add required fields in the documentation
* Typo fix
* Fix pylint errors
* Fix the last one error
* Address review comments
* Fix linting error
* Add integration tests playbook
* Add assert for the diff mode
* Address review comments
* Fix typo in the word
* Fail for non-empty pool even in check_mode
* proxmox: support param `timezone` when creating container
* add changelog fragments for #6510
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improved param description
* Use major.minor version comparison for options
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sergei Antipov <s.antipov@mulesoft.com>
* proxmox_kvm: added support for tmpstate
adds hash of options for a TPM state disk, which is required for Windows 11 installations
* updated wrong version in docs
* bump version 7.1.0 -> 7.1.1
* fixed parameter name typo
* updated to pass sanity; assumed version_added to be next major (7.2.0)
* replaced 'tpmstate' with 'tpmstate0'; added suboptions to kvm_args
* fixed line too long
* use get() instead of pop() to preserve verbose invocation.module_args
* update comment to include tpmstate0
* added changelog fragment
* Revert "bump version 7.1.0 -> 7.1.1"
This reverts commit 772ed98dba.
* Include PR link in changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Corrected version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
* corrected semantic markup for option name
Co-authored-by: Felix Fontein <felix@fontein.de>
* set suboptions of tpmstate0 to required
* set default for tpmstate0.version (2.0)
* fixed typo
Co-authored-by: Felix Fontein <felix@fontein.de>
* wrapped default version string in quotes
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improve changelog formatting.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Expose timeout param to stopped state
Forcefully stop virtual machine using timeout param for proxmox vm
shutdown api call.
* Add changelog fragment
* Typo fix in timeout param description
* Update changelogs/fragments/6570-handle-shutdown-timeout.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/proxmox_kvm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Revert back exception message
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* ini_file: Don't creates new file instead of following symlink
This is a bug fix that address a situation where `community.general.ini_file`
was destroying symlinks instead of updating of updating their targets.
Closes: #6470
* ini_file: add the follow parameter
If `poth` points on a symlink and `follow` is true, the `ini_file` plugin
will preserve the symlink and modify the target file.
* adjust the documentation of the new key
- yes/no -> true/false.
- new key will be introduced in 7.1.0.
- clean up the `state=link` part.
* vardict: easy hadling of module variables
* fix copyright year
* initial tests passing
* small adjustments
* add tests
* add to BOTMETA
* remove unused import pytest
* Update plugins/module_utils/vardict.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* minor refactor and documentation
* minor adjustments
* rename VarDict.var() to VarDict._var()
- plus add more docs
* fix method name in tests
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* plugins/inventory/cobbler: Add option to use system name for inventory hostname (#6492)
* plugins/inventory/cobbler: Add warning for systems with empty profiles
* disable sign-in check for macOS 12+
* move is_version_greater func outside class Mas
* fix formatting
* remove trailing whitespace
* make use of LooseVersion to compare versions
* update requirement description
Co-authored-by: Felix Fontein <felix@fontein.de>
* update requirement description link
Co-authored-by: Felix Fontein <felix@fontein.de>
* update constant of macOS version
Co-authored-by: Felix Fontein <felix@fontein.de>
* use updated constant
Co-authored-by: Felix Fontein <felix@fontein.de>
* update getting macOS version
Co-authored-by: Felix Fontein <felix@fontein.de>
* add changelog fragment
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* opkg: remove useless default value for force
* add changelog frag
* Update changelogs/fragments/6513-opkg-default-force.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add to force param description
* typo
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Don't require api_password when api_token_id is used in proxmox_tasks_info
* Add changelog fragment
* Fix casing.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* added handling of zypper exitcode 102: ZYPPER_EXIT_INF_REBOOT_NEEDED - Returned after a successful installation of a patch which requires reboot of computer.
The exitcode 102 will be treated exactly like 0 by the module internally now, and the changed status will be reported correctly. However, since I preserve the rc 102 in the retvals to allow the playbook to react to the requested reboot, the task must still include a "failed_when: zypper_cmd.rc not in [0, 102]" to not fail in this case.
* removed trailing whitespaces
* added changelogs fragment
* Fix typo.
Co-authored-by: Alex <alexgubin@gmx.de>
* Add URL.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alex <alexgubin@gmx.de>
They are useful only with RHN, which Red Hat discontinued many years
ago, and with Spacewalk 5, which is EOL for more than 3 years;
while they could be potentially used with Uyuni / SUSE Manager (fork of
Spacewalk 5), we have not heard about anyone using it in those setups.
Hence, deprecate these two modules, with their removal planned for
10.0.0 in case there are no reports about being still useful, and
potentially noone that steps up to maintain them.
* Add FreeBSD 13.2.
* Skip FreeBSD 13.2 for iso_extract tests.
* Fix autoremove test: m4 is no longer a dependency, or it was already installed beforehand.
* Also disable the jail tests for FreeBSD 13.2.
* nmcli: added new module option 'slave_type' to allow create non-ethernet slave connections
* argument specs updated
* documentation updated
* examples updated
* added warning message when using type='bridge-slave'
* remove trailing whitespace
* Added warnings about rewrite 'slave-type' property when using type one of 'bond-slave', 'bridge-slave', 'team-slave'.
Added module fails when user sets contradicting values of 'slave-type' for types 'bond-slave', 'bridge-slave', 'team-slave'.
Returned back checking for types that can be a slave to assign 'master' and 'slave-type' properties.
* Extending list of slave-conn-types
* Update plugins/modules/nmcli.py
Version updated
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/nmcli.py
Updated documentation for `slave_type`
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Updated argspec's 'required_by' for 'master' property.
* Fixed mistake in property naming in module argspec.
* changelog fragment and module docs updated
* Validation of 'master', 'slave_type' options improved. (rebased)
* Validation of 'master' and 'slave_type' separated to special method.
* Wrote 6 tests for slave_type option behaviour
* Removed erroneously added property 'hairpin'
* Update version_added for 'slave_type'
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update changelogs/fragments/473-nmcli-slave-type-implemented.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Let master be without slave_type
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* dconf - Try to find a Python interpreter that has gi.repository.GLib
If we're invoked in a Python interpreter that doesn't have access to
`gi.repository.GLib`, try to find one that does and respawn the task
in that interpreter.
* ChangeLog fragment for #6491
* Update changelogs/fragments/6491-dconf-respawn.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Simplify import code
* Get rid of ModuleNotFoundError
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat: Allow non-returning SQL statements
- The current implementation fails out when certain statements or
batches do not have resultsets - this limits the usefulness of the
module
- Instead, it is known that statements without resultsets return then
OperationalError exception with text "Statement not executed or
executed statement has no resultset". We will utilize these facts to
accept these statements
- The implementation also assumes that users will always use best-
practices for the script syntax; that is, "GO" will always be
capitalized but this is not strictly required -- update to allow "GO"
to be any mixed-case
Signed-off-by: Lesley Kimmel <lesley.j.kimmel@gmail.com>
* feat: Add changelog fragment for change
- Add changelog fragment for PR 6192
Signed-off-by: Lesley Kimmel <lesley.j.kimmel@gmail.com>
* feat: Improve batching
- Previous batching had shortcomings like making strict assumptions
about the format of the incoming script and did not handle Windows-
based scripts (e.g. \r characters). It also did not handle cases where
there were trailing or leading whitespace characters round the 'GO'
- Added a special case for removing the Byte Order Mark (BOM) character
that may come as part of a script when slurped from some hosts.
Signed-off-by: Lesley Kimmel <lesley.j.kimmel@gmail.com>
* feat: Use str.splitlines()
- Use of this method is cleaner
Signed-off-by: Lesley Kimmel <lesley.j.kimmel@gmail.com>
* Update changelogs/fragments/6192-allow-empty-resultsets.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: Update transcribing errors
- Replace local namespace with project namespace
- Remove 'return' statement from the module.fail_json call
Signed-off-by: Lesley Kimmel <lesley.j.kimmel@gmail.com>
---------
Signed-off-by: Lesley Kimmel <lesley.j.kimmel@gmail.com>
Co-authored-by: Lesley Kimmel <lesleyk@vmware.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
This fix ensures that in case of a project quota, the corresponding project gets initialized, if required.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <c.fiehe@eurodata.de>
* gconftool2: fix change output
* add changelog frag
* gconftool2: improve visibility on the output
* fix obtaining updated value after `set`
* use issue URL in the changelog fragment
* fix further issues
* fix return value docs + changelog frag
* Update plugins/modules/gconftool2.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix return value doc
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Using ``withbdeps: false`` was causing the underlying emerge command to
fail due to not passing an argument to the ``--with-bdeps`` flag. Fix
by updating the logic for generating the emerge command arguments to
ensure that ``withbdeps: false`` results in a passing an ``n`` argument
with the ``--with-bdeps`` emerge flag.
* office_365_connector_card: Remove references to dev.outlook.com
Remove references to the deprecated dev.outlook.com and update them to the relevant learn.microsoft.com links.
Closed#6262
* Fix PEP 8 line length issue
* Apply suggestions from PR review
* Update plugins/modules/office_365_connector_card.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add keycloak_authz_authorization scope module
This module allows managing Keycloak client authorization scopes. The client has
to have authorization enable for this to work.
* botmeta: make mattock maintainer of keycloak_authz_authorization_scope
* botmeta: add mattock to team_keycloak
* keycloak_authz_authorization_scope: documentation and code layout fixes
* keycloak_authz_authorization_scope: do not fail on names with whitespace
* keycloak_authz_authorization_scope: use url quote method
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_authz_authorization_scope: style fixes to documentation
* keycloak_authz_authorization_scope: do not claim check/diff mode support
* keycloak_authz_authorization_scope: fix documentation
* keycloak_authz_authorization_scope: support check_mode and diff_mode
* keycloak_authz_authorization_scope: use more common terminology
Most keycloak modules use before_<object_type> and desired_<object_type> to
designate current and desired states of objects. Do the same for authorization
scopes.
* keycloak_authz_authorization_scope: fixes to check_mode and docs
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* udm_dns_record: minor refactor
* remove unused import
* improve ptr_record zone validation
* add changelog frag
* undo zone validation change as it breaks for IPv6 addresses
* keycloak: Improve API error message
* keycloak: Fix API error message
They key 'provider' is undefined.
* keycloak: Allow the creation of 'form-flow' authentication sub flows
To create something like keycloak's built-in registration flow,
we need to create a subflow with the type 'form-flow'.
* Add changelog fragment 6318
* Update changelogs/fragments/6318-add-form-flow.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_authentication: Don't compare subFlowType
It is only useful for creation.
* Update changelogs/fragments/6318-add-form-flow.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx and pipx_info: Document that modules require pipx 0.16.2.1 or above
Since their introduction, these modules rely on 'pipx list --json' to
return machine-readable output about installed pipx applications. That
functionality was introduced in 0.16.2, along with a critical bug fix
(invalid json) in 0.16.2.1.
* pipx: fix state=latest with install_deps=true
"pipx upgrade" stopped supporting the "--include-deps" option
("install_deps" in the ansible module) in pipx 0.15
(https://pypa.github.io/pipx/changelog/#01500).
The lack of support causes the pipx module to fail if attempting to use
state=latest with install_deps, since the parameter is passed to both
pipx install (fine) and pipx upgrade (fails).
* Add changelog fragment
* Initial implementation for new modules btrfs_subvolume and btrfs_info
* Improve/flesh out documentation. Add ability to target filesystem by uuid, label or device. Update tests to test targeting filesystem by each supported parameter and when only mountpoint.
* Updates for btrfs modules. Add missing copyright notices. Switch options to contains in return documentation. Update btrfs_subvolume to always use closest parent mount.
* Add maintainers for btrfs module(s) and remove unused class member cause lint failure.
* Add changelog fragment. Attempt to only run against the VMs as part of CI.
* Updates per code review. Remove changelog fragment. Switch use of map to list comprehension. Add trailing comma to last item in multi-line dicts. Clean up documentation with complete senstences for descriptions and correct/consistent use of macros.
* Improved error handling in btrfs_subvolume module: add custom exception type, favor exceptions over immediate call to fail_json and add single top level return for failure scenarios. Normalize name and snapshot_source parameters early in module execution and remove unecessary duplicate normalization throughout processing.
* Add azp/posix/3 to aliases per feedback
* Clean up automatic mounting. Prevent automount when check_mode=True. Immediately fail if a mount is identified as required and automount=True. Identify the minimal subset of subvolumes that need to be mounted instead of just finding a single common root.
* Skip btrfs_subvolume integration tests if btrfs-progs isn't successfully installed.
* Bump version_added for btrfs modules to 6.6.0. Ensure consistent trailing punctuation for module descriptions and document check_mode behavior as attribute description rather than a module level note.
* Remove unused imports from btrfs_subvolume module.
* Fix import.
* Docs improvements.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* icinga2_host: make use of templates, append vars instead of replacing all vars array.
* Initialize `template` variable. Add changelog fragment.
* Update changelogs/fragments/6286-icinga2_host-template-and-template-vars.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Redfish iDRAC: Added job_id to response for CreateBiosConfigJob
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* YAML fix to changelog fragment
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
---------
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Do extra docs validation. Explicitly disallow semantic markup in docs.
* Forgot to add new requirement.
* Fix prefixes.
* Remove superfluous condition.
* TEMP - make CI fail.
* Revert "TEMP - make CI fail."
This reverts commit 14f4d6b503.
* Remove unnecessary import.
* Make sure ANSIBLE_COLLECTIONS_PATH is set.
* Make sure sanity tests from older Ansible versions don't complain.
* dig: Support multiple domains in a single lookup (#6334)
The docs for this plugin indicated that multiple domains could be
specified at once, but the code did not support multiple domains.
* Address review feedback.
* one_vm: fix syntax error when creating VMs with a more complex template
with more complex templates that make use of quoted strings the new
"render" method fails to produce a template that is accepted by
OpenNebula. ==> escape double quotes in strings to make OpenNebula
happy again.
I also tested whether newlines need to be escaped, looks like they are
fine as they are.
Fixes#6225
* module_utils/opennebula: skip empty values in render
* add nmcli macvlan type
* changelog
* improve docs
* macvlan params
* fix linter and improve module params
* improve_docs
* raise error if type macvlan and macvlan options not set
It turns out that the 'environments' that the D-Bus Register*() APIs
accept are the IDs of the environments, and not the user-facing names of
the environments (which is what the module has been accepting so far).
Since there is no easy way to do the mapping manually, for now use again
the subscription-manager CLI for registering when environments are
specified.
* remote state file exists check
In the official CLI implementation of Terraform, if the state file does not exist, a new one will be created, and there is no need to check that the state file already exists and with an error if file not exists.
```bash
# Test command
terraform apply -state test.tfstate. # if state file not exists ,terraform will create a new one
terraform destroy -state test1.tfstate ### Terraform will not throw any error, the command will succeed execute, only report no resource has destroy
```
* Update terraform.py
add 1 blank line to function end
* Create 6296-LanceNero-Terraform_statefile_check
remove file exists check (https://github.com/ansible-collections/community.general/pull/6296)
* resolve if case issue
* Add blank line
* Update 6296-LanceNero-Terraform_statefile_check
* Update changelogs/fragments/6296-LanceNero-Terraform_statefile_check
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* update code style
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update suffix to correct CI issue
* Update Code Style
* Update bug-fix to feature release
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* dconf: Correctly handle setting a key that has no value in DB
We need to check if the value in the database is None before we try to
parse it, because the GVariant parser won't accept None as an input
value. By definition if the value is None, i.e., there's no value in
the database, than any value the user is trying to set is a change, so
just indicate that it's a change without trying to compare the None to
whatever the user specified as the value.x
* dconf: Give a more useful error when writing a key fails
if writing a key fails, then include in the error that is returned the
exact key and value aguments that were given to the dconf command, to
assist in diagnosing failures caused by providing the key or value in
the wrong format.x
* dconf: Convert boolean values into the format that dconf expects
Even though we warn users to be careful to specify GVariant strings
for values, a common error is to be trying to specify a boolean string
which ends up getting converted into a boolean by the YAML parser or
Ansible. Then it gets converted to "True" or "False", the string
representations of Python booleans, which are not valid GVariants.
Rather than just failing with an obscure error when this happens,
let's be more user-friendly and detect when the user has specified a
boolean and convert it into the correct GVariant forms, "true" or
"false", so it just works. There's no good reason to be more pedantic
than that.
* Add Puppet skip_tags option
* Include changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* archive: Generate crc32 over 16MiB chunks
Running crc32 over the whole content of the compressed file potentially
requires a lot of RAM. The crc32 function in zlib allows for calculating
the checksum in chunks. This changes the code to calculate the checksum
over 16 MiB chunks instead. 16 MiB is the value also used by
shutil.copyfileobj().
* Update changelogs/fragments/6199-archive-generate-checksum-in-chunks.yml
Change the type of change to bugfix
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/6199-archive-generate-checksum-in-chunks.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Factorize the current logic to determine whether use 'environments' as
D-Bus registration option (rather than 'environment') in an own
function, so it is easier to read it and maintain it.
With the small helper function in place, extend the logic to support
CentOS: it is in practice the same as the RHEL one, with an additional
check to support CentOS Stream 8 (which is a rolling release, and not
versioned).
- remove Barnaby, Adrian, and Kevil from redhat_subscription, as they
are no more working on subscription-manager
- create a new team_rhsm group to maintain redhat_subscription,
rhsm_release, and rhsm_repository (all the modules related to
subscription-manager)
- add myself and cnsnyder to team_rhsm
When registering using D-Bus and using a version of subscription-manager
with an unimplemented 'force' option, then unregister manually the
system only if it is registered. 'subscription-manager unregister'
errors out when trying to unregister an already unregistered system.
* pipx: Document parameters supported with state=latest
* pipx: Support "include_injected" with states "upgrade" and "latest"
- Contrary to documentation, "include_injected" doesn't appear to have
worked with state=upgrade since it was introduced.
- Add support for include_injected with "latest", since "latest" is
specified as being install+upgrade.
* Add changelog fragment
* Update plugins/modules/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx: Update to correct target release of community.general
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add module to manipulate KDE config files using kwriteconfig
* Fix license issues
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add smeso as kdeconfig.py maintainer
* Fix attributes fragment name
* Fix test
* Do not use shutil.chown
It isn't available on old Python versions
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added call method to select proper response from xo server
* Added changelog fragment
* Removed excess blank lines
* Moved period in changelog fragment
* Made suggested changes
* Remove f-strings for Python 2.7 compatibility
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Linus Kirkwood <lkirkwood@allette.com.au>
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: fixed idempotency issue with 'may_fail4' when 'method' is 'disabled'
* added note to documentation
* updated changelog fragment
* Update changelog fragment.
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* add runner_fast_rate option
* unset default value for runner_fast_rate parameter
* add some commas
* Remove default in copy of argspec.
Co-authored-by: Sam Potekhin <eax24@ya.ru>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Sam Potekhin <eax24@ya.ru>
* pipx: Allow injected modules to add apps
Add support for pipx inject's "--include-apps" parameter.
* add changelog fragment
* fix pipx test ("install_apps", not "include_apps")
* fix pipx test -- add a second invocation for install_apps
* Update changelogs/fragments/6198-pipx-inject-install-apps.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat(ssh_config): proxyjump option
* feat(ssh_config: add proxyjump test
* CamelCase ProxyJump
* add changelog fragment
* Update plugins/modules/ssh_config.py
add version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
* update task name to include new proxyjump option
* adding tests for proxyjump option
* fixing assert variable name
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
We simply add a param to allow proxmox administrator to restore VM from
an archives. This new option will be useful to automate automatic
creation and restore of VM.
Co-authored-by: Julian Vanden Broeck <julian.vandenbroeck@dalibo.com>
* clean performs apt-get clean.
* dist_upgrade performs apt-get dist-upgrade.
* update_kernel performs update-kernel to upgrade kernel packages.
* update_cache, clean, dist_upgrade and update_kernel can be used with and without specified packages.
The module currently has a static 'required_if' statement for its
parameters that forces any of 'username' or 'activationkey' or 'token'
in case state=present; while this is generally a good idea, it can be
an extra requirements in some cases. In particular, if the system is
already registered, there is no need for credentials -- some of the
operations of the module, such as manipulating pools, can be done
perfectly without credentials.
Hence:
- change the static 'required_if' to require credentials only when
forcing the registration
- check for credentials manually when a registration is needed, i.e.
on an unregistered system; the fail message is the same as the one
shown by 'required_if'
Adapt the tests to this new situation:
- test_without_required_parameters now needs to mock an unregistered
system
- add a new version of test_without_required_parameters to test an
already registered system
- add a simple test case for only state=present usable on an already
registered system
- remove the credentials from a test case for pool attachment that
mocks an already registered system
subscription-manager on RHEL installs a symlink in /usr/bin to
console-helper (part of usermode), which triggers an interactive prompt
for root credentials when run as user. It seems that console-helper
does not handle well non-interactive contexts (e.g. without a TTY for
input), and thus it will hang waiting for input when run as user in an
Ansible task.
Since subscription-manager requires root already anyway (and it will
fail when explicitly run as user), then apply the same logic locally on
all the modules that interact with it: redhat_subscription,
rhsm_release, and rhsm_repository.
* Replace deprecated error with BadZipFile
* Use imported BadZipFile
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add news fragment
* Update new fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix influxdb_user grants in check mode
When running in check mode, `influxdb_user` will return error when the user doesn't exist yet, instead of reporting `changed` state.
* Update changelogs/fragments/6111-influxdb_user-check-mode.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding support for `-p` option to specify port(s) to scan
* Adding changelog fragment file
* Corrected appending options
* Edit to doc section
* Correction in documentation type
* Fixed `:` use in doc breaking yaml
* Update changelogs/fragments/6165-nmap-port.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/nmap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/nmap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding usage example
* Adding comment to example that was missed
* Breaking line up, was too long for sanity test 160 char limit
* Still too long since spaces are counted
* Changed type to string to work for a single entry as well as comma separated values
* Update changelogs/fragments/6165-nmap-port.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/nmap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* openbsd_pkg: set TERM to 'dumb' in execute_command
Keeps pkg_add happy when someone running ansible is using a TERM that
the managed OpenBSD host does not know about.
Fixes#5738.
Selection of specific TERM from discussion at
https://marc.info/?l=openbsd-tech&m=167290482630534&w=2
* Add changelog fragment for openbsd_pkg TERM fix
* Update changelogs/fragments/6149-openbsd_pkg-term.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updating yarn.list to not fail when when warnings are emitted
* Adding changelog fragment
* Adding _process_yarn_error function
* - Adding back changes to the changelog fragment
- Fixing formatting
* Fix trailing whitespace
* Update plugins/modules/yarn.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
subscription-manager currently does not have a way to get credentials
(username, password, activation keys, organization ID) in a secure way:
the existing command line parameters can be easily spotted when running
a process listing while 'subscription-manager register' runs.
There is a D-Bus service, which is used by e.g. cockpit and Anaconda to
interface with RHSM (at least for registration and common queries).
Try to perform the registration using D-Bus, in a way very similar to
the work done in convert2rhel [1] (with my help):
- try to do a simple signal test to check whether the system bus works;
inspired by the login in the dconf module
- pass most of the options as registration options; for the few that are
not part of the registration, execute 'subscription-manager' manually
- add quirks for differently working (or not) registration options for
the D-Bus Register*() methods depending on the version of RHEL
- 'subscription-manager register' is used only in case the signal test
is not working; silent fallback in case of D-Bus errors during the
registration is not done on purpose to avoid silent fallback to a less
secure registration
[1] https://github.com/oamg/convert2rhel/pull/540/
It may happen operator wants to get the built command instead of all the
parameters. This change injects a new entry in the dict output, showing
what command way actually launched.
This patch also takes the opportunity to add missing dots to some
documentation lines.
This change reorder the parameters so that we get the mandatory one at
the top, then alphabetically order the other bellow.
It also adds the returned values.
dconf: parse GVariant values to check for equality whenever possible
Direct string comparisons are an inaccurate way to compare two
GVariant representations. For example, 'foo' and "foo" (including the
quote marks, which are part of the representation) are equal GVariants
but if you just do a string compare (remember, including the quotes)
they'll be interpreted.
We therefore want to use the `gi.repository` Python library to parse
GVariant representations before comparing them whenever possible.
However, we don't want to assume that this library will always be
available or require it for Ansible to function, so we use a straight
string comparison as a fallback when the library isn't available. This
may result in some false positives, i.e., Ansible thinking a value is
changing when it actually isn't, but will not result in incorrect
values being written into `dconf`.
Co-authored-by: Jonathan Kamens <jik@jik5.kamens.us>
The fix ensures that no 'KeyError' is raised, when 'access_level' is not provided as module parameter or when 'access_level_on_creation' is false.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <c.fiehe@eurodata.de>
This fixes the following warning on FreeBSD:
[WARNING]: The "jail" connection plugin has an improperly configured
remote target value, forcing "inventory_hostname" templated value
instead of the string
* add persistent option for modprobe
* add suggested changes + fix broken test
* change modprobe module path in tests due to rebase
* change persistent option type from bool to str with choices
* fix unused import
* add example with persistent option
* fix some minor issues after review
- move regexps compiling to __init__
- move AnsibleModule to build_module function and use this function in tests instead of AnsibleModule
- fix terminlogy issue in documentation
* fix unused-import
* Add new project features to API
* add changelog fragment
* remove extra line from changelog
* Update changelog formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* sefcontext: add path substitution support (#1193)
First commit for feedback, missing docs and tests.
* sefcontext: add documentation
* Add changelog fragment
* Documentation formatting
* Delete extra newline
* pep8 fixes
Fix indentation
* Add version_added to arg docs
* Add examples
* Don't delete non-matching path substitutions
* Add integration tests
* Delete only substitutions if such arg passed
Don't delete existing regular file context mappings if deletion of
a path substitution was requested with the presence of the
`equal` arg - delete only path substitutions in such case.
Path substitutions and regular mappings may overlap.
* Can only add args in minor releases
:(
* Cleanup before tests
* Fix deletion using substitution
Was comparing wrong var.
* Fix test checking wrong var
* Improve args documentation and examples
List the default values for selevel, seuser.
Add example for deleting path substitutions only.
* Add attributes documentation block
Not sure if should add become/delegate/async,
shouldn't those work just like that without any
specific code added for them?
* and fix indentation on attribute block
* Consistent indentation for attributes
Confusing, most plugins indent with 4 spaces.
But some use 2 like the rest of the code, so use 2.
* Add missing ref for attribute block
* Use correct c.g version in doc block
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add full stop to changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Streamline documentation
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Support limiting deletion to setype
Deleting file context mappings may be limited by
passing setype or equal, if neither arg is passed
then delete either setype/equal mappings that match.
* Change arg name, diff mode output fix
Change arg name from equal to substitute.
Print target = subsitute in diff mode same way as
semanage does.
Also put back platform attribute, try to improve
clumsy language in the substitute arg docs.
* Delete even if arg setype not match existing
Test 5 indicates that deletion is supposed to not check that
the arg setype passed when deleting matches the setype
of the mapping to delete.
Delete any mapping that matches target, regardless of
setype arg value.
* Update arg name in tests
* Too eager replacing
Accidentally replaced seobject function names so fix them back
* 4564: Fix invalid setype in doc example
Change from httpd_git_rw_content_t which
does not exist to httpd_sys_rw_content_t
Fixes#4564
* Fix documentation attributes
Additional fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update version_added in docs
Bumping minor to 6.4.0 since it didn't make 6.3.0.
* Add more description to the new arg docs
Try to improve discoverability of the new feature and make it easier to understand without deep SELinux understanding.
* Update platform to Linux in documentation
* Add equal as alias for the new argument
Improve discoverability of the new feature by adding an alias to the new module argument. The argument name "equal" will be easy to find for users who are not familiar with SELinux and who just try to match to the CLI tool `semanage`.
* And add alias argument properly
Previous commit missed actually adding the alias (added to docs only).
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* cloudflare_dns: Fix setting SRV records with a root level entry
* cloudflare_dns: Remove the part which deletes the zone from the SRV record name
The cloudflare API accepts the record name + zone name to be sent. Removing that, will guarantee the module to be idempotent even though that line was added ~7 years ago for that specific reason: 7477fe5141
It seems the most logical explanition is that Cloudflare changed their API response somewhere over the last 7 years.
* cloudflare_dns: Update the changelog fragment
* stop passing loader/dataloader since it has been deprecated by ansible
Signed-off-by: Martin Schurz <Martin.Schurz@t-systems.com>
* add changelog fragment
Signed-off-by: Martin Schurz <Martin.Schurz@t-systems.com>
* explicitly pass None to keep compatibility to older Ansible versions
Signed-off-by: Martin Schurz <Martin.Schurz@t-systems.com>
* use try/except to keep things compatible
Signed-off-by: Martin Schurz <Martin.Schurz@t-systems.com>
* Update plugins/lookup/cartesian.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/flattened.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/flattened.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/cartesian.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/6074-loader_in_listify.yml.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Signed-off-by: Martin Schurz <Martin.Schurz@t-systems.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat(module/keycloak_group): add support for ...
... handling subgroups
* added changelog fragment and fixing sanity ...
... test issues
* more sanity fixes
* fix missing version and review issues
* added missing licence header
* fix docu
* fix line beeing too long
* replaced suboptimal string type prefixing ...
... with better subdict based approach
* fix sanity issues
* more sanity fixing
* fixed more review issues
* fix argument list too long
* why is it failing? something wrong with the docu?
* is it this line then?
* undid group attribute removing, it does not ...
... belong into this PR
* fix version_added for parents parameter
---------
Co-authored-by: Mirko Wilhelmi <Mirko.Wilhelmi@sma.de>
* github_webhook: Don't include secret in the config if it's absent
* Add changelogs
* Fix indentation
* Apply suggestion to simplify the check
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: dima1206 <32818228+dima1206@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
When setting allow permissions for particular users or groups
there will be circumstances when that user is not known to the
host system.
In that case the output of `zfs allow <pool/dataset>`
looks similar to this:
$ sudo zfs allow tank/test
---- Permissions on tank/test ---------------------------------------
Local+Descendent permissions:
user (unknown: 1002) hold
user zfsuser receive
The fix in this commit removes ' (unknown: '+')' from the output
leaving only the uid/gid.
This allows the current parser to continue even if the uid/gid
is not known.
This situation occurs most often when moving a zpool from one system
to another that may not have the same users/groups. Simply adding
permissions to a user/group and then deleting the user/group
from the system will cause this situation to occur.
* nmcli: Treat order as significant when comparing address lists
Don't sort the old and new values for ipv4.addresses and
ipv6.addresses before comparing them, because order matters in these
parameters: the first address specified is the default source address
for outbound connections.
* Changelog fragment for #6048
* Update changelogs/fragments/6048-nmcli-addres-order.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update osx_defaults documentation examples
* Include stderr in errors from osx_defaults
* Add Changelog Fragment
* Update changelogs/fragments/6011-osx-defaults-errors.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change format of examples
* Update plugins/modules/osx_defaults.py
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat(modules/keycloak_user_federation): mapper ...
... provider type should have a default value
* add changelog fragment
---------
Co-authored-by: Mirko Wilhelmi <Mirko.Wilhelmi@sma.de>
* fix(zypper): Added condition to check for transactional-update binary to support microos
closes#5615
* style(changelog): Made zypper-change uppercase
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(zypper): Removed check for /var/lib/misc/transactional-update.state
* feat(zypper): Aligned transactional-update checks with zypper's
* refactor(zypper): Removed dependency to psutil and made use of parsing /proc/mount
* refactor(zypper): Removed need for regex, plus small refactoring
---------
Co-authored-by: André Dörscheln <ad@itesign.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: Convert current value of wifi.wake-on-wlan before comparing
The new value of wifi.wake-on-wlan is specified as an integer, but in
the nmcli output it's specified as a hex string followed by a textual
description of it. Therefore, to determine properly whether it's being
changed we need to pull the hex string out of the current value,
convert it into an integer, and finally convert the integer back to a
string so that we can compare it to the new specified value. Without
this change, whenever wifi.wake-on-wlan is specified in the module
arguments the module will think the value is being changed even when
it isn't.
* nmcli: Handle wifi options correctly when connection type not specified
When an nmcli task does not specify the connection type and the module
ask nmcli for it, the module needs to convert nmcli's
`802-11-wireless` to `wifi`, the term for this connection type used by
the module.
* nmcli: Correctly detect values changed to the integer 0
If the user specifies a value of 0 (without quotes) in a task, we
should interpret that as an actual value, not empty, when comparing
the new value to the old one. Otherwise we incorrectly conclude that
there was no change.
* Changelog fragment for #5431
* Add plugin parser functionality to JC Filter Plugin
The parse function was added in jc v1.18.0 which allows plugin parsers to be used. This change will try the new API if available, else fallback to the old API so there is no change in behavior.
* remove whitespace from blank line
* Add changelog fragment for JC plugin parser support
* add .yml extension to file name
* Formatting
* add period at end
* Add attributes to more modules.
* Adjust indentation.
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
---------
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
* Add attributes to more modules.
* Apply suggestions from code review.
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
---------
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
* Set the user-agent for API requests to DNSimple
* Update user agent format
* Add changelog fragment
* Update changelogs/fragments/5927-set-user-agent-dnsimple.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* Yarn module: fix state=latest not working with global=true
* fix whitespace
* add changelog fragment
* add integration test cases
* add only tests for this PR (install+upgrade)
* fix assuming default global dir
* fix list() not working when global=true and name a package with no binary
* remove ignores
* whitespace
* Update changelogs/fragments/5829-fix-yarn-global.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/5829-fix-yarn-global.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>
* Suppress urllib3 InsecureRequestWarnings when validate_certs option is false
Suppress urllib3 InsecureRequestWarnings when `validate_certs` option is false.
It's clear that the user would know the possible risk when he or she chose to turn off the option, so the warning message could be ignored and make the output clean.
* Create 5915-suppress-urllib3-insecure-request-warnings.yml
* Update changelogs/fragments/5915-suppress-urllib3-insecure-request-warnings.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove extra whitespaces
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
* replace missing default favicon with docs.ansible.com
* create changelog fragment for PR 5928
* move changelog fragment
* fix parameter description
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix parameter description
Co-authored-by: Felix Fontein <felix@fontein.de>
* add affected modules in changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Lars Krahl <lkr@mms-dresden.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Redfish: Removed basic auth header when performing a GET on the service root and POST to the session collection
* Update changelogs/fragments/5886-redfish-correct-basic-auth-usage-on-session-creation.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
This fix introduces the new boolean option 'access_level_on_creation'. It controls, whether the value of 'access_level' is used for runner registration or not. The option 'access_level' has been ignored on registration so far and was only used on updates. The user is informed by a deprecation warning, if the option is unspecified. For reasons of compatibility 'false' is assumed in that case. The option 'access_level_on_creation' will switch to 'true' for the next major release (community.general 7.0.0)
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <c.fiehe@eurodata.de>
* opennebula: Add template manipulation helpers
* one_vm: Use 'updateconf' API call to modify running VMs
* one_vm: Emulate 'updateconf' API call for newly created VMs
* opennebula/one_vm: Satisfy linter checks
* opennebula/one_vm: Apply suggestions from code review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* opennebula/one_vm: Drop 'extend' function, use 'dict_merge' instead
* Add changelog fragment
* one_vm: Refactor 'parse_updateconf' function
* opennebula/one_vm: Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* one_vm: Allow for using updateconf in all scenarios
---------
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add support to Bitwarden Lookup for filtering results by collection id (#5849)
* Debug
* Add support to Bitwarden Lookup for filtering results by collection id (#5849)
* Update comments
* Fix blank line issue
* Fix unit tests for bitwarden lookup plugin. Add changelog fragment file.
* Change collectionId to collection_id parameter on bitwarden plugin
* Fix collection id parameter name when used in bw cli
* Update gitlab_deploy_key.py
Change key title on key update
* Create 5888-update-key-title
Add changelog fragment for key title change
* Update changelogs/fragments/5888-update-key-title
Co-authored-by: Felix Fontein <felix@fontein.de>
* Rename 5888-update-key-title to 5888-update-key-title.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Clarify Error message when vault not unlocked
You can be logged into the Bitwarden-CLI, but it can still be locked. This took me several hours to debug, since every time I ran 'bw login' it told me, that I am already logged in.
If you run 'bw unlock' without being logged in, you are prompted to log in.
This clarifies the Error occurring and can drastically reduce debugging time, since you don't have to look into the source code to get an understanding of whats wrong.
* RM: negation
Nobody needs negation
* Update function name
* FIX: tests
* ADD: changelog
* Update changelogs/fragments/5811-clarify-bitwarden-error.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(modules/keycloak_user_federation): fixes ...
... user federation creation failing when also updating/changing default
mappers at the same time
* add changelog fragment for pr
Co-authored-by: Mirko Wilhelmi <Mirko.Wilhelmi@sma.de>
* fix(modules/keycloak_user_federation): fixes ...
... federation read call not finding already existing federations
properly because of bad parametrisation
* fix(modules/keycloak_user_federation): added ...
... new integration test for module idempotency bugfix
* added changelog fragment for pr
Co-authored-by: Mirko Wilhelmi <Mirko.Wilhelmi@sma.de>
* Remote management modules for OCAPI-based devices.
Open Composable API (OCAPI) is a REST-based API designed for data center composability. For more information, see https://www.opencompute.org/documents/open-composable-api-for-ocp-2019-06-24-pdf
This PR introduces ocapi_command and ocapi_info modules. These are based on the existing redfish_command and redfish_info modules and follow similar patterns. This initial implementation includes support for the folowing operations:
- Indicator LED toggling
- Power state toggling
- Enclosure reset (reboot)
- Firmware upload
- Firmware update
- Firmware activate
- Job deletion
- Job status
These modules have been tested against Western Digital OpenFlex(tm) Data24 storage enclosures. API reference is at https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/platforms/openflex/reference-architecture-open-composable-api.pdf
* Fix licensing issue for ocapi_utils.py
* PR Feedback
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/ocapi_utils.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/ocapi_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* PR Feedback
Use six module for urlparse
* Apply suggestions from code review
Documentation fixes.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix sanity test line too long error.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make function private that should be removed (ref: #5497).
* Maybe it works as a comment?
* Try something else.
* Ok, let's just add a comment.
* Last try: docstring instead of comment.
* pipx: add testcase w/ env vars PIPX_xxxx
* add note to the docs about env vars
* add note to the docs about env vars
* Apply suggestions from code review
* Update plugins/modules/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/pipx_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* break long lines into smaller ones
Co-authored-by: Felix Fontein <felix@fontein.de>
The SOA record for an existing zone is returned as an answer RR and not
as an authority RR. It can be returned as an authority RR for subdomains
of a zone.
$ dig -t SOA example.com
;; ANSWER SECTION:
example.com. 3530 IN SOA ns.icann.org. noc.dns.icann.org. 2022091184 7200 3600 1209600 3600
$ dig -t SOA www.example.com
;; AUTHORITY SECTION:
example.com. 3600 IN SOA ns.icann.org. noc.dns.icann.org. 2022091184 7200 3600 1209600 3600
* Add parameter warn_mpm_module to control when warning are raised
* Remoe whitespace
* Add changelog fragment
* Add missing license
* Update changelogs/fragments/5793-apache2-module-npm-warnings.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/apache2_module.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/apache2_module.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/apache2_module/tasks/635-apache2-misleading-warning.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Refining integration test - previous was invalid
* False to false
* refactor assertion for suse
* Revert "refactor assertion for suse"
This reverts commit 61b86e7493.
* Excluding test on Suse
Co-authored-by: Felix Fontein <felix@fontein.de>
* opkg: extend documentation: opkg also works on Yocto
... based linux distributions
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
* opkg: extend documentation: PACKAGE=VERSION only works on Yocto
... based linux distributions
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
* snap_alias: using CmdRunner
* add changelog fragment
* fix changelog fragment
* invert order of initialization in __init_module__()
* comment extra changed=True from code
* add extra info when verbose
* add extra info when verbose - fix blank line
* handle check_mode the old way
* fix logical test
* fix error when using multiple aliases
* fix error when using multiple aliases, part 2
* revert to using check_mode_skip=True again
* Update CI matrix.
* Disable RHEL 9.1 for tests where RHEL 9.0 was disabled as well.
* Skip iso_extract on FreeBSD 12.4.
* Fix cloud_init_data_facts test for Fedora 37.
* Do not try to install snap on RHEL 9.1.
* Skip pkgng jail tests on FreeBSD 12.4 as well.
* Update gem.py
move 'cmd.append('--executable')' to all uninstalls rather than only all versions
* Create 5751-gem-fix-uninstall-hang
* Rename 5751-gem-fix-uninstall-hang to 5751-gem-fix-uninstall-hang.yml
* Add Support to Bitwarden Lookup for Custom Fields
This adds support to the Bitwarden lookup for retrieving values from
custom fields, such as api keys.
* Need to Return Whole Record if Field is Not Defined
* whitespace
* Add Changelog Fragment
* Need to Make Sure All Login Fields are Represented
We need to make sure that all login fields are accounted for, since
there will be no other way to retrieve them with this change, and we
don't want to break backwards compatibility. Looking at this code from
the official client,
https://github.com/bitwarden/clients/blob/master/libs/common/spec/models/domain/login.spec.ts,
autofillOnPageLoad might be another login field.
* Update changelogs/fragments/5694-add-custom-fields-to-bitwarden.yml
Clarify changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/bitwarden.py
Fix logic. Should only error if matches were found, but are missing the custom field.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* htpasswd: improve documentation on crypt_scheme
* htpasswd: formatting in documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* htpasswd: formatting in documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Provide project field for LXD inventory plugin
if field `project` exists in `lxd.yml`, the instances are searched in the
given LXD project. if project field is not defined the default project
named `default` will be used.
Signed-off-by: omani <3346207+omani@users.noreply.github.com>
* Update plugins/inventory/lxd.py
Signed-off-by: omani <3346207+omani@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* opkg: allow installing a package in a certain version
example:
- name: Install foo in version 1.2
community.general.opkg:
name: foo=1.2
state: present
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
* opkg: use list for passing arguments to run_command
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
* ansible_galaxy_install: use locale C tentatively, else en_US
* use custom exception to signal unsupported locale
* add step to remove artefacts at the end of the test
* add step to remove artefacts at the beginning of the test
* comment out context controller
* trying with temporary dir as destination
* remove collection before test with reqs file
* ensure collections are installed in temp dir in tests + check_force
* simplified the change
* added extra condition for failing locale
* improved exception handling
* add changelog fragment
* Remove superfluous VM.
* Add extra VM group.
* More platforms, add scripts.
* [REVERT THIS] Shrink matrix to only the tests we are interested in.
* Fix some tests.
* Skip snap tests on Ubuntu VMs for now.
* Skip xfs_quota tests on Alpine VMs due to ansible.posix.mount failing.
* Revert "[REVERT THIS] Shrink matrix to only the tests we are interested in."
This reverts commit 2e98e163db.
* Stick to Alpine and Ubuntu 22.04 for now.
* Add support to restrict privileges by host
* Missing comma
* Making linter happy.
* Add version 6.2.0 as when sudoers host parameter added
Co-authored-by: Felix Fontein <felix@fontein.de>
* Changelog fragment for PR #5703
* Test for sudoers host-based restriction
Co-authored-by: Felix Fontein <felix@fontein.de>
* opkg: fix issue that force=reinstall would not reinstall an existing package
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
* changelog fragment
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
* Fixed github_release docs: only module-specific returned key is "tag"
* Update plugins/modules/github_release.py - added a dot
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
lxc_container fails when executing the lxc command (e.g. when creating
a new container) because PR#5358 broke the module argument
parsing. The resulting argument dict contained only the module argument name
and the argument flag but not the value. E.g.
```
- lxc_container:
template: debian
```
would result in lxc command arguments `lxc template --template` instead of
`lxc --template debian`.
Fixes: 6f88426cf1 ("lxc_container: minor refactor (#5358)")
Fixes#5578
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* draft
* add changelog fragment
* rework
* rework group variables
* add new line at end of file
* Update plugins/module_utils/gitlab.py
Co-authored-by: Nejc Habjan <hab.nejc@gmail.com>
* rename
* revert
* return a copy
* Update plugins/modules/gitlab_project_variable.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Nejc Habjan <hab.nejc@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Add the `server_proxy_scheme` parameter to configure the scheme used for
the proxy server. This completes the configuration parameters for the
proxy server.
* Keycloak: Fix client rolemapping removal
Keycloak's delete_group_rolemapping API wrapper didn't pass data about
the roles to remove to keycloak, resulting in removal of all roles.
Follow the intended behaviour and delete only the roles listed in the
module invocation.
Signed-off-by: Florian Achleitner <flo@fopen.at>
* Keycloak: Fix client_rolemapping diff
The module's diff output wrongly showed the changed roles list as
'after' state. This is obviously wrong for role removal and also
wrong for role addition, if there are other roles assigned.
Use the result of the API query for 'end_state' for 'diff' as well.
Signed-off-by: Florian Achleitner <flo@fopen.at>
* Keycloak: Calculate client_rolemapping proposed state properly
Signed-off-by: Florian Achleitner <flo@fopen.at>
* Add changelog fragment
Signed-off-by: Florian Achleitner <flo@fopen.at>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix for python2 unit test
Signed-off-by: Florian Achleitner <flo@fopen.at>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updated tags delimiter
Starting from Proxmox 7.3 tags are delimited by semicolon. For backward compatibility it needs to be splitted by both commas and semicolons.
* Added missing space
* Add changelog fragment.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Enhance `copr` integration tests
- Switch to a new test Copr repository. @copr/integration_tests was
removed which caused the tests to fail. I created a new one under my
account that I'll ensure stays around.
- Add basic testing to ensure that repo files are created in the correct
location and contain the correct baseurl and enabled status.
- Also run tests on Enterprise Linux.
- Test that packages from the Copr install. This has to be disabled on
EOL Fedoras that Copr does not allow building new packages for.
Resolves: https://github.com/ansible-collections/community.general/issues/5595
* copr tests: Fix ansible_python_interpreter on c8s
* copr: Don't test on alt Pythons on cs8
* Revert "copr tests: Fix ansible_python_interpreter on c8s"
This reverts commit 58e15a7ebf.
* fix typo disable_looups in inventory/proxmox
- resolve issue with lookups in proxmox inventory config
* add changelog fragment
* Update changelogs/fragments/5640-fix-typo-proxmox-inventory.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add regex to match all channel ids
* Add changelog fragment
* Allow matching of channel ids with 9-11 characters
* Fix file name
* Update changelogs/fragments/5629-add-channel-prefix-regex.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove channel auto prepend #
* Update changelog fragment
* Add prepend_hash option
* Add version_added to prepend_hash doc string
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add description of possible values for the prepend_hash option
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove old channel assign statement
* Update changelogs/fragments/5629-add-prepend-hash-option-for-channel-id.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelog fragment tag
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* vdo: Use yaml.safe_load() instead of yaml.load()
yaml.load() without specifying a Loader= is deprecated and unsafe.
For details, see
https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation
* Update changelogs/fragments/5632-vdo-Use-yaml-safe-load-instead-of-yaml-load.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Lee Garrett <lgarrett@rocketjump.eu>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix for vmadm get_vm_uuid out of range
* Fix for vmadm get_vm_uuid out of range
* Update changelogs/fragments/5628-fix-vmadm-off-by-one.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Fixes#3486. From the man-pages of subscription-manager, none of the
parameters used are tied to the activationkey except the two that remain
in its else-clause.
Note that type is not mentioned in the man-pages on 7.6 (at least), but
is still present and available.
Co-authored-by: Thor K. H <thor@roht.no>
Stop passing all the "rhsm_", and "server_" module arguments to
"Rhsm.register()", and thus as arguments for
"subscription-manager register":
- right before calling "Rhsm.register()", "Rhsm.configure()" is called
to configure subscription-manager with all the "rhsm_", and "server_"
arguments; hence, they are already configured
- the passed argument to "--serverurl" is partially wrong:
"Rhsm.register()" passes only the hostname, whereas the other bits
(port and prefix) are supported too; this "works" because port and
prefix were already configured previously, and the lax parsing that
subscription-manager does allows for missing bits
- the parsing done by subscription-manager for "--baseurl" strips out
the URL scheme and always uses https: this means that specifying
"rhsm_baseurl: http://server" as module parameter will be taken as
"https://server" by subscription-manager; since "rhsm_baseurl" is
already configured by "Rhsm.configure()", this issue is gone
* unixy Callback: Use Ansible's config manager
In ansible-core 2.14 deprecated support was removed[1] for accessing options
of the DefaultCallback via class attributes. Use the "new" config system
instead.
[1]: dbdbfe845aFixes#5600.
Signed-off-by: Fabian P. Schmidt <kerel@mailbox.org>
* Update changelog fragment.
Signed-off-by: Fabian P. Schmidt <kerel@mailbox.org>
Co-authored-by: Felix Fontein <felix@fontein.de>
* java_certs : Not enough info on error
Just bumped into an issue when the message was "Internal module failure, cannot extract public certificate from pkcs12, error: "
Seems that the issue #2560 doesn't cover all cases. To make debugging easier, I propose to add error output on json return instead of only expose standard output.
* java_certs - add missing fragment message
* Word-smithing.
Co-authored-by: Felix Fontein <felix@fontein.de>
The hmtl anchor linked now points to the parent section
("Creating changelog fragments").
Previously new contributors were linked to the subsection
"Creating a changelog fragment", just to be immediately be guided
by the second paragraph to jump to the previous section.
Signed-off-by: Fabian P. Schmidt <kerel@mailbox.org>
Signed-off-by: Fabian P. Schmidt <kerel@mailbox.org>
Do not mention an explicit version of Satellite for an environment to
use; future versions of Satellite will support that, and older versions
are long EOL.
Also mention Katello next to Red Hat Satellite.
* Redfish: Expanded SimpleUpdate command to allow for users to monitor the progress of an update and perform follow-up operations
* Update changelogs/fragments/3910-redfish-add-operation-apply-time-to-simple-update.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/4276-redfish-command-updates-for-full-simple-update-workflow.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updated based on feedback and CI results
* Update plugins/modules/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/redfish_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* cmd_runner module utils: fix case for as_fixed() format
* add changelog fragment
* simplified test_cmd_runner
* fix handling empty default for `as_map()`
* add changelog fragment
* MissingArgumentValue is reraised in run()
* Fix the logical flaw when deleting a build in the jenkins_build module.
* Fix the logical flaw when deleting a Jenkins build in the jenkins_build module.
* Adding changelogs.
* Update tests/unit/plugins/modules/test_jenkins_build.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Attempt to mock the exception classes.
* Remedy the CI issues when mocking the exception classes.
* Assuming a way to mock the get_build_status function.
* Near to the feasible approach.
* Calls the correct class when unit testing.
* Fix sending wrong arguments when unit testing.
* Directly assign the argument value in the unit testing.
* Fix errors calling different classes.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix for 'NoneType' object has no attribute 'split'
* Added changelog to fix
* Update changelogs/fragments/5489-nonetype-in-get-vm-by-label.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix line ending in changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* Clarification to use underscores instead of dashes in parser name
* Update plugins/filter/jc.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* [Scaleway] Remove unused sensitive values filtering
Signed-off-by: Lunik <lunik@tiwabbit.fr>
* Try adding function back.
Maybe that works aound the bug in pylint. (Also it won't be a breaking change anymore.)
Signed-off-by: Lunik <lunik@tiwabbit.fr>
Co-authored-by: Felix Fontein <felix@fontein.de>
* mksysb: using CmdRunner
* add changelog fragment
* adjust code when check_mode true
* Update plugins/modules/mksysb.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Begin building out separate classes to support different op cli versions
Create separet base classes for each major version.
Define the main interface in the base class.
Create methods for getting the current version and instantiating the
appropriate class based on the found version.
* First pass at mostly working CLI version classes
* Correct mismathched parameters
* Update _run() method to allow updating enviroment
This allows passing in the app secret as an env var, which is more
secure than using a command line arg.
* Continuing to improve the interface
* Tear existing tests down to the studs
These tests were based off of the LastPass unit tests. I’m going to
just start from scratch given the new plugin code is vastly diffenent.
* Fix sanity test
* CLI config file path can be None
* Improve required param checking
- only report missing params
- use proper grammer based on number of missing params
* Change assert_logged_in() method return value
Return a boolean value indicating whether or not account is signed in
* Improve full login for v2
Have to do a bit of a dance to avoid hitting the interactive prompt
if there are no accounts configured.
* Remove unused methods
* Add some tests
* Fix linting errors
* Move fixtures to separate file
* Restructure mock test data and add more tests
* Add boilerplate
* Add test scenario for op v2 and increase coverage
* Fix up copyright statements
* Test v1 and v2 in all cases
* Use a more descriptive variable name
* Use docstrings rather than pass in abstract class
This adds coverage to abstract methods with the least amount of hackery.
* Increase test coverage for CLI classes
* Sort test parameters to avoid collection errors
* Update version tested in docs
* Revere test parameter sorting for now
The parameters need to be sorted to avoid the issue in older Python
versions in CI, but I’m having trouble working out how to do that
currently.
* Allow passing kwargs to the lookup module under test
* Favor label over id for v2 when looking for values
Add tests
* Display a warning for section on op v2 or greater
There is no “value” in section fields. If we wanted to support sections
in v2, we would also have to allow specifying the field name in
order to override “value”.
* Move test cases to their own file
Getting a bit unwieldy having it in the test file
* Move output into JSON files fore easier reuse
* Switch to using get_options()
* Add licenses for fixture files
* Use get_option() since get_options() was added in Ansible Core 2.12
* Rearrange fixtures
* Add changelog
* Move common classes to module_utils
* Move common classes back to lookup
The plugin relies on AnsibleLookupError() quite a bit which is not available
in module code.
Remove use of display for errors since section isn’t actually deprecated.
* Properly handle sections
Still room for improvement, but this is at least a start.
* Remove some comments that won’t be addressed
* Make test gathering more deterministic to avoid failures
* Update changelog fragment
* Simple fix for making tests reliable
* Allow for DN's to have {x} prefix on first RDN
* Update changelogs/fragments/5450-allow-for-xordered-dns.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Assign attrs to throw-away var
* Update plugins/module_utils/ldap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Escape DN before creating filter
Co-authored-by: Felix Fontein <felix@fontein.de>
* Clearer error logging in passwordstore lookup
* Add changelog fragment for passwordstore errmsgs
Co-authored-by: Sylvia van Os <sylvia@hackerchick.me>
* Redfish: centralize payload checking when performing modification requests to a Redfish service
* CI fixes
* Updates based on unit testing
* CI fix
* Modified vendor-specific logic to establish common pattern for workarounds
* Start using Ansible's config manager to handle options.
* Docs improvements.
* Fix documentation, make options actual lookup options.
* The cyberarkpassword lookup does too strange things.
* The onepassword lookups are converted in #4728, let's not interfere.
* Improve docs.
* Skip shelvefile as well.
* Convert lmdb_kv.
* Convert and fix credstash.
* Convert manifold.
* Drop chef_databag.
* Convert dig.
* Update examples.
* Forgot the most important part.
* Fix lmdb_kv docs.
* Python 2.6 compatibility.
* Convert AnsibleUnicode to str.
* Load lookup with lookup loader.
* Fix environment handling and error message checking.
* Improve docs formatting.
* remove redundant and simplify code
we already have a templar from base class
loop reuses code instead of X copies of it
* whitey
* no need to import templar again
* Add changelog fragment.
Co-authored-by: Felix Fontein <felix@fontein.de>
* remove redundant
templar is already in base class
env var is already consulted in via config resolution
* more whites
* no need to import templar again
* Add changelog fragment.
* Try to update tests.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Bump version to 6.0.0.
* sender option is now required.
* Default of want_proxmox_nodes_ansible_host changed from true to false.
* username is now an alias of user, and no longer of workspace.
* Remove deprecated return values in favor of end_state.
* Remove debug option.
* Change default of ignore_volatile_options from true to false.
* gitlab_group must now always contain the full path.
* Change default of norc from false to ture.
* Remove deprecated property.
* Add PR URL.
* Adjust bitbucket unit tests.
* Adjust module_helper integration test.
* search_s based _is_value_present
* Fix formatted string and ldap import
* Add changelog fragment
* Remove superfluous import ldap
* Improve fragment
* Code format {x} prefix
* Lower-case fixes
* Fix suggestions to changelog
* Break with the past and let bools be bools
* Let ldap_attrs break on invalid DN's
* deprecate venv creation when missing
* add changelog fragment
* fix sanity checks
* Update changelogs/fragments/5404-django-manage-venv-deprecation.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/django_manage.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/django_manage.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* minor change to help future removal of feature
Co-authored-by: Felix Fontein <felix@fontein.de>
* manageiq_tags: refactor ManageIQTags class out to utils
* add manageiq_tags_info module
* refactor query_resource_id as a method in ManageIQ
* minor adjustments
* fix comments from PR
* rollback register result in examples
* add basic docs for return value
* Adds transport_mode configuration for Infiniband devices
Adds transport_mode configuration for Infiniband based ipoib devices,
which is one of:
- datagram (default)
- connected
* Remove trailing whitespace
* Add changelog fragment
* Update changelogs/fragments/5361-nmcli-add-infiniband-transport-mode.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove default for transport_mode
* Add test for changing Infiniband transport_mode
* remove blank line at end of file
Co-authored-by: Thomas Gebert <thomas.gebert@atos.net>
Co-authored-by: Felix Fontein <felix@fontein.de>
* deprecate old commands
* add changelog fragment
* fix django version in docs
* fix wording on the deprecations
* Update changelogs/fragments/5400-django-manage-deprecations.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* update chglog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* virtualbox: Fix nested data parsing
- Skip parsing values with keys that have both a value and nested data.
- Skip parsing values that are nested more than two keys deep.
* Update changelogs/fragments/5348-fix-vbox-deeply-nested-hostvars.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* consul: pythonisms + a couple of required_if clauses
* adjust condition of if
* adjust condition of if (again)
* Update plugins/modules/clustering/consul/consul.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* simplify parse_check logic
* fix condition of if
* remove test made redundant by required_if
* add changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* [opentelemetry][callback] support opentelemetry-api 1.13
* [opentelemetry][callback] changelog fragment
* Update changelogs/fragments/5342-opentelemetry_bug_fix_opentelemetry-api-1.13.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* [opentelemetry-callback] refactor time_ns in a function
* fix linting
* change branch outside of the function
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* [opentelemetry]: remove options from suggestion
* Apply suggestions from code review
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>
* portage: drop dependency on gentoolkit (provides equery)
Portage installs a Python module, which is available anywhere that
Portage itself is available. We can use that instead of calling a
shell command.
Signed-off-by: John Helmert III <ajak@gentoo.org>
* portage: add knob for emerge's --backtrack flag
Signed-off-by: John Helmert III <ajak@gentoo.org>
* portage: add knob for portage's --with-bdeps option
Also, this option does not accept "True" like other options. Instead,
it only uses 'y' and 'n', so parse booleans properly into these chars.
Signed-off-by: John Helmert III <ajak@gentoo.org>
* Add changelog entry for #5349
Signed-off-by: John Helmert III <ajak@gentoo.org>
Signed-off-by: John Helmert III <ajak@gentoo.org>
* updated to use the new newrelic v2 api
* check that application_id is set
* indenting issue
* added back app_name
* fix import ordering
* resolving various spellings & wordings
* fixed wordings
* validate_certs
* fixed unreachable code
* add ansible module iso_customize.py
* rerun CI testing due to "Failed to send request to https://api.github.com/repos/ansible/ansible/issues/23642: HTTP Error 403: rate limit exceeded"
* Rerun CI testing due to "Failed to send request to https://api.github....."
* rerun CI testing due to failure "Unknown error when attempting to call Galaxy at 'https://galaxy.ansible.com/api/v2/collections/netbox/netbox/versions/3.1.0/': The read operation timed out"
* change document part as felixfontein's careful review
* modify test file as russoz's comments
* modify comment part of module
* add comment for the example
* add more tests: check the files are deleted / added in customized ISO
* fix it: failed to run ansible.posix.mount in ubuntu
* fix it: ansible.posix.mount is not working well in some OS.
* change DOCUMENTATION part
* change files according to the comment from code review
* fix issue: E231: missing whitespace after ':'
* modify the description of Document
* modify code for code review
* delete extra blank line in yml file
* Try to fix CI testing issue: "Caught \"'foo' is undefined. 'foo' is undefined\" while evaluating 'b' with item == {'a': 1}"
* delete extra blank line in the end of file
* change code as the comment from code review
* change code from code review
* change type: str to type: path
* change type:str to type:path
* delete unused variable
* fix CI testing error: return-syntax-error: RETURN.dest_iso.type: not a valid value for dictionary value @ data['dest_iso']['type']. Got 'path'
* add testcase: test add files / delete files separately
* add more testcases: test if we can catch exception from error input of users
* change code from code review
* fix issue: E231: missing whitespace after ','
* change code from code review
* add notes to document
* modify notes in document part
* /rebuild_failed
/rebuild_failed
* Try to support running testcases not only in MAC but also in other OS.
* modify document
* change mount to ansible.posix.mount
* skip the test platform which report "Error mounting"
* fix mount failed: Operation not permitted
* change code from code review
* change document from code review
* fix CI testing issue in some platforms
* Update plugins/modules/files/iso_customize.py
* change code from code review
1) change testcase
2) try to fix "mount: not permitted"
* modify aliases file
* change document and rerun CI testing
* add skip/docker as suggested
* add debug task
* fix issue in redhat 7.9: occurred while running the lookup plugin 'file'. ..could not locate file in lookup..
* change code from the code review
* modify function "iso_rr_check_file_exist" to "iso_check_file_exists" to make it works in all types of ISO
1. modify function "iso_rr_check_file_exist" to "iso_check_file_exists" to make it works in all types of ISO
2. run main.yml with newer python 3.10.6
ansible [core 2.13.4]
config file = None
configured module search path = ['/Users/zouy/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/Cellar/ansible/6.4.0/libexec/lib/python3.10/site-packages/ansible
ansible collection location = /Users/zouy/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.10.6 (main, Aug 30 2022, 05:12:36) [Clang 13.1.6 (clang-1316.0.21.2.5)]
jinja version = 3.1.2
libyaml = True
* delete blank
* simply the code as suggested.
* Two small docs updates.
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* opentelemetry: logs property
* opentelemetry: support for span events with the Task dump output
* opentelemetry: support property to disable the logs
* bump the version when supported
* add section ini
* test: fix change of signature
* [opentelemetry][callback] changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Experimental change from OpenIndiana
* resolve pfexec problem, by removing superfluous quotes
* reimplement "wrap_exe"
* remove spaces arround keyword argument assignment
* adapted pfexec unit test
* Try to fix quoting of test expression
* Fix quoting of test expression by replacing ' with "
* Add changelog fragment
* Add explanation and example to vendor option
##### SUMMARY
<!— Your description here –>
##### ISSUE TYPE
- Docs Pull Request
+label: docsite_pr
* Update plugins/modules/identity/keycloak/keycloak_user_federation.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding capability to specify complex variables type to terraform
* Terrform variable types are mapped to ansible veriable types
* Currently handles Dict, List, Str, Int, Bool types
* Updated the documentation accordingly
* Updated with an example.
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Wonder how that missed the PEP8 checks :).
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding the changelog fragment
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding ``integer_types`` from ``module_utils``
Simplified the ``integer_types``, ``str`` and ``float`` value population through ``json.dumps()``. Now the strings can have special characters which can break the module execution.
* Update changelogs/fragments/4797-terraform-complex-variables.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* * Changed to approach to make the code more readble and simple to understand.
* Maintaining the original for loop for the top_level variables. Therefore the rocess_conplex_args() now only handle second level variables when the type() is either Dict or List.
* Json dumps are used only for the low level variables. Terraform CLI had issues interpreting escape sequecences from json.dumps()
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* adding boolean explicitly, although boolean is a subclass of integer, adding this for self documentation pupose and the clarity of the code.
* fixing the doc strings
* Update terraform.py
Fixing docstrings
* * Introducing format_args funtion to simplify formatting each argument type for top_level and lower level.
* Terraform Lists of strings, numbers, objects and lists are supported.
* Adding COMMAND: to the fail_json msg, for plan failures to help troubleshoot command line arguments.
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* * Adding full terraform command to fail_json() when the terrafor plan fails
* Fixing a spelling mistake.
* plan_command if a list, stringifying the list
* * Fixing the new line for the change fragments
* Removed CR (\r) from the output messages. Now output lines carry only LF (\n), not CRLF (\r\n).
* Added integration testing for complex variables.
* Restructured integration testing code to be more expandable.
* Update changelogs/fragments/4797-terraform-complex-variables.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* double-quotes are not properly escaped in shell, and python string
escaping are nullified the way terraform handle second tier string
variables (within terraform).
* changing all the task actions to FQCN format.
* integration testing now includes:
1. Top level strings containing, special shell characters, spaces,
double-quotes.
2. Second level strings containing, special shell characters, spaces,
double-quotes repeating double-quotes to ensure proper regex
substitution.
* Adding colon ':' to string test casses.
* Added complex_vars to switch between the old and the new variable
interpretations.
Updated the documentations to reflect the changes.
Updated the examples.
Handling '\' as well with the escape sequence.
* Added tests for the new escape sequences.
Added multilines tests.
* Restructuring the documente strings to a shorter string.
Argument_spec changed to 'bool'
* Update changelogs/fragments/4797-terraform-complex-variables.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.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>
This fix ensures the idempotency of the redhat_subscription module when pool_ids are used. The main problem was, that a 'None' quantity was not properly handled and that the quantity check compared a string with an integer.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
Co-authored-by: Christoph Fiehe <c.fiehe@eurodata.de>
* bitwarden: Add field to search for all item attributes, instead of only name.
* bitwarden: Add change to changelog.
* bitwarden: Update changelog entry.
* Update changelogs/fragments/5297-bitwarden-add-search-field.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>
Co-authored-by: Ole Pannbacker <opannbacker@cronon.net>
Co-authored-by: Felix Fontein <felix@fontein.de>
* chore: Update lxc_container to support py3
This change is mostly just a documentation change which will report the requirements
correctly for python3-lxc. I've also removed the use of six which results in us
changing `xrange` to `range`.
Resolves: https://github.com/ansible-collections/community.general/issues/5294
Signed-off-by: Kevin Carter <kevin.carter@figment.io>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update changelogs/fragments/5280-lxc_container-py3.yaml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Update changelogs/fragments/5280-lxc_container-py3.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update 5280-lxc_container-py3.yaml
* Update 5280-lxc_container-py3.yaml
Signed-off-by: Kevin Carter <kevin.carter@figment.io>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* terraform: run `init` with no-color, too
When running `terraform init` fails, it would output ansi color sequences, making the output hard to read.
Maybe setting TF_IN_AUTOMATION would also be beneficial: https://www.terraform.io/cli/config/environment-variables#tf_in_automation
* add changelog fragment for `terraform init -no-color`
* move changelog into correct directory; add PR link
* module_utils.proxmox: new `api_task_ok` helper + integrated with existing modules
* proxmox_snap: add `unbind` param to snapshot containers with mountpoints
* [fix] errors reported by 'test sanity pep8'
at
https://github.com/ansible-collections/community.general/pull/5274#issuecomment-1242932079
* module_utils.proxmox.api_task_ok: small improvement
* proxmox_snap.unbind: version_added, formatting errors, changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_snap.unbind: update version_added tag
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add SetSessionService to redfish_config
adding SetSessionService command to redfish_config
to set BMC default session timeout policy.
Fixes#5008
* fix white space issues
* Making Requested changes:
- changed category from SessionService to Sessions
- changed set_sessionservice() to set_session_service()
- other misc. changes for cleanup
* Apply suggestions from code review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Fix issues with checks
* Fix issues with checks part 2
* Fix issues with checks part 3
* Update plugins/modules/remote_management/redfish/redfish_config.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>
* add a couple conditionals to make sure updating can be done with vmid only
* add changelog to PR
* replace conditional with any
* any takes list
* fix next conditional
* Update changelogs/fragments/5206-proxmox-conditional-vmid.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* capitalize VM and remove conditional for name requirement upon creation
* Fix URL destroyed by GitHub.
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Yvan E. Watchman <git@yvanwatchman.eu>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* homebrew: add Linux brew path to defaults
* changelogs: add 5241 fragment
* homebrew_tap: add Linux brew path to defaults
* changelogs: update 5241 entry
* homebrew_tap: format path separator in desc
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* WDC Redfish support for setting the power mode.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add change fragment.
* Add extension to changelog fragment.
Co-authored-by: Felix Fontein <felix@fontein.de>
* The EnvironmentError is now handled in the splid_pid_name function.
The error also had a wrong indentation. See previous setup with correct setup: 6a7811f696/plugins/modules/system/listen_ports_facts.py
* Add changelog fragment
* Sanity Check failed before
* Update changelogs/fragments/5202-bugfix-environmentError-wrong-indentation.yaml
Co-authored-by: Paul-Kehnel <paul.kehnel@ocean.ibm.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: avoid changed status for most cases with VPN connections
Follow-up https://github.com/ansible-collections/community.general/pull/4746
* `nmcli connection show` includes vpn.service-type but not vpn-type.
Switching to vpn.service-type removes unneeded diffs while keeping
the same functionality, as vpn-type is an alias of vpn.service-type
per nm-settings-nmcli(1).
NetworkManager also adds `org.freedesktop.NetworkManager.` prefix for
known VPN types [1]. The logic is non-trivial so I didn't implement it
in this commit. If a user specifies `service-type: l2tp`, changed will
be always be True:
- "vpn.service-type": "org.freedesktop.NetworkManager.l2tp"
+ "vpn.service-type": "l2tp"
* The vpn.data field from `nmcli connection show` is sorted by keys and
there are spaces around equal signs. I added codes for parsing such
data.
Tests are also updated to match outputs of nmcli commands.
[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/1.38.4/src/libnm-core-impl/nm-vpn-plugin-info.c#L619
* Add changelog
* Some suggested changes
* Make space stripping more flexible - works for cases without equal
signs.
* Keep vpn.data in a test case with no spaces
* nmcli: allow any string for vpn service-type
Using `local: true` users can enforce to work only with local policy
modifications. i.e.
# Without `local`, no new modification is added when port already exists
$ sudo ansible -m seport -a 'ports=22 state=present setype=ssh_port_t proto=tcp' localhost
localhost | SUCCESS => {
"changed": false,
"ports": [
"22"
],
"proto": "tcp",
"setype": "ssh_port_t",
"state": "present"
}
$ sudo semanage port -l -C
# With `local`, a port is always added/changed in local modification list
$ sudo ansible -m seport -a 'ports=22 state=present setype=ssh_port_t proto=tcp local=true' localhost
localhost | CHANGED => {
"changed": true,
"ports": [
"22"
],
"proto": "tcp",
"setype": "ssh_port_t",
"state": "present"
}
$ sudo semanage port -l -C
SELinux Port Type Proto Port Number
ssh_port_t tcp 22
# With `local`, seport removes the port only from local modifications
$ sudo ansible -m seport -a 'ports=22 state=absent setype=ssh_port_t proto=tcp local=true' localhost
localhost | CHANGED => {
"changed": true,
"ports": [
"22"
],
"proto": "tcp",
"setype": "ssh_port_t",
"state": "absent"
}
$ sudo semanage port -l -C
# Even though the port is still defined in system policy, the module
# result is success as there's no port local modification
$ sudo ansible -m seport -a 'ports=22 state=absent setype=ssh_port_t proto=tcp local=true' localhost
localhost | SUCCESS => {
"changed": false,
"ports": [
"22"
],
"proto": "tcp",
"setype": "ssh_port_t",
"state": "absent"
}
# But it fails without `local` as it tries to remove port defined in
# system policy
$ sudo ansible -m seport -a 'ports=22 state=absent setype=ssh_port_t proto=tcp' localhost
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ValueError: Port tcp/22 is defined in policy, cannot be deleted
localhost | FAILED! => {
"changed": false,
"msg": "ValueError: Port tcp/22 is defined in policy, cannot be deleted\n"
}
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
* Update redfish module for compatibility with VirtualMedia resource location from Manager to Systems
* Add changelogs fragments for PR 5124
* Update some issue according to the suggestions
* update changelogs fragment to list new features in the minor_changes catagory
Co-authored-by: Tami YY3 Pan <panyy3@lenovo.com>
* Adjust booleans in system modules.
* Fix some IP addresses
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
* feat: Add crc32 filter
Compute CRC32 checksum of a string and return its hex representation. Can be
use to create short checksums.
Signed-off-by: Julien Riou <julien@riou.xyz>
* Update license lines
* Improve string check of a crc32 value
Signed-off-by: Julien Riou <julien@riou.xyz>
Signed-off-by: Julien Riou <julien@riou.xyz>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix nsupdate when updating NS record
* Changelog fragment
* Update changelogs/fragments/5112-fix-nsupdate-ns-entry.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Switch to fallback to AUTHORITY instead of using with NS type.
* Update plugins/modules/net_tools/nsupdate.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nsupdate.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: jonathan lung <lungj@heresjono.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx: add state latest
* add changelog fragment
* Update plugins/modules/packaging/language/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add sanity test (currently fails).
* doc_fragments can also be non-GPLv3+.
* Replace 'Author:' by 'Copyright:' in some specific cases.
* Avoid matching string for license checkers.
* Reformulate not to throw license detection off.
* Add PSF copyright notice for plugins/module_utils/_mount.py.
* Add generic copyright notices.
* Update changelog fragment.
* WDC Redfish support for chassis indicator LED toggling.
* Added changelog fragment.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Move licenses to LICENSES/, run add-license.py, add LICENSES/MIT.txt.
* Replace 'Copyright:' with 'Copyright'
sed -i 's|Copyright:\(.*\)|Copyright\1|' $(rg -l 'Copyright:')
Co-authored-by: Maxwell G <gotmax@e.email>
* xfconf: add command output to results
* add changelog fragment
* add docs for return value cmd
* Update plugins/modules/system/xfconf.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix: Add user agent header to allow request through CDN/WAF with bot protection
* upate doc-fragment
* move http_agent variable assignment
* set http_agent param for all Keycloak API Requests
* Update plugins/doc_fragments/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/5023-http-agent-param-keycloak.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix formatting
* Update plugins/doc_fragments/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Slack: Add support for (some) groups
Some of the older private channels in the workspace I'm working in have channel ID's starting with `G0` and `GF` and this resulted to false positive `channel_not_found` errors.
I've added these prefixes to the list to maintain as much backwards compatibility as possible.
Ideally the auto-prefix of the channel name with `#` is dropped entirely, given the Channel ID's have become more dominant in the Slack API over the past years.
* Add changelog fragment for slack channel prefix fix
* Update changelogs/fragments/5019-slack-support-more-groups.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* passwordstore: Add some real go tests
This is work in progress.
* passwordstore: Fix gopass init
* Init gopass store in explicit path in integration test
* passwordstore: Show versions of tools in integration test
* passwordstore: Install gopass from different location on Debian
Part of integration tests
* passwordstore: Add changelog fragment for #5030
* passwordstore: Address review feedback
* Initial Rework of netstat and ss to include additional information.
State, foreign address, process.
* Fixed sanity tests. Python 2 compatible code. pylint errors resolved.
* Sanity tests. ss_parse fix minor error I created before.
* Rename variable for clarity
* Python2 rsplit takes no keyword argument. -> remove keyword argument
* Generic improvments for split_pid_name. Added changelog
* Sanity Test (no type hints for python2.7)
* add include_non_listening param. Add param to test. Add documentation. Only return state and foreign_address when include_non_listening
* Update changelogs/fragments/4953-listen-ports-facts-extend-output.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add info to changelog fragment. Clarify documentation.
* The case where we have multiple entries in pids for udp eg: users:(("rpcbind",pid=733,fd=5),("systemd",pid=1,fd=30)) is not in the tests. So roll back to previous approach where this is covered. Fix wrong if condition for include_non_listening.
* Rewrite documentation and formatting.
* Last small documentation adjustments.
* Update parameters to match description.
* added test cases to check if include_non_listening is set to no by default. And test if ports and foreign_address exists if set to yes
* undo rename from address to local_address -> breaking change
* Replace choice with bool, as it is the correct fit here
* nestat distinguishes between tcp6 and tcp output should always be tcp
* Minor adjustments in the docs (no -> false, is set to yes -> true)
Co-authored-by: Paul-Kehnel <paul.kehnel@ocean.ibm.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Pacman: Add support for setting install reason
* Improved description
* Fix documentation
* Add changelog fragment
* Use source for installation
* Get all reasons at once
* Removed default for reason
* Added version info to documentation
* Fix NameError
* Moved determination of reason to _build_inventory
* Fix duplication and sanity errors
* adjust tests for changed inventory
* Documentation: remove empty default for reason
* mention packages with changed reason in exit params/info
* Added integration tests for reason and reason_for
Inspired by the integration tests for url packages
* Correct indentation
* Fix indentation
* Also sort changed packages in normal mode
* Also sort result in unit test
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix returnall for gopass
Gopass was always given the --password flag, despite there being no need for this.
* Add changelog fragment
Co-authored-by: Sylvia van Os <sylvia.van.os@politie.nl>
* gconftool2: deprecate state get
* added changelog fragment
* Update plugins/modules/system/gconftool2.py
* Update plugins/modules/system/gconftool2.py
* Fix typo
* Host url package
* Delete cached files
* Add cases for cached url package
* Rename file_pkg for clarification
* Change port to 8080, as 80 is already used in pipeline
* Added fragment
* Change port to 8000, as 8080 is already used in pipeline
* Fixed changelog fragment
* Change port to 53280, as 8000 is already used in pipeline
* Change port to 27617 (copied from get_url), as 53280 is already used in pipeline
* Also download the signature of url package
Co-authored-by: Jean Raby <jean@raby.sh>
* Fix duplication errors
Co-authored-by: Jean Raby <jean@raby.sh>
* Copied waiting from get_url; applyed output redirection from jraby
* Fix signature filename
* Use correct cache dir
* Add missing assertions for uninstall_1c
* Fix typo
* Delete changelog fragment
* Make python server true async with 90 sec timeout
Copied from ainsible.builtin.get_url
Co-authored-by: Jean Raby <jean@raby.sh>
* Expose unredirected_headers to module
In some cases, when the initial request returns a redirect and we want
to follow it to get the artifact, we might not want to include certain
headers in the redirection request. Specially headers like
Authorization and Cookies.
Or perhaps the redirect server returns a 400 because it included some
unexpected headers.
Fetch url already supports this feature, but it was being shadowed by
maven_artifact. In here we just expose it.
* Fix Linting errors
* Applied Comments
- Specified version added
- Changed description of unredirected_headers
* Check for ansible version
If it's 2.11 or older, we ignore unredirected_headers, otherwise we use
it, as fetch_url has them
* Applied comments
- Removed duplicated code in the call of fetch_url. Used kwargs instead
- Added check if unredirected_params is not empty and the fetch_url
function does not support it
- Changed function that checks for ansible version
- Removed unused import
* Remove 2.11 breaking change
Made default only for ansible-core version 2.12 and above, but for keep
it empty for ansible-core version 2.11 and below.
Also include the following changes:
- change doc to use C() on the function description
- changed doc to use ansible-core instead of Ansible
* Changes in description for readability
* Add changelog fragment
* Change description changelog fragment
* Fix keyring_info when using keyring library
This line used to always clobber the passphrase retrieved via the `keyring` library, making it useless on everything except gnome-keyring. After this change, it'll only use the alternate method if the default one didn't work.
* delete whitespace
* add changelog fragment
* Update changelogs/fragments/4964-fix-keyring-info.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Strip downloading... of unseen URLs
* Added changelog fragment
* Added integration tests for reason and reason_for
Inspired by the integration tests for url packages
* Revert "Added integration tests for reason and reason_for"
This reverts commit f60d92f0d7.
Accidentally commited to the wrong branch.
* add int parse handling
* Revert "add int parse handling"
This reverts commit db2aac4254.
* fix: vmid check if state is absent
* add changelogs fragments
* Update changelogs/fragments/4945-fix-get_vm-int-parse-handling.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix path detection for gopass
As per fc8c9a2286/docs/features.md (initializing-a-password-store), gopass defaults to ~/.local/share/gopass/stores/root for its password store root location.
However, the user can also override this, and this will be stored in the gopass config file (ed7451678c/docs/config.md (configuration-options)).
This patch ensures that the config setting in gopass is respected, falling back to the default gopass path. pass' behaviour remains unchanged.
* Formatting improvements
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add changelog fragment
* Formatting improvement
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>
* WDC Redfish Info / Command modules for Western Digital Ultrastar Data102 storage enclosures.
Initial commands include:
* FWActivate
* UpdateAndActivate
* SimpleUpdateStatus
* delete unnecessary __init__.py modules
* PR Feedback
Notes list not guaranteed to be sorted
Use EXAMPLES tos how specifying ioms/basuri
Import missing_required_lib
* Apply suggestions from code review
Suggestions that could be auto-committed.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove DNSCacheBypass
It is now the caller's responsibility to deal with stale IP addresses.
* Remove dnspython dependency.
Fix bug that this uncovered.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* PR Feedback
* Documentation, simple update status output format, unit tests.
Add docs showing how to use SimpleUpdateStatus
Change the format of SimpleUpateStatus format, put the results in a sub-object.
Fix unit tests whose asserts weren't actually running.
* PR Feedback
register: result on the 2nd example
* Final adjustments for merging for 5.4.0
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update proxmox.py
* Forgot a debug print.
* pep
* Check if int, old school way.
* pep, once again.
* Create 4910-fix-for-agent-enabled.yml
* Must check the first listentry for enabled=1
* Update changelogs/fragments/4910-fix-for-agent-enabled.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* added password prompt support for machinectl
* include review comments
This includes the review comments as well as changelog fragment. This also gives more information about the polkit rule.
* fix yaml doc with leftover bracket
* include review comments 2
* move regex compile to global scope
this is especially useful for the `enable_from_environment` option, as
this allows to set a default for the whole project, instead of relying
on everyone setting the environment variable
* Use syntax that works in both Python 2 and 3 when iterating through a
dict that's going to be mutated during iteration
* Fixes `dictionary changed size during iteration` error
* Fixes#4932
* fixes lxd connection plugin issue #4886
remote_addr value was set to literal string 'inventory_hostname' instead
of the value for inventory_hostname variable. solution found in PR
ansible/ansible#77894
* changelog fragment - bugfix - lxd connection plugin
* correct changelog fragment
* Update changelogs/fragments/4886-fix-lxd-inventory-hostname.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* replace _host instance variable with calls to get 'remote_addr' option
suggested by felixfontein
Co-authored-by: Felix Fontein <felix@fontein.de>
* Do not ignore tld option in DSV lookup plugin
* add changelog fragment
* Update changelogs/fragments/4911-dsv-honor-tld-option.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix GetChassisPower when multiple chassis are present
When multiple chassis are present, and one or more of those chassis do _not_
report power information, the GetChassisPower command will fail. To address
that, only report a failure if _all_ of the Chassis objects lack power
power reporting functionality.
Fixes#4901
* Update changelogs/fragments/4901-fix-redfish-chassispower.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add GetManagerInventory command to redfish_info
Adding GetManagerInventory command to redfish_info, similar to
GetSystemInventory to report Manager specific information like:
- FirmwareVersion
- Model
- ManagerType
Fixes#4899
* Update changelogs/fragments/4899-add-GetManagerInventory-for-redfish_info.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Use visudo to validate sudoers rules before use
* Replace use of subprocess.Popen with module.run_command
* Switch out apt for package
* Check file mode when verifying file to determine whether something needs to change
* Only install sudo package for debian and redhat environments (when testing)
* Attempt to install sudo on FreeBSD too
* Try just installing sudo for non-darwin machines
* Don't validate file ownership
* Attempt to install sudo on all platforms
* Revert "Attempt to install sudo on all platforms"
This reverts commit b9562a8916.
* Remove file permissions changes from this PR
* Add changelog fragment for 4794 sudoers validation
* Add option to control when sudoers validation is used
* Update changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add version_added to validation property
Co-authored-by: Felix Fontein <felix@fontein.de>
* Also validate failed sudoers validation error message
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make visudo not executable instead of trying to delete it
* Update edge case validation
* Write invalid sudoers file to alternative path to avoid breaking sudo
* Don't try to remove or otherwise modify visudo on Darwin
* Update plugins/modules/system/sudoers.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove trailing extra empty line to appease sanity checker
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add PSF-license.txt for plugins/module_utils/_mount.py.
* Move other licenses to licenses/.
* Revert "Move other licenses to licenses/."
This reverts commit eab4209889.
* passwordstore: Make compatible with shims, add backend config
This allows using the passwordstore plugin with scripts that wrap other
password managers. Also adds an explicit configuration (`backend` in
`ini` and `passwordstore_backend` in `vars`) to set the backend to `pass`
(the default) or `gopass`, which allows using gopass as the backend
without the need of a wrapper script. Please be aware that gopass
support is currently limited, but will work for basic operations.
Includes integrations tests.
Resolves#4766
* Apply suggestions from code review
* Add scw_compute_private_network
* fix argument required and BOTMETA
* little fix in commentary/doc
* test with link for ansible-doc check
* remove unwanted file
* fix entry missing in meta/runtime.yml
* scaleway_compute_private_network add some check in test and some fic in doc
* a=add missing del os.environ
* fix whitespace
* test_scaleway_compute_private_network : fix test
* test_scaleway_compute_private_network : fix pep8
* scaleway_compute_private_network
add . in description
* scaleway_compute_private_network: fix var name
* [scaleway_compute_private_network] add name for the example's task
* Update plugins/modules/cloud/scaleway/scaleway_compute_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_compute_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* cmd_runner: add __call__ method to invoke context
* change xfconf to use the callable form
* add changelog fragment
* Update changelogs/fragments/4791-cmd-runner-callable.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Only pass subcommands when they are specified as module arguments.
* When 'subcommands' is specified, 'link' must be given for every subcommand.
* Extend subcommand tests.
The 'unsubscribe' command of 'subscription-manager' was deprecated
already in subscription-manager 1.11.3, shipped with RHEL 5.11.
As it was removed in subscription-manager 1.29.x, unsubscribing from
pools was thus broken.
The simple fix is to call the proper command, 'remove'.
* alternatives: Fix bug with priority default
If neigther the priority nor the subcommands where specified the module decided to update the priority with the default value anyway. This resulted in bug #4803 and #4804
* Add changelog fragment.
* Distinguish None from 0.
* Address review comments.
* Update plugins/modules/system/alternatives.py
Co-authored-by: Pilou <pierre-louis@libregerbil.fr>
* Remove unrelated issues from changelog.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Pilou <pierre-louis@libregerbil.fr>
* Ensure sudoers config files are created with 0440 permissions to appease visudo validation
* Remove change not required by the bugfix
* Add changelog fragment for 4814 sudoers file permissions
* Update changelogs/fragments/4814-sudoers-file-permissions.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Have less oct casting
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added conditional to only collect qmpstatus on qemu VMs
* Processed feedback, added changelog
* Initial change to unit tests
* Made Sanity tests happy again
* Missed a function call, removed superfluous function
* Derp, no need to mock get_vm_status anymore
* Added detail checks whether hosts are mapped to the paused/prelaunch groups
* Fix sanity check
* Processed feedback
* Processed feedback - noqa
* add support to create L2TP and PPTP VPN connection
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* apply changes pointed on tests and review
- add changelog fragment
- change example code to use jinja2 in place of shell command
* removes trailing whitespace
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* removes linux command from examples
* remove unnecessary brakets
Co-authored-by: Felix Fontein <felix@fontein.de>
* remove unnecessary brakets
Co-authored-by: Felix Fontein <felix@fontein.de>
* simplify psk encoding on example
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* add unit tests
- test unchenged l2tp and pptp vpn connections
- test create l2tp and pptp vpn connections
- fix is_connection_changed to remove default ifname attribuition
* improve tests on vpn.data param
- fix _compare_conn_params to handle vpn.data as lists
* removes block and set_fact from example
Co-authored-by: Felix Fontein <felix@fontein.de>
* makes line shortter to better reading
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* xfconf: changed implementation to use cmd_runner
* added module_utils/xfconf.py
* xfconf_info: using cmd_runner
* added module_utils to BOTMETA.yml
* added changelog fragment
* use cmd_runner_fmt instead of deprecated form
* Add slaves parameter for module alternatives.
* alternatives: Improve documentation abous slaves parameter
* alternatives: Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* alternatives: Add schangelog for slaves parameter
* alernatives: Add integration tests
* alternatives: Improv tests
* alternatives: Update tests/integration/targets/alternatives/tasks/slaves.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* alternatives: Rework logic to support updating priority and subcommands
* alternatives: Use more inclusive naming
* alternatives: Fix linter warnings
* alternatives: Dont fail if link is absent
* alternatives: Update changelog fragment
* alternatives: Add tests for prio change and removing
* alternatives: Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* alternatives: Add `state=auto`to reset mode to auto
* alternatives: Fix linter warnings
* alternatives: Fix documentation.
* alternatives: Combine multiple messages.
* alternatives: Set command env for all commands.
* alternatives: Do not update subcommands if parameter is omited
* alternatives: Fix a bug with python 2.7 var scoping
* alternatives: Improce diff before generation
* alternatives: Fix linter warnings
* alternatives: Fix test names
* alternatives: Simplify subcommands handling and improve diffs
* aliases: Only test for subcommand changes if subcommands parameter is set.
* Update plugins/modules/system/alternatives.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* added new statuses for qemu
* added document fragment
* lint fixes
* replaced f strings with %
* move the qmpstatus for qemu to a dedicated group
* added documentation to explain the new addition
* update changelog fragment to reflect the change correctly
* update changelog fragment to reflect the change correctly
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* added a switch to get the qemu extended status
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* groups created when qemu_extended_statuses is true and added tests to make sure they are there
* added test to make sure the groups are not present when qemu_extended_statuses is false
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: use capital case "DNS" in documentation
In documentation sometimes DNS was written in (incorrect) lower
case "dns" and sometimes in (correct) capital case "DNS". Use the
right capital case spelling in all parameter descriptions.
* nmcli: documentation language
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: documentation language
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* redfish_command: documentation language and formatting
Update the documentation block with more English language
more consistent with other modules and finish each description
with a full stop.
* redfish_command: do not end short desc in full stop
* redfish_command: remove more "the" on documentation
Remove "The" from beginning of descriptions.
* redfish_command: start documentation description with capital case
* redfish_config: update documentation language and format
Add full stops at end of descriptions, small updates to language,
ensure descriptions start with a capital case letter.
* redfish_config: documentation consistency
Use "username" for description similarly to redfish_command.
* redfish_info: documentation formatting and language
Update documentation block for consistency with other modules
with full stop at end of descriptions and small language updates.
* idrac_redfish_command: documentation formatting and language
Update documentation block for consistency with other modules
with full stop at end of descriptions and small language updates.
* idrac_redfish_command: more doc consistency fixes
Call it iDRAC everywhere and not sometimes OOB controller.
* idrac_redfish_command: documentation formatting and language
Update documentation block for consistency with other modules
with full stop at end of descriptions and small language updates.
* idrac_redfish_info: documentation formatting and language
Update documentation block for consistency with other modules
with full stop at end of descriptions and small language updates.
* ilo_redfish_config: documentation formatting and language
Update documentation block for consistency with other modules
with full stop at end of descriptions and small language updates.
* ilo_redfish_info: documentation formatting and language
Update documentation block for consistency with other modules
with full stop at end of descriptions and small language updates.
* idrac_redfish_info: documentation language
Call it "HTTP request" and not "URL request".
* idrac_redfish_command: documentation language fix
Call it "HTTP request" and not "URL request".
* idrac_redfish_config: documentation language fix
Call it "HTTP request" and not "URL request".
* redfish_command: documentation language fix
Call it "HTTP request" and not "URL request".
* redfish_config: documentation language fix
Call it "HTTP request" and not "URL request".
* redfish_info: documentation language fix
Call it "HTTP request" and not "URL request".
* redfish_command: documentation language fix
Boot device should be two words.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove support for the DLV record as the registry was decomissioned
The DLV registry was decomissioned in 2017 (https://www.isc.org/blogs/dlv/) so it's high time we remove support for DLV records.
* Remove DLV deprecation.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Multiple modules using ModuleHelper
Replaced raising exception with calling method do_raise() in MH.
Removed the importing of the exception class.
* added changelog fragment
* Add RHEL 9.0 and FreeBSD 13.1 to CI.
* RHEL 9 has no pyOpenSSL apparently.
* Adjust URL for EPEL.
* Fix cargo install on FreeBSD 13.1.
* Add Ubuntu 22.04 and Fedora 36 to CI.
* Fix logic.
* filesystem: do not die output line does not contain ':'
* Skip django_manage tests on RHEL 9 as well.
* homectl tests don't work with RHEL 9.0.
* Improve error handling, improve fatresize output handling.
* Skip Fedora 36.
* Skip filesystem vfat tests on Ubuntu 22.04.
There, resizing fails with a bug:
Bug: Assertion (disk != NULL) at ../../libparted/disk.c:1620 in function ped_disk_get_partition_by_sector() failed.
* 'trusty' is 14.04. Adding 22.04 to skip list.
* Skip jail tests for FreeBSD 13.1.
* Add config for postgres on Ubuntu 22.04.
* Make CentOS 6 happy.
* Adjust postgres version.
* Try installing EPEL a bit differently.
* Skip ufw and iso_extract tests on RHEL 9.
* Skip odbc tests on RHEL 9.
* Skip RHEL 9.0 for snap tests.
* Add changelog fragment for filesystem code changes.
* Update lenovoxcc module for compatibility due to redfish spec changes the virtualMedia resource location from Managers to Systems
* Add changelogs fragment for PR 4682
* Update changelogs/fragments/4682-compatibility-virtualmedia-resource-location.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Tami YY3 Pan <panyy3@lenovo.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* gitlab_hook: use empty string for non-existent attr in gitlab API response;
* gitlab_hook: use None for non-existent attr in gitlab API response;
* gitlab_hook: use None for non-existent attr in gitlab API response - add changelog fragment;
* gitlab_hook: update changelog fragment for #4668
* Update changelogs/fragments/4668-gitlab_hook-use-None-for-non-existent-attr.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove unsupported and unnecessary --no-emoji option
`--no-emoji` causes errors in Yarn 2+ and should be unnecessary in Yarn 1.x; Yarn 1.x should only use emoji on supported interactive terminals.
* Add changelog fragment
* Update changelogs/fragments/4662-yarn-emoji.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/4662-yarn-emoji.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Set firstrun to avoid use before definition
At the moment if zypper updates itself the parse_zypper_xml function
calls itself with packages not None, but in check_mode zypper still
needs to update itself -> rc = 103 and firstrun is undefined
* Add changelog frament
* Update changelogs/fragments/4651-zypper-checkmode-fix.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Georg Vogt <georg.vogt@tngtech.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* ModuleHelper: added a do_raise() method to MH base class
* added changelog fragment
* Update changelogs/fragments/4660-mh-added-do-raise.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/mh/base.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* using do_raise in CmdMixin
* simplified do_raise()
Co-authored-by: Felix Fontein <felix@fontein.de>
* excludes .DS_Store files created by macOS
* properly generate .gitignore w/ toptal.com
* update previously defined jupyternotebook def to a valid one
* rax_files_objects: refactoring
- simplifications
- use of comprehensions
- better use of exceptions
- improvements on the documentation blob
- src and dest mutually exclusive in module definition
* added changelog fragment
* Update plugins/modules/cloud/rackspace/rax_files_objects.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* rollback of mutually_exclusive
Co-authored-by: Felix Fontein <felix@fontein.de>
* Get first found configuration file
There are three valid places to get the configuration.
https://developer.1password.com/docs/cli/about-biometric-unlock#remove-old-account-information
* Use common config class
* Add changelog fragment
* Explicitly use new style classes for Python 2.7 compatibility
This shouldn’t matter for lookups, but does matter for module_utils
and modules since Python 2.7 is still supported on the managed node.
* Update changelogs/fragments/4065-onepassword-config.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* ModuleHelper module util: delegates unknown attributes to AnsibleModule
* added changelog fragment
* delegate only a few selected attrs
* Update plugins/module_utils/mh/base.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/4600-mh-delegate.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* change list.copy() with list[:] for py2 compat in terraform module
* add changelog fragment
* Update changelogs/fragments/4621-terraform-py2-compat.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Inserted not supported in patch on some hardware
Signed-off-by: Adam Robinson <adarobin@umich.edu>
* return error for ilo4 options with no defaults
* Update changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* make virtual_media_insert_via_patch backwards compatible
Co-authored-by: Felix Fontein <felix@fontein.de>
* remove ilo 4 specific properties check
* return ExtendedInfo as a string if no Message
* only worry about Inserted and WriteProtected
* update changelog
* fix for PEP8
* fix up comments
* fix VirtualMediaEject for iLO4 as well
* update changlog
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add docs for ansible-core 2.13 use
local testing shows fine, adding here as example for other filters/tests
* Update plugins/filter/random_mac.py
* Improve docs.
* Remove wrong 'positional'.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add 'activate' parameter for alternatives
Allow alternatives to be installed without being set as the current
selection.
* add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* rename 'activate' -> 'selected'
* rework 'selected' parameter -> 'state'
* handle unsetting of currently selected alternative
* add integration tests for 'state' parameter
* fix linting issues
* fix for Python 2.7 compatibility
* Remove alternatives file.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Parse lxc key from api data for lxc containers
When configuring containers in the `/etc/pve/lxc/` file, the API
adds a 'lxc' key that caused the plugin to crash as it tried to
split a list on ','.
This commit introduces logic to convert the list of lists in the
returned data to a dict as with the other keys.
```
'lxc': [['lxc.apparmor.profile', 'unconfined'],
['lxc.cgroup.devices.allow', 'a']]
```
becomes
```
"proxmox_lxc": {
"apparmor.profile": "unconfined",
"cap.drop": "",
"cgroup.devices.allow": "a"
}
```
* Add changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Philippe Pepos Petitclerc <peposp@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* initial commit, passing unit tests
* passing one very silly integration test
* multiple changes:
- updated copyright year
- cmd_runner
- added fmt_optval
- created specific exceptions
- fixed bug in context class where values from module params were not
being used for resolving cmd arguments
- changed order of class declaration for readability purpose
- tests
- minor improvements in integration test code
- removed some extraneous code in msimple.yml
- minor improvements in unit tests
- added few missing cases to unit test
* multiple changes
cmd_runner.py
- renamed InvalidParameterName to MissingArgumentFormat
- improved exception parameters
- added repr and str to all exceptions
- added unpacking decorator for fmt functions
- CmdRunner
- improved parameter validation
- _CmdRunnerContext
- Context runs must now pass named arguments
- Simplified passing of additional arguments to module.run_command()
- Provided multiple context variables with info about the run
Integration tests
- rename msimple.py to cmd_echo.py for clarity
- added more test cases
* cmd_runner: env update can be passed to runner
* adding runner context info to output
* added comment on OrderedDict
* wrong variable
* refactored all fmt functions into static methods of a class
Imports should be simpler now, only one object fmt, with attr access to all callables
* added unit tests for CmdRunner
* fixed sanity checks
* fixed mock imports
* added more unit tests for CmdRunner
* terminology consistency
* multiple adjustments:
- remove extraneous imports
- renamed some variables
- added wrapper around arg formatters to handle individual arg ignore_none behaviour
* removed old code commented out in test
* multiple changes:
- ensure fmt functions return list of strings
- renamed fmt parameter from `option` to `args`
- renamed fmt.mapped to fmt.as_map
- simplified fmt.as_map
- added tests for fmt.as_fixed
* more improvements in formats
* fixed sanity
* args_order can be a string (to be split())
and improved integration test
* simplified integration test
* removed overkill str() on values - run_command does that for us
* as_list makes more sense than as_str in that context
* added changelog fragment
* Update plugins/module_utils/cmd_runner.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* adjusted __repr__ output for the exceptions
* added superclass object to classes
* added additional comment on the testcase sample/example
* suggestion from PR
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow restoring of snapshots
* Fix formatting
* Add documentation for new feature
* Revert unrelated reformatting
* Add documentation for snapshot change
* Remove redundant multiple call to status API
* Remove unneccesary indent
* Add documentation for timeout fix
* Update changelog fragment to reflect real changes
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelog fragment to reflect real changes
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add Tests for Snapshot rollback
* Update tests/unit/plugins/modules/cloud/misc/test_proxmox_snap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/4377-allow-proxmox-snapshot-restoring.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_snap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: Deprecate default hairpin mode
Deprecate the default hairpin mode for a bridge.
Plain nmcli/bridge tools defaults to no, but for some reason ansible
defaults to yes.
We deprecate the default value so we can switch to default 'no' in
ansible 6.0.0
* Code review fixes
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix comments
* Update changelogs/fragments/4320-nmcli-hairpin.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/4320-nmcli-hairpin.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>
* Implement contructable support for opennebula inventory plugin: keyed_groups, compose, groups
* Fixed templating mock issues in unit tests, corrected some linting errors
* trying to make the linter happy
* Now trying to make python2.7 happy
* Added changelog fragment
* changelog fragment needs pluralization
* Update changelogs/fragments/4524-update-opennebula-inventory-plugin-to-match-documentation.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pacman: Fix removing locally installed packages
Without this, using `absent` state for a locally installed package (for example from AUR, or from a package that was dropped from repositories) would return that package is already removed, despite remaining installed
* Undo unwanted whitespace removal
* Add changelog fragment
* Update changelogs/fragments/4464-pacman-fix-local-remove.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add test.
Co-authored-by: Felix Fontein <felix@fontein.de>
If `all=True` is not set then by default only 20 records will be
returned when calling `list()`. Use `all=True` so that all records
will be returned.
For the `list()` use where do not desire to retrieve all entries then
use`all=False` to show explicityly that we don't want to get all of
the entries.
Fixes: #3729Fixes: #4460
* Adds optional `-upgrade` flag to terraform init.
This allows Terraform to install provider dependencies into an existing project when the provider constraints change.
* fix transposed documentation keys
* Add integration tests for terraform init
* Revert to validate_certs: yes for general public testing
* skip integration tests on irrelevant platforms
* skip legacy Python versions from CI tests
* add changelog fragment
* Update plugins/modules/cloud/misc/terraform.py
Adds version_added metadata to the new module option.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change terraform_arch constant to Ansible fact mapping
* correct var typo, clarify task purpose
* Squashed some logic bugs, added override for local Terraform
If `existing_terraform_path` is provided, the playbook will not download Terraform or check its version.
I also tested this on a local system with Terraform installed, and squashed some bugs related to using of an
existing binary.
* revert to previous test behavior for TF install
* readability cleanup
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Only get monitor if it is not null api response
* Add changelog fragment
* Update changelogs/fragments/4459-only-get-monitor-if-it-is-not-null-api-response.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/dnsmadeeasy.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: drevai <revai.dominik@gravityrd.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* add support for datadog monitors of type event-v2
See https://docs.datadoghq.com/events/guides/migrating_to_new_events_features/
* add changelog fragement for PR
* typos
* add link to PR
* minor_fetaure, not bugfix
* add to description when we added event-v2 type
* Update changelogs/fragments/4457-support-datadog-monitors-type event-v2.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add error handling to check correct SDK version installed
* Fix CI errors
* Added changelog fragment
* Changed exeption type
* Update changelogs fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed issue with specified package versions
zypper.py was doing nothing on state=present, when ALL requestet/checked packages had a specific version stated. This was caused by get_installed_state() being called with an empty package list, which in this case returns information about all ALL installed packages. This lead to an exessive filter list prerun_state, essentially removing all packages that are installed in ANY version on the target system from the request list.
* Create 4421-zypper_package_version_handling_fix
added changelog fragment for https://github.com/ansible-collections/community.general/pull/4421
* Delete 4421-zypper_package_version_handling_fix
* Create 4421-zypper_package_version_handling_fix.yml
* [WIP] pids: re-enabled tests on Alpine Linux
* trying to compile a simple-faked sleep command
* make FreeBSD happy
* remove the block testing for Alpine Linux
* simpler version of sleeper.c
* simpler version of sleeper.c, part II
* Update tests/integration/targets/pids/tasks/main.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/pids/tasks/main.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* added license to sleeper.c file
Co-authored-by: Felix Fontein <felix@fontein.de>
* added templating to the url, user, and password
* added changelog fragment
* typo in description for url, and password
* clarify in the changelog what can you change
* update documentation and added an example
* missing quote from examples
* Apply suggestions from code review
Changed to I for option names
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: missing `validate_certs` parameters for `open_url` calls
As stated in the documentation, the `validate_certs` parameter can be
used to verify (or not) the TLS certificates. But, for some modules (at
least for the `keycloak_authentication` module), this parameter is not
used with the `open_url` function.
* add changelog fragment
* Update changelogs/fragments/4382-keycloak-add-missing-validate_certs-parameters.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Laurent Meunier <lme@atolcd.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Proxmox inventory plugin - Fix tags parsing
* In some cases the Proxmox API returns a tags string that consists in
a single space. The Proxmox inventory plugin parsed that into a
single, empty tag. Stripping the initial string then checking
whether it actually contains something fixes that.
* Do not call `_to_safe` on the concatenation of a known safe string
and a string that was already made safe.
* Changelog fragment for Proxmox inventory plugin tags fix
* Proxmox inventory plugin - Include link to PR in fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* feat: sudoers module supports runas parameter with default of root
* fix: sudoers tests now pass
* chore: add changelog fragment for 4380
* fix: runas feature now a non-breaking change wh no def with no default
* fix: no trailing space in sudoers.py
* Update plugins/modules/system/sudoers.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* plugins/inventory/lxd.py: fix listing of containers without os / release
In some cases, a container might be present, that was initialized empty, therefore lacking meta information about the os or the release.
Test if the data entry is None to avoid calling lower on it.
* Update plugins/inventory/lxd.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/lxd.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Create 4351-inventory-lxd-handling_metadata_wo_os_and_release.yml
* fix yaml readability of changelog fragment
* Update changelogs/fragments/4351-inventory-lxd-handling_metadata_wo_os_and_release.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Malte Kuhn <mkuhn@maxcluster.de>
* Proxmox inventory plugin - Fix string to dict conversion (#4348)
* Re-use the (defined but unused) `plaintext_configs` variable to list
configuration entries that should be ignored by the string to
dictionary conversion code. At this point, it only contains the
`description` string.
* Convert to a dictionary if the all substrings obtained by splitting
off the initial value with commas contain a `=` character
* Limit substring splitting to a single split, so that a substring
containing `a=b=c` will generate an `a` entry with value `b=c`.
* Added changelog fragment for PR #4349
* Fix changelog fragment for #4349
* Proxmox inventory plugin - Initial implementation of filters
* This is an attempt at implementing something that would satisfy
issue #3553
* A rather massive code rewrite was needed as adding the host to the
inventory, setting its variables and adding it to various groups
used to be done as soon as the information became available. This is
not possible when it is not known whether the host should be added
to the inventory before all data has been gathered.
* The code for both LXC containers and Qemu VMs was refactored into a
single loop.
* Helper functions to generate group and fact names were added.
* Proxmox inventory plugin - Warnings for filter errors
* When an error occurs while compositing a filter's value and strict
mode is disabled, display a warning.
* Proxmox inventory plugin - Fixed pool groups building
* Hosts that were excluded by the host filters were still being added
to pool groups, causing errors.
* Proxmox inventory plugin - Refactoring
* Split off the VM/container handling code from the
`_populate()` method
* Split off pool group attribution from the `_populate()` method
* Proxmox inventory filters - Changelog fragment
* proxmox inventory - Simplify _can_add_host() method
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* ldap_entry - Recursive deletion
* Recursive deletion can be enabled with the `recursive` option. It is
disabled by default.
* When enabled, deletion is attempted by sending a single delete
request with the Subtree Delete control. If that request fails with
the `NOT_ALLOWED_ON_NONLEAF` error, try deleting the whole branch in
reverse order using individual delete requests.
* ldap_entry recursive deletion - Changelog fragment
* ldap_entry - Refactored to avoid lint message
* Update changelogs/fragments/4355-ldap-recursive-delete.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* ldap_entry - Add version_added to the recursive flag
Co-authored-by: Felix Fontein <felix@fontein.de>
* ldap_entry - Moved member assignment to a more suitable location
Co-authored-by: Felix Fontein <felix@fontein.de>
* Implement change detection for update_cache=true. Add cache_updated return value.
* ...
* Make sure pacman --sync --list is called only as often as necessary.
* Fix linode inventory filtering
There was a regression introduced in the addition of caching. The
`_consume_options` method was added and provided the `config_data`
dictionary. This `pop`s every entry, resulting in an empty `config_data`
dict, which was then reused and expected to be populated.
After reviewing, `_consume_data` doesn't need to be called. Also, once
the ``_read_config_data` method has been called, we no longer need the
config_data dict, and can instead use the `get_option` method throughout.
Once those were removed, the filtering function seemed a bit odd, since
we were no longer using the file. I used that opportunity to move the
filter calls into the populate function directly.
* Remove tests that target removed methods
This removes tests that targeted some custom methods on configuration
file handling. These are no longer necessary since they are now handled
by the BaseInventoryPlugin `_read_config_data` method.
* Add changelog entry for linode inventory bugfix
* Revert filters back to their own method
This moves filters back into their own method, but now uses the
get_option calls to pull filter configuration items.
* jira: Use fields in comment to merge in additional data
* changlog fragment added
* Update changelogs/fragments/4304-jira-fields-in-comment.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* updated fields documentation
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add tls parameter to redis module
* Rename changelog fragment to match PR
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Port redis module to redis auth module util
* Update changelogs/fragments/4207-add-redis-tls-support.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/database/misc/redis.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Undo reuse of redis auth doc fragment
* Use doc fragment.
Co-authored-by: Julian Faude <julian.faude@zweiacht.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* npm - add '--production` support to 'npm ci' flag
* add changelog fragement for 4299
* Add backticks
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pacman: add support for remove_nosave
New parameter: remove_nosave
When enabled, will pass --nosave to pacman when removing packages.
--nosave cannot be used with --print-format and thus it couldn't be
passed via extra_args. See #4315
The code adds the option right before the actual removal of the pkgs.
(This is based on an initial diff from MorphBonehunter)
* changelog
* Update plugins/modules/packaging/os/pacman.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* wording
* ssss
* remove_package: simplify {force,extra,nosave}_args
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove DWSR from BOTMETA.yml
I'm no longer using Ansible.
* Update .github/BOTMETA.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pacman: don't always return changed w/ update_cache
This used to be the behavior before the recent refactoring. [1]
Allows the following to return changed only when packages were upgraded:
- pacman:
update_cache: yes
upgrade: yes
And the following to return changed only when the foo package wasn't at
the latest version:
- pacman:
name: foo
state: latest
update_cache: yes
[1] https://github.com/ansible-collections/community.general/pull/3907
* Update changelogs/fragments/4318-pacman-restore-old-changed-behavior.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove nmcli modify dependency on type parameter
* Add fragment
* Add newline for lint
* Fixed linting for tests
* Fix fragment
* Move aliases to ip_conn_type function
* Remove connection_map
* Updated fragment
* Fixed fragment
Co-authored-by: Trey West <--local>
* s/group/groups/
Pacman accepts --group but the actual option name is --groups.
Allows use of other binaries with the same CLI interface as pacman (yay)
* changelog
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add note regarding pacman compat + --print-format
* Update plugins/modules/packaging/os/pacman.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix error when checking if VM exists.
* Add changelog entry.
* Reword changelog entry.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pacman: re-adding support for URL based pkgs
* Update plugins/modules/packaging/os/pacman.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/os/pacman.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* cmd=cmd in every call to self.fail()
* pacman: integration test for mixed pkg sources
* Add more tests + fix minor bug with URL packages
Version checking for URL packages is left to pacman, so add a check
after the dry run to see if it would actually install anything.
* remove double templating
Co-authored-by: Felix Fontein <felix@fontein.de>
* zypper: support automatic removal of orphaned dependencies
* zypper: support automatic removal of orphaned dependencies
- Add support for --clean-deps option during package removal, which
will clean up packages that were only installed as dependencies
of the package being removed.
* Update changelogs/fragments/4192-zypper-add-clean-deps.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/os/zypper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/os/zypper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make sure that every test that uses package: requires setup_pkg_mgr.
* Upgrade system packages for Arch Linux.
* Re-enable java keytool tests on Arch.
* fix sparse file creation on Alpine linux
* re-enable tests for Alpine
* remove `conv=sparse` flag (rely only on `seek=fullsize` & `count=0`)
* doc: add a reference to busybox's dd
* doc: remove restrictions for OpenBSD, Solaris & AIX (should work as
for Alpine linux now)
* add a changelog fragment
* fix typo
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak: fix creating a user federation w/ idempotent id
Creating a user federation while specifying an id (that doesn't exist
yet) will fail with a 404. This commits fix this behavior.
* keycloak: fix user federation mapper duplication
This commit fixes a bug where mappers are duplicated instead of
configured when creating a user federation.
When creating a user federation, some mappers are autogenerated by
keycloak. This commit lets the keycloak_user_federation module recompute
mappers final values after the user federation is created so that the
module can try to merge them by their name.
* add missing fragment for pr #4212
* passwordstore: Add configurable locking
Passwordstore cannot be accessed safely in parallel, which causes
various issues:
- When accessing the same path, multiple different secrets are
returned when the secret didn't exist (missing=create).
- When accessing the same _or different_ paths, multiple pinentry
dialogs will be spawned by gpg-agent sequentially, having to enter
the password for the same gpg key multiple times in a row.
- Due to issues in gpg dependencies, accessing gpg-agent in parallel
is not reliable, causing plays to fail (this can be fixed by adding
`auto-expand-secmem` to _~/.gnupg/gpg-agent.conf_ though).
These problems have been described in various github issues in the past,
e.g., ansible/ansible#23816 and ansible/ansible#27277.
This cannot be worked around in playbooks by users in a non-error-prone
way.
It is addressed by adding new configuration options:
- lock:
- readwrite: Lock all operations
- write: Only lock write operations (default)
- none: Disable locking
- locktimeout: Time to wait for getting a lock (s/m/h suffix)
(defaults to 15m)
These options can also be set in ansible.cfg, e.g.:
[passwordstore_lookup]
lock=readwrite
locktimeout=30s
Also, add a note about modifying gpg-agent.conf.
* Tidy up locking config
There is no reason why lock configuration should be part of self.paramvals.
Now locking and its configuration happen all in one place.
* Change timeout description wording to the suggested value.
* Rearrange plugin setup, apply PR feedback
* pmem: Add namespace and namespace_append options
- namespace: Configure the namespace of PMem. PMem should be configured
by appdirect/memmode, or socket option in advance.
- namespace_append: Enables to append the new namespaces.
* Add changelog fragment entry
* Update the changelog fragment
* Update changelog fragment entry
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update to use human_to_bytes
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update to fix the description of namespace_append
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update to release v4.5.0
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update to fix the typo in the description of namespace_append
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
As an input the module receives names of packages to lock.
Those never matched existing entries and therefore always reported
changes.
For compatibility yum is symlinked to dnf on newer systems,
but versionlock entries defer. Try to parse both formats.
Signed-off-by: Florian Achleitner <flo@fopen.at>
* Rework of gitlab_project_variable over gitlab_group_variable
* Linting and removed unused example
* Fix test 2
* Sync from review of gitlab_project_variable #4038
* Linting, default protected True, value optional
* Next version is 4.5.0
* Roll back protected default true, and value not required
* Apply suggestions from code review
Missing check_mode
Co-authored-by: Markus Bergholz <git@osuv.de>
* Fix one unit test, comment test that requires premium gitlab
* Add changelog
* Update plugins/modules/source_control/gitlab/gitlab_group_variable.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/4086-rework_of_gitlab_proyect_variable_over_gitlab_group_variable.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added conditional gitlab_premium_tests variable when required
* Allow delete without value
* Fix variable name
* Linting
* Value should not be required in doc
* Linting missing new-line
* Update changelogs/fragments/4086-rework_of_gitlab_proyect_variable_over_gitlab_group_variable.yml
Co-authored-by: Markus Bergholz <git@osuv.de>
Co-authored-by: Markus Bergholz <git@osuv.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
The passwordstore lookup plugin depends on parsing GnuPG's
error messages in English language. As a result, detection of
a specific error failes when users set a different locale.
This change corrects this by setting the `LANGUAGE` environment
variable to `C` when invoking `pass`, as this only affects
gettext translations.
See
https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html
Given a password stored in _path/to/secret_, requesting the password
_path/to_ will literally return `path/to`. This can lead to using
weak passwords by accident/mess up logic in code, based on the
state of the password store.
This is worked around by applying the same logic `pass` uses:
If a password was returned, check if there is a .gpg file it could
have come from. If not, treat it as missing.
Fixesansible-collections/community.general#4185
* Included efidisk0 option to be able to create VMs with persitent EFI disks
* Added forgotten argument to create_vm invocation and missing test for update
* Added changelog fragment relevant to PR
* Fixed documentation issues (missing period, and added version) from review
* Removed breaking change dependency for new option, modified changelog fragment according to review
* Fixed typo in documentation
* Added examples of `efidisk0` usage
* Added examples of `efidisk0` usage
* Fixed lines containing blank spaces
* Rebased on 4.4.0, added efi option, added sanity checks on efi option
* Adjusted version_added to 4.5.0
* Corrected typo in create_vm invocation, adjusted merging of efi and efidisk0 options
* Updated efidosk0 option to dict, added flattening to str, added constraint on bios option if efidisk0 is set
* Replaced loop by list comprehension for efidisk0 flattening
* Removed unused code left over from refactor from efi/efidis0 options
* Add new module: pmem
This commit introduces to pmem module to configure Intel Optane
Persistent Memory modules (PMem).
* Add botmeta
* Update plugins/modules/storage/pmem/pmem.py
* Convert to snake_case options
* Update related to xmltodict
* Update to use list instead of string
* Update to use single quote to the string
* Update plugins/modules/storage/pmem/pmem.py
* Updated keycloak.py to allow defining connection timeout value (#4168) (#2)
* Added parameter to doc_fragments and edited the changelog message (#4168)
* Added parameter to doc_fragments and edited the changelog message (#4168)
* begin add private network
* scaleway_private_network , basic add and remove ok, work in progress
* scaleway_private_network : add search in next page
* scalewy_private_network add tags
* scaleway_private_network fix correct return value for register
* scaleway_privat_network change some text
* fix some sanity
* fix line too long
* fix line too long SCALEWAY_LOCATION
* some change for sanity
* fix sanity again
* add author in BOTMETA
* fix error in name in fike BOTMETA
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* add test for scaleway_private_network
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/scaleway/scaleway_private_network.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* opentelemetry: enrich services for jenkins, hetzner, jira, zypper, chocolatey
* remove source and name for the time being
Those arguments can be later on in the future added, maybe with some opt-in feature, so let's only focus in the ones which are fully http based for now
* changelog fragment
* Update changelogs/fragments/4105-opentelemetry_plugin-enrich_jira_hetzner_jenkins_services.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* dconf: Skip processes that disappeared while we inspected them
Fixes#4151
* Update changelogs/fragments/4151-dconf-catch-psutil-nosuchprocess.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pacman: rewrite with a cache to speed up execution
- Use a cache (or inventory) to speed up lookups of:
- installed packages and groups
- available packages and groups
- upgradable packages
- Call pacman with the list of pkgs instead of one call per package (for
installations, upgrades and removals)
- Use pacman [--sync|--upgrade] --print-format [...] to gather list of
changes. Parsing that instead of the regular output of pacman, which
is error prone and can be changed by user configuration.
This can introduce a TOCTOU problem but unless something else calls
pacman between the invocations, it shouldn't be a concern.
- Given the above, "check mode" code is within the function that would
carry out the actual operation. This should make it harder for the
check code and the "real code" to diverge.
- Support for specifying alternate package name formats is a bit more
robust. pacman is used to extract the name of the package when the
specified package is a file or a URL.
The "<repo>/<pkgname>" format is also supported.
For "state: latest" with a list of ~35 pkgs, this module is about 5
times faster than the original.
* Let fail() actually work
* all unhappy paths now end up calling fail()
* Update copyright
* Argument changes
update_cache_extra_args handled as a list like the others
moved the module setup to its own function for easier testing
update and upgrade have no defaults (None) to let required_one_of() do
its job properly
* update_cache exit path
Shift successful exit without name or upgrade under "update_cache".
It is an error if name or upgrade isn't specified and update_cache wasn't specified
either. (Caught by ansiblemodule required_one_of but still)
* Add pkgs to output on success only
Also align both format, only pkg name for now
* Multiple fixes
Move VersionTuple to top level for import from tests
Add removed pkgs to the exit json when removing packages
fixup list of upgraded pkgs reported on upgrades (was tuple of list for
no reason)
use list idiom for upgrades, like the rest
drop unused expand_package_groups function
skip empty lines when building inventory
* pacman: add tests
* python 2.x compat + pep8
* python 2.x some more
* Fix failure when pacman emits warnings
Add tests covering that failure case
* typo
* Whitespace
black failed me...
* Adjust documentation to fit implicit defaults
* fix test failures on older pythons
* remove file not intended for commit
* Test exception str with e.match
* Build inventory after cache update + adjust tests
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/os/pacman.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* changelog
* bump copyright year and add my name to authors
* Update changelogs/fragments/3907-pacman-speedup.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* maintainer entry
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update docs helper. Automate generation of 'Merging lists of dictionaries'.
* Updated helper/lists_mergeby/playbook.yml, list of examples and
templates. See playbook.yml on how to create *.out files, test
examples and generate the REST file
filter_guide_abstract_informations_merging_lists_of_dictionaries.rst
* Generated REST file copied to directory rst
* Simplified examples. The common lists are published only once. Only
the expressions are published instead of the whole tasks.
* To change the content of the section 'Merging lists of dictionaries'
update template
filter_guide_abstract_informations_merging_lists_of_dictionaries.rst.j2
and run the playbook.
* Deleted rst/examples/lists_mergeby. Not needed anymore.
* Update docs/docsite/helper/lists_mergeby/filter_guide_abstract_informations_merging_lists_of_dictionaries.rst.j2
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update docs/docsite/rst/filter_guide_abstract_informations_merging_lists_of_dictionaries.rst
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update Documentation with additional example
* Added an example to have the plugin return an IP address for a Proxmox guest, instead of the name of the guest (default behavior)
* Added an example to include a string literal to every guest (to support a playbook being able to check for variable presence to identify inventory in use)
* Update for line length readability
Co-authored-by: Felix Fontein <felix@fontein.de>
* Changed to cleaner static value
* Changed text for clarity
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* value is not required when state is absent
* fix integration test. missing value
* fix condition
* add changelog fragment
* fail fast
* try required_if on suboptions
* revert
* Update plugins/modules/source_control/gitlab/gitlab_project_variable.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix naming in doc
* typo in name
Co-authored-by: Felix Fontein <felix@fontein.de>
* homebrew_cask: reinstall when force is install option
* add changelog entry
* Fix OSX CI runs - run as non-root
* test with cask that has no macos dependencies
* use `brooklyn` cask to test
* Fully use Ansible's option handling. Deprecate not specifying sender.
* Update plugins/callback/mail.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Added new feature for ansible_user and ansible_port
* Replaced 'try' and 'except' with 'if' condition
* Replace '!=' with 'is not'
* Fixed if condition
* Implement the constructed interface
* Correction at the suggestion of felixfontein
* Added new options in unit test for icinga2 inventory
* Added blank lines in unit test for icinga2 inventory
* Added default filter in example
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fixed variable name in example
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added a changelog fragment
* Fixed changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updated documentation options
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* add profile parameter for scaleway inventory
* Update doc from review and add changelog
* Update changelogs from review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix local port regex
Thsi PR fix the bug reported in #4091
* Update changelogs/fragments/4092-fix_local_ports_regex_listen_ports_facts.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
When using project it will use project level runner to create runner that based on python-gitlab it will be used for enabling runner and needs a runner_id so for creating a new runner it should use gitlab level runner
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
* [inventory/cobbler] Add exclude/include_profile option
Also some minor cleanup
* Review suggestions
* Still must init cache_key
* Add note to exclude_profiles about include_profiles
* Add changelog fragment
* Update docs. Split fiter_guide.rst to files per sections.
* Fix docs.
* Update docs. Split filter_guide_abstract_informations.rst to files per sections.
* Create section 'Merging lists of dictionaries' from the template in helper/lists_mergeby.
* Fixed indentation. Comments and notes added.
* Revert "Fixed indentation. Comments and notes added."
This reverts commit 0f38450868.
* Revert "Create section 'Merging lists of dictionaries' from the template in helper/lists_mergeby."
This reverts commit 5b9d01ec2d.
* linode: Allow templating token for dynamic inventory
Template the value for the access_token if it's a Jinja template.
Allows for looking up tokens from files or pulling from secrets stores like Vault.
* add Linode changelog fragment
* Fix lookup example for newer versions of Ansible
Co-authored-by: Felix Fontein <felix@fontein.de>
* Rename test case for clarity
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* bugfix: don't overwrite results in 'mismatched'
Whichever mismatched package is evaluated last is the value stored in the
'mismatched' key. Instead, it should have a subdict for each pkg that is mismatched
to keep in line with its documented usage.
* Update changelogs/fragments/4078-python_requirements_info.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix 'changed' status for yarn global by actually expanding ~
* Ignore use-argspec-type-path test
* Add changelog fragment
* Update changelogs/fragments/4048-expand-tilde-in-yarn-global-install-folder.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Properly parse JSON Lines output from yarn
* Properly support output of yarn global list
* Add changelog fragment
* Check that the string starts with 'bins-'
* Fix changelog fragment
* Update changelogs/fragments/4050-properly-parse-json-lines-output-from-yarn.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* initial development of homectl module
* botmeta
* fix some linting
* Update .github/BOTMETA.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* use array form of run_command
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* added mofifying user record and cleaned up based on comments
* added updating records/multiple changes regarding options, examples doc, return doc
* add integration tests and more overall improvements
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* removed modify handle within present
* adding more options and better checking of user records when updating
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/homectl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add code review changes
- remove unsafe_shell with run_command.
- use dict.pop() in user_metadata dict.
- consistent quoting to single quotes.
- change logic to determine check mode better
- fix integration tests and added check_mode tests
* Fix handling of mount opts
When a user is created without mountopts homed will use nodev and nosuid
by default, however the user record metadata will not contain these
values. This commit takes extra care that correct value is being set to
true or false. So if a user gives mountopts with just nodev we need to
make sure the nosuid and noexec gets set to false, etc. If mountopts are
same as currently in user record make sure nothing would be changed and
outputs correctly.
Also fixed some tests.
* change fmethod modify_user to prepare_modify_user_command
* Code review fixes and add existing user pw checking
- Added methods to check existing users password is correct by comparing
the hash stored in homed user record and the hash of given password
- Updated integration tests for above case
- Added aliases file so CI can run
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding while loop to wait
* Adding changelog fragment
* Adding parameter and more docs
* Adjusting docs
Co-authored-by: Travis Scotto <tscotto@webstaurantstore.com>
* one_vm: add release action
Previously you could create VMs with the `vm_start_on_hold` parameter
but then ansible couldn't release the VMs so they would be scheduled to
run. This PR adds the ability to release VMs which are in the 'HOLD'
state.
* Add changelog fragment
* Update changelogs/fragments/4036-onevm-add-release-action.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/opennebula/one_vm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make releasing a VM part of the running state
When `state: running` is specified the code checks if the VM is in a
'HOLD' state and will release the VM when needed.
Co-authored-by: Gerben Welter <gerben.welter@hcs-company.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add functionality proposed in https://github.com/ansible-collections/community.general/issues/666
* Fix pylint errors mentioned in CI pipeline
* Fix pylint errors mentioned in CI pipeline (continued)
* Update plugins/modules/packaging/os/snap.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added tests
Fixed error occurring when called without options
Added changelog snippet
* Remove changelog entry as suggested in review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* rewrite `if len(overall_options_changed) > 0` in a more Pythonic way
un-indent `if len(overall_options_changed) > 0` to only be executed after the options of all snaps have been checked
* better placement of local variable `overall_options_changed`
* Re-arrange code to reduce indentation level (suggested by reviewer)
* Re-arrange code to reduce indentation level (suggested by reviewer, continued)
* Re-arrange code to reduce indentation level (suggested by reviewer, continued)
Raise exception if option map returned by `snap set` contains list container (suggested by reviewer)
Handle Python2 type `long` correctly (suggested by reviewer)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improve documentation on how to run tests.
* Fix incomplete sentence.
* Apply suggestions from code review
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Improve separation.
* Fix unrelated typo.
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Fix detection of installed cargo packages with hyphens in name
* Add changelog fragment
* Fix outdated package detection
* Add changelog fragment for af4fae72
* One more thing
* Add idempotency tests
* dont check for urls when args is None
* add changelog fragment
* fix lint on changelog fragment
Co-authored-by: Nick Gregory <nick.gregory@openenterprise.co.uk>
* puppet: Add documentation and remove deprecation for show_diff
* Add changelog fragment
* Update changelogs/fragments/3980-puppet-show_diff.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/puppet.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/puppet.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fixing syntax error introduced in 29298da3
* More documentation for show_diff and fix some sanity errors
* Update changelogs/fragments/3980-puppet-show_diff.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/sanity/ignore-2.10.txt
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add validate-modules:parameter-invalid to ignores due to invalid and depricated alias
* Keep use-argspec-type-path in ignores
* Update plugins/modules/system/puppet.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Benoit Vaudel <benoit@catalyst.net.nz>
Co-authored-by: Felix Fontein <felix@fontein.de>
* ipmi_power: Add machine option to ensure the power state via the remote target address
* Fix yamllint sanity check error
* Add changelog fragment entry
* Apply suggestions from the code review
* update to apply suggestions
* Add version_added.
Co-authored-by: Felix Fontein <felix@fontein.de>
* New module for cargo command
* Resolve CI errors
* Update plugins/modules/packaging/language/cargo.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/cargo.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/cargo.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add maintainer
* Change installed_packages from property to function
* Allow cargo to install list of of packages
* Remove period at the end of task names
* Pass only the list of packages to take action on to cargo
* Add integration tests for cargo
* Update plugins/modules/packaging/language/cargo.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
* Update tests/integration/targets/cargo/tasks/setup.yml
* Update tests/integration/targets/cargo/tasks/setup.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: add wireguard connection type
* nmcli: fix wireguard unit tests
* nmcli: set ipv4.method to disabled if ip4 not set
Method 'auto' is not supported for WireGuard
* nmcli: add wireguard documentation
* nmcli: clean up wireguard documentation
* nmcli: add wireguard changelog fragment
* nmcli: fix wireguard documentation
* Apply suggestions from code review
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
* proxmox: Add clone parameter
* Add changelog fragment
* Add version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add PR URL to changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Clarify what content_check does
* Split up try/except block to give a separate error message when creation pre-checks fail
* Create seperate case for cloning
* Prevent 'clone' argument from being removed
* Fix double argument, add todo's
* Check if to be cloned container actually exists
* Adjust module options dependencies
* Require 'storage' parameter when cloned container is not a template and ignore otherwise
* Don't only create linked clones of template containers
* Fix pylint errors
* Add extra example
* Minor language fix
* Add clone_type parameter to specify cloning behaviour
* I can't find if openvz nodes have this clone API, so just don't support it
* Remove unrelated changes
* Don't pass unused kwargs
* Revert more unrelated changes
* Remove required_together clone and clone_type because clone_type has a default choice
* Fix clone_type reference
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix missing period
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix redundant period
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix redundant period
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add module and pass the andebox validate-modules
* Fixes pep8 and sanity checks
* Add tests (intending that they'll fail)
* Fix pep8 complaint
* Remove stub test_sudoers file
* Add version_added to documentation
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
* Various improvements as suggested by reviewers
* Remove further required: false from documentation
* Make yaml indentation consistently indented
* Remove default for command argument
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
* Refactor check_mode checking as guards
* Update documentation formatting and use to_native
* Update plugins/modules/system/sudoers.py
* Update examples and formatting
* Fix merge conflict
* Update handle
* Add some integration tests
* Update tests to pass yamllint
* Fix assertions typo
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Remove wrapping quotes from assertions
* Use >- for long example names
* Add aliases file to sudoers integration tests
* Fix integration test name
* Create new alternative sudoers directory in case /tmp doesn't exist
* Alternative assertion test for checking rule revocation
* Re-quote assertions
* Update version_added to 4.3.0
Co-authored-by: Felix Fontein <felix@fontein.de>
* Uppercase first character of short_description
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add sending of attachments
* Change required arguments and add changelog
- text was still default -> changed to required_one_of text or attachments
- Add version_added
- Add changelog fragment for mattermost attachments
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Fix wrong indentation
* Add trailing comma
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove default=None
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix sentence
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix scaleway_user_data
scaleway_user_data put cloud-init valuer with 2 unexpected " (begin and end of value)
If Content-Type is not change , it's jsonify ( file module_utils/scaleway.py ligne 131 )
fix the probleme when "Content-Type" is used instead of "Content-type"
* Create 3940_fix_contenttype_scaleway_user_data.yml
* Update changelogs/fragments/3940_fix_contenttype_scaleway_user_data.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add PTR synchronization support for dnszones
* Add changelog fragment
* Update changelogs/fragments/3374-add-ipa-ptr-sync-support.yml
Update to reflect proper module name.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_dnszone.py
Add period.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_dnszone.py
Remove requires comment.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change type to boolean in following with API docs
* Tested with needed changes made.
* Fix documentation to max implementation
* Check for specific params; allow for modifications if needed
* Add PTR synchronization support for dnszones
* Add changelog fragment
* Update changelogs/fragments/3374-add-ipa-ptr-sync-support.yml
Update to reflect proper module name.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove trailing whitespace
* Make use of full search and compare params
* Fix formatting errors
* Move the change flag outside of module check
* Fix itens typo to items
* Update dynamicupdate to a boolean
* Remove unnecessary flags and options
* Minor comment changes
* Update changelogs/fragments/3374-add-ipa-ptr-sync-support.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_dnszone.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Anne-Marie Lee <alee@datainterfuse.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add counter filter
* move counter filter doc to existing chapter
* Use existing typerror exception from Counter
* Match counter filter example task name and output
* Prepare for distutils.version being removed in Python 2.12.
* Fix copy'n'paste error.
* Re-add Loose prefix.
* Fix Python version typos.
* Improve formulation.
* Move message into own line.
* Fix casing, now that the object is no longer called Version.
* Add additional auth support to Gitlab (#705)
- removed unused imports from module_utils.gitlab
- fix bug in gitlab_project to check if avatar_path is provided
* add doc_fragment and argument_spec for gitlab auth
* doc fixes and remove avatar_path bug fix
* small doc changes, pass validate_certs to requests call
* update changelog
* LXD 4.x compatibility (Containers and VMs)
* add changelog fragment
* update fixture
* update plugin options
* backwards compatible alias
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/3519-inventory-support-lxd-4.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add lxd 4.0 requirement
* filter for type of virtualization added. due to duplication in the namespace, "type" is not used as the keyword but "nature".
* add type filter
Since the first version of this inventory plugin only supports containers,
a filter function was added to filter between containers and
virtual machines or both.
By default only containers are displayed, as in the first version of the plugin.
This behavior will change in the future.
* rename C(nature) to C(type)
The term "nature" does not fit into the lxd namespace.
Therefore i renamed nature to type.
* update changelog fragment
* Update plugins/inventory/lxd.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* rename typefilter to type_filter
* fix tests with type_filter
* Update plugins/inventory/lxd.py
* Update plugins/inventory/lxd.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
* jira - Add support for Bearer token auth
* jira - Add support for Bearer token auth
* added changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix indent issue
* fix overindent
* jira - Add support for Bearer token auth
* jira - Add support for Bearer token auth
* added changelog fragment
* minor doc fix to be clearer.
Be clear about the exclusivity between username and token
as well as password and token.
* Update changelogs/fragments/3838-jira-token.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update lxd connection to use documented vars
* Add a changelog fragment
* Add clarification to changelog description
* Shorten changelog fragment description
* rebase
* Add changelog fragment
* add suggestions
* split PR into two
* Add multiple address support but with #3768 fiexed
* rebase
* clean some merge artifacts
* update the wording
* small docs update for timezone module
fixes#3242
* Update plugins/modules/system/timezone.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* interfaces_file: fixed unit tests and added README, added test cases for #3862
* typo fix for interfaces_file unit tests README.md
Co-authored-by: Felix Fontein <felix@fontein.de>
* typo fix for interfaces_file unit tests README.md
Co-authored-by: Felix Fontein <felix@fontein.de>
* typo fix for interfaces_file unit tests README.md
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add support for addr-gen-mode and ip6-privacy options
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* try to solve conflict
* add suggested code + fix some of its issues
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* monit - invoke run_command passing list
* added changelog fragment
* fixed unit test
* further adjustments
* fixed handling of command_args
* better handling of command_args
* logstash_plugin - invoke run_command passing list
* added changelog fragment
* rogue chglog frag escaped its caged and was seen running around into a different PR
* python_requirements_info - improvements
- returns python version broken down into its components
- minor refactoring
* adjusted indentation in the documentaiton blocks
* added changelog fragment
* fixes from PR review + assertion in test
* change ip6 type to list of str and fix problem with setting addresses without netmask
* change ip6 type to list of str and fix problem with setting addresses without netmask
* Add changelog fragment
* add suggestions
* fix no mask using bug
* Make change independed from feature branch
* initial commit for deprecate_attrs
* completed tests
* added spaces
* test now works when tehre is more than one deprecation
* trying == instead of eq in jinja
* new approach to testing
* removed extraneous debug message
* Fixes parameters missing in planned state
* Added new line at end of file
* Added changelog fragment for pr 3726
* Added changes mentioned by felixfontein
* Removed blank space for pep8 validation
* Update changelogs/fragments/3726-terraform-missing-parameters-planned-fix.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
extend needs to be a list
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Thomas Arringe <thomas.arringe@fouredge.se>
Co-authored-by: Thomas Arringe <Thomas.Arringe@ica.se>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pacman: add stdout and stderr as return parameters
Following the model of ansible.builtin.apt
* Bugfix to PR: fix documentation formatting
* Add changelog fragment 3758-pacman-add-stdout-stderr.yml
* Apply suggestions from code review
* Update changelogs/fragments/3758-pacman-add-stdout-stderr.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Xen orchestra inventory: Added groups, keyed_groups and compose support
* Update plugins/inventory/xen_orchestra.py
Remove extra params declaration
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Support IPMI encryption key parameter in ipmi_boot
* Support py2 on hex parsing, error handling
Change parsing hex string to support python2 and add error handling to it based on feedback.
* Don't explicitly set required to false
* Add version_added to key arg
* Add changelog fragment
* Add IPMI encryption key arg to ipmi_power
* Fix the formatting of changelog fragment
* lxd_container: support lxd instance types
Update the lxd_container module to enable the new LXD API endpoint,
which supports different types of instances, such as containers and virtual machines.
The type attributes can be set explicitly to create containers or virtual machines.
* lxd_container: rename references from containers to instances
* lxd_container: add an example of creating vms
* lxd_container: update doc
* lxd_container: fix pylint
* resolve converstation
* remove type from config
* remove outdated validation related to the instance api
* correct diff
* changing last bits
* add missing dot
* wip
* Renamed xo env variable with ANSIBLE prefix
* Suppress 3.x import and boilerplate errors
* Added shinuza as maintainer
* Do not use automatic field numbering spec
* Removed f string
* Fixed sanity checks
* wip tests
* Added working tests
* Fixed a bug when login fails
* Update plugins/inventory/xen_orchestra.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* change ip4 type to list of str
* Add several tests and change documentation
* Update changelogs/fragments/1088-nmcli_add_multiple_addresses_support.yml
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
Co-authored-by: Andrew Pantuso <ajpantuso@gmail.com>
* Replace RHEL 8.4 by RHEL 8.5 for devel.
* Install virtualenv.
* Revert "Install virtualenv."
This reverts commit 22ba0d074e.
* Just do another skip...
* Add GetHostInterfaces command to redfish_info
Adding a GetHostInterfaces command to redfish_info in order to report the
following:
- Properties about the HostInterface(s) like Status, InterfaceEnabled, etc
- ManagerEthernetInterface (info on BMC -> host NIC)
- HostEthernetInterfaces (list of NICs for host -> BMC connectivity)
fixes#3692
* add fragment
* fixup for linter
* redfish_utils.py cleanup
- Remove unneeded Properties list from get_nic_inventory()
- Remove bogus key variable from get_hostinterfaces()
- Add additional Properties to collect from HostInterface objects
* fixup for stray deletion
* Enable counter_enabled.py to support serial mode
Enable counter_enabled.py to support batch playbook executions using the serial tag in plays. Currently, the host counter gets reset at the beginning of every task. However, during batch executions we want it to keep track of the previous batch executions and print the host counter based on the previous runs. This proposal keeps track of how many servers have been updated in previous batches and starts the host counter at that tracked value.
```
- hosts: allthethings
gather_facts: no
serial:
- 3
- 15%
- 20%
- 35%
- 55%
- 90%
- 100%
tasks:
- name: Ping Hello!
ping:
data: "Hello!!!!"
```
* Reset task counter on play start
Reset task counter on play start for batch mode playbook executions.
* Add changelog fragment
* change changelog fragment after feedback
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* redfish_config: Add support to configure Redfish Host Interface
Adding another Manager command to redfish_config in order to set Redfish
Host Interface properties.
Fixes#3631
* add fragment
* fixup for fragment filename
* Update plugins/modules/remote_management/redfish/redfish_config.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add support for specifying HostInterface resource ID
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/remote_management/redfish/redfish_config.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/3632-add-redfish-host-interface-config-support.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix exception in xattr module when existing extended attribute's value contains non-printable characters and the base64-encoded string contains a '=' sign
* Added changelog fragment for #3675
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add test which allows to query whether an action is available.
* Add documentation.
* Fix FreeBSD / macOS compatibility.
* Rename an_action -> a_module.
* Forgot one place.
* Fixed - TypeError: unexpected keyword argument
- File proxmox_group_info.py creates the error "TypeError:
get_group() got an unexpected keyword argument \'group\'\r\n'" if a
group parameter is used.
Issue is an argument naming conflict. After changing the argument
name to 'groupid', as used in method ProxmoxGroupInfoAnsible::get_group,
testing a Proxmox group name is working now.
* Changelog fragment added for #3649
changelog fragment for TypeError: unexpected keyword argument #3649
* Update changelogs/fragments/3649-proxmox_group_info_TypeError.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
While porting this module to make use of `pyone` I have overlooked one
attribute. Luckily the error only occurs when trying to rename an image
to a name that has already been taken.
Instead of telling the user which image ID already uses that name, the
module failed with the following error (along with a huge backtrace):
AttributeError: 'IMAGESub' object has no attribute 'id'
With this commit the error message is much more obvous again.
* add the possibility to restart all supervisorctl programs and groups
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* Update changelogs/fragments/3551-supervisor-all.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add info about "all" in the name parameter description
Signed-off-by: Thomas Sjögren <konstruktoid@users.noreply.github.com>
* Update plugins/modules/web_infrastructure/supervisorctl.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* provide more fitting description for runner timeout
* Update plugins/modules/source_control/gitlab/gitlab_runner.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Tim Herren <tim.herren@gmx.ch>
Co-authored-by: Felix Fontein <felix@fontein.de>
* KeycloakClientDiffBugs - Introduce test that passes.
* KeycloakClientDiffBugs - Add test to show that checking of redirect_uri's fails.
* KeycloakClientDiffBugs - (Fix1) Update so that checking of `redirectUris` no longer shows a change.
* KeycloakClientDiffBugs - Add test to show that checking of attributes's fails (sorting issue)
* KeycloakClientDiffBugs - (Fix2) Update so that checking of `attributes` no longer shows a change.
* KeycloakClientDiffBugs - Add test to show that checking of protocol_mappers's fail
* KeycloakClientDiffBugs - (Fix3) Update so that checking of `protocol_mappers` no longer shows a change when there is none.
* Introduce code fragment.
* Update the changelog to be based on the PR instead of the issue.
* Fix the readme
* Fix yaml indentation.
* Fix pep8
* Update changelogs/fragments/3610-fix-keycloak-client-diff-bugs-when-sorting.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/3610-fix-keycloak-client-diff-bugs-when-sorting.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove need for .copy() after making normalise_cr not mutate the dict.
Co-authored-by: Pierre Dumuid <pierre@knowyourdata.com.au>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow for the pacman repository check to be skipped when it's not needed
* Adding a changelog fragment
* Undo the variable rename because the lint doesn't like it
* Update changelogs/fragments/3606-pacman-speed-up-check-if-package-is-installed.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Elie Moreau <emoreau@atlassian.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update gitlab_project_members.py
The actual search method doesn't accept path with namespace for project_name. If you have many project with same name, this module gitlab_project_members can't work.
* Update gitlab_project_members.py
* Update gitlab_project_members.py
* Update gitlab_project_members.py
* Create 3602-fix-gitlab_project_members-improve-search-method
* Rename 3602-fix-gitlab_project_members-improve-search-method to 3602-fix-gitlab_project_members-improve-search-method.yml
* Add initialize_with_readme option to gitlab_project. Update integration/unit tests.
* Fix pep8
* Revert unit tests
* Update plugins/modules/source_control/gitlab/gitlab_project.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_project.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_project.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Move initialize_with_readme to proper spot to only add if project does not exist.
* Update plugins/modules/source_control/gitlab/gitlab_project.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx - fixed bug in state=inject
* added changelog fragment
* copy/paste error in the integration test
* replaced injected package with simpler one
* testing force_lang = None
* disable UTF-8 emojis in pipx output
* better way to achieve the same outcome
* Adjsuted the changelog fragment
* added module mssql_script
* Add changelog fragment
* fixed fragment file (yamllint)
* added me as maintainer
* minor cleanup. (PR comments)
* adjusted for PR comments
- changed key for query results depending on output
- removed "empty" string defaults
* convert unserializable values to string
* python 2 support
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* updates to docs
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* dnf_versionlock: new module
* dnf_versionlock: fix style in doc
* dnf_versionlock: use check_rc in run_command
* dnf_versionlock: fix style and typos in doc
* Consistent Modules - Rename updated_?? to desired_?? in all the keycloak modules.
* Consistent Modules - Rename the comments, and add whitespace so that all the modules are a lot more consistent between each other.
* Consistent Modules - Remove final elif where a final else doesn't exist.
This is to address the inconsistency between the other modules.
Whilst I can see it being more descriptive, there should be a final "else:" to cater if the values is neither 'absent' or 'present'.
* Consistent Modules - Use dict() instead of {} like most of the other keycloak modules.
* Consistent Modules - Update keycloak authentication so that the if ordering is consistent for no-item.
* Consistent Modules - Move the 'Filter and map' process to always occur before getting an existing item.
* Consistent Modules - Be consistent with how to initialse before_?? and set it to dict() if it is None.
* Consistent Modules - Add module.exit_?? in the locations as per the other modules.
* Consistent Modules - Represent result['diff'] using dict(before=.., after=...) as per all the other modules.
* Consistent Modules - Add / Move location of when result['end_state'] is getting defined.
* Consistent modules - Add result['changed'] = False where we do nothing and exit because item exists.
* Consistent Modules - Set the value result['changed'] to True earlier so it shows up when in checking mode only.
* Consistent Modules - test for equality with a dict to assert there was no realm in the first place as per the other modules.
* Consistent Modules - Address the spelling.
* Consistent Modules - keycloak_group - Remove result['group'] as result['end_state'] is the consistent value used in the other modules.
* Consistent Modules - Order the lines in the section, Do nothing and exit consistently.
* Consistent Modules - Add result['end_state'] and still add deprecated `flow` return value.
* Consistent Modules - Add missing return documentation for `msg`.
* Consistent Modules - Tweak whitespace in the RETURN variable.
* Consistent Modules - Add result['group'] in addition to deprecated result['group'] response.
* Consistent Modules - Add return property, 'contains' to address test errors.
* Consistent Modules - Rename updated_?? to desired_?? in new modules since initial PR.
* Consistent Modules - Rename the comments, and add whitespace so that all the (recently added) modules are a lot more consistent between each other.
* Consistent Modules - Make indentation consistent within the response document.
* Consistent Modules - Use B(DEPRECATED) in a seperate line in the description.
* Consistent Modules - Add a lot of full stops to sentences.
* Consistent Modules - Use C(...) and I(...) formatting methods.
* Consistent Modules - Use "on success" everywhere for end_state response documentation.
* Consistent Modules - Update the documents for RETURN.proposed, RETURN.existing, RETURN.end_state to be the same.
* Consistent Modules - Add fragment.
* Remove period after short_description.
* Update changelog fragment.
* Consistent Modules - PRFeedback - Remove `module.exit_json(**result)` within the `Delete` section of the if statement.
There's a exit_json(..) immediately after.
* Consistent Modules - PRFeedback - Use `if not x_repr` instead of `if x_repr == dict()`.
* keycloak_authentication - Add a sample of the output.
* Replace `dict()` with `{}` for all the keycloak modules.
* Add the requested deprecated notices
* Update changelogs/fragments/3280-keycloak-module-cleanup-and-consistency.yml
Co-authored-by: Pierre Dumuid <pierre@knowyourdata.com.au>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added redis_incr module
Added redis_incr module and unit tests for the module.
Added suggested changes to increment_float, increment_int stuff
* rebased to main, version fix and unit test fix
* Renamed module,added check_mode and fixed retun value
* Update .github/BOTMETA.yml
* check_mode fix and version bump
* fix for lower Redis versions
* Update plugins/modules/database/misc/redis_data_incr.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix exception in pkgin module when all packages are already installed.
* Update plugins/modules/packaging/os/pkgin.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add changelog fragment for #3583
Co-authored-by: Felix Fontein <felix@fontein.de>
* pkgng: package reinstallations count as changed
`upgrade_packages()` only looked for the string
"Number of packages to be upgraded", but the
`pkg upgrade` command also reports "Number of packages to be
reinstalled". Reinstallation occurs when package metadata other
than version changes (e.g. build options, single architecture to `*`
architecture). In any other respect, though, a required
reinstallation is the same as an upgrade.
* pkgng: check_mode should count queued actions
Writing tests caught a bug in PR #3393, which enabled
installing more than one package per `pkg` execution.
In converting the module's install/upgrade code to a
queue structure, check_mode got broken because the count
of actions performed was only updated in the `if not check_mode`
block that invokes `pkg`. This two-line change counts
the number of actions in the queue when check mode is
enabled.
* pkgng: add basic integration tests
Test installing a package
Test installing a package into a jail
* pkgng: test with zsh not bash package
Had been using bash package, because it's not
likely to disappear from the package repository
any time soon. Turns out that bash is already
installed on the Ansible community.general
FreeBSD CI VM image, which makes the test fail.
Zsh probably isn't going away any time soon,
either, and likely won't be installed on the
CI image.
* pkgng: remove redundant test for docker container
These tests should be skip/docker, but the test
playbook also redundantly checked whether it was
running in a docker container.
Checking whether `ansible_facts.distribution` is
`FreeBSD` is really sufficient to be sure whether
the test is running in an environment that supports
the `pkgng` module.
* pkgng: add state=absent test
Also renumber `jail=...` test to make diffs less
noisy when adding more non-jailed tests.
* pkgng: add state=latest idemptency test
Add test between state=present and
state=absent that ensures state=latest runs
successfully on an already up-to-date package
with changed=false.
* pkgng: add state=latest test
Including small filesize out-of-date package from
FreeBSD 11 package repository, because FreeBSD 11 is
currently EOL. This test might fail at some point in the
future if the pkg utility in a FreeBSD version > 14
makes breaking changes that prevents it from installing
older package formats.
If that occurs, the fix is to replace
`files/freebsd-release-manifests-20210413__FreeBSD_11.pkg`
with the version of freebsd-release-manifests from the oldest
non-breaking release of FreeBSD, and update the
references to it in tasks/main.yml accordingly.
* pkgng: use hand-generated test package
Instead of relying on a broken-ish installation
of an older package from FreeBSD 11, hand-generate
a package named `zsh` with no contents and a version
number of `0`. It can be installed on any architecture
and any revision of FreeBSD sucessfully, and it will
always be eligible for upgrade.
* pkgng: CI seems to dislike plus-signs in filenames
* pkgng: refactor renaming test package manifests
refactored to make intent of adding '+' sign clearer
* pkgng: refactor upgraded pattern matching
Implement russoz's suggestion to put all
variants in the pattern.
* pkgng: add cached=yes test
Changed idempotency test, because this covers both.
* pkgng: test pkg works on any FreeBSD version
Removing `ansible_distribution_version`, because the
test out-of-date zsh package should install on any
FreeBSD version.
* pkgng: move FreeBSD tasks to imported file
Refactoring tests for more reuse and easier
readability.
* pkgng: refactor tests for task reuse
Several tests need to install an out-of-date package
to test whether upgrades occur successfully, so this
commit refactors out the generation of the test package.
Also, factor out things like the name and path of the
test package so that is more maintainable should the
target test package (currently `zsh`) ever need to
change.
* pkgng: test install multiple packages
Multiple packages should install with a single
invocation of the `pkg` utility.
* pkgng: handle space- and comma-separated lists
The module expects a list of strings in the `name` parameter,
but long-standing documentation showed space- and comma-delimited
lists as a valid way of telling the module to act on multiple
packages. Passing these lists through to the `pkg` command can
have unexpected side-effects of upgrading packages when
`state=present` rather than `state=latest` and could result
in the module reporting the wrong number of packages for each
action performed.
* pkgng: test state=latest for mixed install/upgrade
Test that a list of packages given, one not installed
and one installed but out-of-date are handled correctly.
* pkgng: use YAML lists for multiple packages
I had been following the documentation examples, and
specifiying multiple packages on one line. The right way
to do it is with YAML list syntax.
* pkgng: add test for autoremove=yes
Install package with known dependencies, then
remove it and ask autoremove to run.
* pkgng: test autoremove=yes only on FreeBSD > 12
The CI test runner on FreeBSD 12.0 times out when
downloading large packages.
* pkgng: test jail creation logging less verbose
`ezjail-admin` had been spewing every filename copied
into the jail onto stderr, making the `ansible-test -v`
logs hard to scroll through. Changed it so that ezjail
output only shows up in the ansible task logs if
`ansible_verbosity > 1` (`-vv...`). Full `ezjail-admin`
output is always logged to `/tmp/ezjail.log`.
* pkgng: pass tests when package dependencies change
Tests that install packages with dependencies were failing
when those dependencies were not already installed, because
the count of installed packages was greater than the count
of requested to be installed packages. This change checks
for a count of installed packages that is greater than or
equal to the count of requested to be installed packages.
Example:
- Test installs packages `zsh` and `fish`
- `fish` has a dependency on `pcre2`
- `pkg` reports `Number of packages to be installed: 3`
* pkgng: test annotation for single package
Add/modify/remove annotation for a single package
* pkgng: fix annotation operations
Annotation has been broken at least since the migration to
collections. There are some breaking typos and function argument
omissions in the code with nothing in `git blame` but "Initial commit".
New integration tests uncovered this breakage. Works now.
* pkgng: test multiple annotations
Test multiple annotations specified both in new (YAML list)
syntax and old (comma-delimited) syntax.
Rename some annotation test tags from the single-annotation
tests to make sure that single and multiple annotation tests
don't collide.
* pkgng: test invalid annotate strings
Ensure that some likely to occur, invalid strings
given to the annotate module parameter 1. fail,
2. do not cause an exception, and 3. do not create
any actual annotations on packages.
* pkgng: fix check_mode for annotate
Actions specified in the `annotate` parameter would
always be performed, even if `check_mode=yes`.
This commit fixes `check_mode` for the annotation
functions and adds integration tests to ensure that
check mode is honored in the future.
* pkgng: call module.run_command with list
Instead of calling `run_command` with a formatted
string, call it with a list to maintain safer argument
separation.
Also, introduce a wrapper for `run_command`, `run_pkgng`,
which manages the process environment and some common
command line switches, based upon the module parameters.
Introduced in this commit, also pass annotation values
to `pkg annotate` via stdin, which is safer with long
values than putting them in argv.
* pkgng: update documentation to match annotate type
Missed updating the documentation to match the change
of the annotate parameter from comma-separated string
to list of strings.
* pkgng: fix syntax for Python 2
Seems *args, **kwargs have to be the last
two arguments in Python 2 syntax. CI sanity
tests were failing.
* pkgng: oops, pkgsite should be from closure
I put `pkgsite` as a keyword argument to `run_pkgng()',
which wasn't correct at all and resulted it in capturing
the second positional argument given by any caller.
`pkgsite` should have been `p["pkgsite"]`, coming from the
closure environment of `main()`.
* pkgng: Fix changelog fragment quote formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
* pkgng: add test prepare task
Make sure test environment does not contain the
test package.
* pkgng: make integration test package more flexible
Make integration test package building template-based,
so more flexible if in the future the name of the test package,
currently `zsh`, must change.
* pkgng: convert generator to list for 2.9
Ansible 2.9 can't count items from a generator,
so convert `select` filter output via `list`
before passing to `count`.
* pkgng: Ansible 2.9 has no "false" Jinja2 test
Apparently Ansible 2.9 doesn't have the "false" test
in Jinja2 contexts. Switching to use `rejectattr(...)`
instead of `selectattr(..., "false")`.
* pkgng: test pkgsite parameter
* pkgng: add tests for chroot and rootdir params
Refactor install tasks into an include file so they
can be reused and tested with various parameters.
* pkgng: clean up test package creation
Make pkg json manifest more readable. Create package using
FreeBSD's `pkg create` instead of manually using tar. This
change also simplifies the manifest to a single file for
the integration test role.
* pkgng: fix#3428; install from local file
Fixes a bug in which the module reported failure
when installing from a local (to the target host)
file path.
Fixes#3428
* pkgng: changelog fragment formatting issue
* pkgng: check for all test package extensions
pkg recently changed file extensions, so for the
tests to work on multiple recent versions of FreeBSD,
we must check for `pkg create` output with varying
filename.
* Revert "pkgng: fix#3428; install from local file"
As the module has invoked pkg with the `-g` flag for
at least 7 years, I'm not sure when it was possible
to install packages from files on the target host
filesystem, because pkg rejects file paths when
the `--glob` flag is enabled.
I considered doing a rework of the pkg invocation
to enable good support for installing from local
files, but it looks like more of a job than for this PR.
This reverts commit 5f94eac41f.
* pkgng: Add minor_changes fragment for #3526
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Redfish: Do not set the boot source override mode if not provided by the user
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Corrected changelog file extension
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Update changelogs/fragments/3509-redfish_utils-SetOneTimeBoot-mode-fix.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: Fix ipv6.dns not being recongnized as list
There was a missing comma on the previous line.
* nmcli: Add changelog fragment for #3563
* nmcli: Update changelogs/fragments/3563-nmcli-ipv6_dns.yaml
Make the fix description more descriptive
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* nmcli: Remove ipv4.route-metric from list-typed properties
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* nmcli: Update fragment 3563 with ipv4.route-metric bug
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Redfish: perform manager network interface configuration even if property is missing
Signed-off-by: Mike Raineri <michael.raineri@dell.com>
* Update changelogs/fragments/3404-redfish_utils-skip-manager-network-check.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* [callback][elastic] enrich span with http attributes
* [callback][opentelemetry] fix linting
* [callback][opentelemetry] fix UTs
* [opentelemetry][changelog] add fragment for the service map feature
* Update plugins/callback/opentelemetry.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* [opentelemetry][callback] remove comments
* [opentelemetry][callback] fix UTs
* [opentelemetry][callback] return the value
otherwise a None value returns ParseResultBytes when using urlparse(None)
* [opentelemetry][callback] fix wrong parameter order
* [opentelemetry][callback] support for no interpolated URLs
* [opentelemetry][callback] support for URLs without interpolation in the hostname
* [opentelemetry][callback] fix linting
* Update changelogs/fragments/3558-callback_opentelemetry-enrich_service_map.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* ipa: add append parameter to modify_if_diff
* ipa_group: add state: append
* ipa_group: rework append to an option instead of another state
* ipa_group: append default=no
* ipa_group: add change fragment for new append option
* ipa_group: restore descriptions for group and user
* ipa_group: re-add missed quotation mark
* ipa_group: set default for append in
argument_spec
* ipa_group: add .yml ext to fragement file
* ipa_group: corrections to append description
* ipa_group: refine change fragement text
Co-authored-by: Felix Fontein <felix@fontein.de>
* ipa_group: use correct macros in option descriptions
Co-authored-by: Felix Fontein <felix@fontein.de>
* ipa_group: include append in user and group descriptions
* ipa_group: add version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add names to tasks in oneview module examples
* Fix task name in github_webhook module example
* Fix trailing whitespace
* Add changelog fragment
* Remove changelog fragment
* Integration Tests for Options added, includes 'proxycommand'
* New option 'forwardagent' added to integration tests
* Missing double quotes added to 'forwardagent' values to enforce handling as string
* New option 'forwardagent' added
* yamllint error resolved
* 'forwardagent' type changed from str to choices (yes/no)
* Changelog added
* correct typo
Co-authored-by: Felix Fontein <felix@fontein.de>
* version info added to new option
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(ssh_config): option name to snake_case, type str to bool
* fix(ssh_config): convert bool true/false to str yes/no
* fix(ssh_config): rename option to 'forward_agent' in integration test
* fix(ssh_config): args key 'forwardagent' renamed to 'forward_agent'
* fix(ssh_config): 'else' replaced with 'if' statement to cover case when value is 'None'
* increase version_added to 4.0.0
Co-authored-by: Felix Fontein <felix@fontein.de>
* simplify if statement for True/False to yes/no mapping
Co-authored-by: Felix Fontein <felix@fontein.de>
* update comment to better describe functionality
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix(ssh_config): avoid overwrite of existing option in case of None value
* test(ssh_config): case added to verify no changes on existing option if not given in playbook
Co-authored-by: Felix Fontein <felix@fontein.de>
* macports: add stdout and stderr to status (#3499)
* Add changelog fragment
* Update changelogs/fragments/3500-macports-add-stdout-and-stderr-to-status.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Aoife Finch <aoife@finch.ink>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add elastic callback plugin
* Capture task failures
* Catch errors and add UTs
* Skip 3.5< python versions and install dependency
* fix lint
* Fix linting
* Fix linting
* Add botmeta
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* It's not required
* As suggested in the code review OrderedDict has been added to the Python stdlib since version 2.7
* Update plugins/callback/elastic.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pkgng: join package list into one command
Change the pkgng module so all packages being
installed (or upgraded) are acted on in one
command (per action). This will make installs
and upgrades a bit faster, because pkg will be
invoked fewer times per module run. More important,
module actions will be more atomic, making it less
likely that some packages are acted on because they
appear earlier in the argument list.
This change also improves the status reporting of
packages acted on, specifying the number of packages
for each action (install or upgrade).
* pkgng: make upgrade check lazily evaluated
Make upgrade_available an inner function so that the
if statement that checks whether installed packages
are up-to-date only runs the upgrade check on packages
that are already installed. This gets lazily evaluated
because of boolean operator short-circuiting:
https://docs.python.org/3.8/library/stdtypes.html#boolean-operations-and-or-not
Previously, the module would always check for upgrades,
even for not-installed packages, when running with
`state=latest`.
* pkgng: add changelog fragment
* pkgng: Apply changelog suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* pkgng: resolve pep8 style issue
Remove inline function. It's purpose would be confusing for
future maintainers, and someone refactoring it to a variable,
with good intentions, would introduce a performance regression.
Including the `query_update()` call in the if expression makes
the intent more legible and still ensures lazy evaluation of the
function call if the first `and` is `False`.
* pkgng: Fix changelog fragment syntax issue
Need to escape quotes so YAML doesn't eat them
Co-authored-by: Felix Fontein <felix@fontein.de>
* pkgng: Improve output message English grammar
Make word "package" plural only if reporting on more than one package
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* If repo option points to .repo file, download for later parsing
* Parse downloaded .repo file content (ini format)
* Validate downloaded file, map values to repodata, workaround to ignore old .repo related code
* Integration Test adjusted to install python package 'requests' first
* Revert "Integration Test adjusted to install python package 'requests' first"
This reverts commit 0d18352c2238d098831ba6d59b66e731fa8f0cd9.
Not allowed to introduce new dependencies at this point, module_utils usage required
* Remove python 'requests' dependency, using 'fetch_url' and 'to_text' from 'ansible.module_utils' instead
* Prefer alias (name) if given instead repo (url)
* If gpgkey was given in .repo file ensure key get automatically imported
* ConfigParser Import made Python2 compatible
* New .repo code moved below existing run-time parameters checks to keep previous logic
* Obsolete workaround removed
* two pylint/pep8 errors fixed
* name added to autorefresh assert
* Missing assert for 'Delete test repo' added
* name added to priority option assert
* name added to check repo is updated by url assert
* name added to check repo is updated by name assert
* name added to check add a repo by releasever assert
* name added to check remove added repo assert
* name added to check add a repo by basearch assert
* name added to check remove added repo #2 assert
* Bugfix to avoid 'KeyError' Exception in if statements
* Refactoring of configparser related code, usage of module_utils, py2 compatibility
* Removal of some leftover from earlier testing
* Integration tests for add/remove repositories by url to .repo file added
* Additional name added to list of test repos that has to be removed
* Test added to verify cleanup of local .repo file after removal via zypper
* Changelog fragment related to PR #3474 added
* yamllint error resolved
* Refactoring to reduce indentation and removal of else statements
* Integration tests added for loading .repo file from local path
* Test .repo file added
* Dependency to setup_remote_tmp_dir added
* New entry added to 'remove repositories added during test'
* Support for .repo file from local path
* Changelog: Ref to https://github.com/ansible-collections/community.general/issues/3466 added
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [ufw] Insert or delete biased when deletion enabled - as for append or delete.
* [opentelemetry][callback] add option to support enabling plugin in the CI only
* [opentelemetry][callback] add changelog fragment
* Apply suggestions from code review
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* [opentelemetry][callback] use enable_from_environment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* [opentelemetry] ensure the value is true otherwise the plugin is not enabled
* [opentelemetry][changelog] update entry with the new option
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* pipx - new module
* using python instead of python3
* removed ensure_path as it is unused
* ensuring we are running the same python as Ansible
* changed the last solution to adding a pipx_path parameter to the module, with a sensible default
* added docs for the new parameter
* changed param name to executable, and customized it for Darwin
* use executable if passed, otherwise use python -m pipx
* minor update
* added examples
* Update plugins/modules/packaging/language/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/pipx.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* tests names 324 -> 3.24.0
* ensure tox is uninstalled by the beginning of the test
* Renamed option+suggestions from PR
* improved idempotency
* fixed sanity
* fixed test
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix: gitlab_deploy_key idempotency
The module was not retrieving all the deploy keys leading to non
idempotency on projects with multiple deploy keys.
SEE: https://python-gitlab.readthedocs.io/en/stable/api-usage.html#pagination
* Update changelogs/fragments/3473-gitlab_deploy_key-fix_idempotency.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Jonathan Piron <jonathanpiron@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Started creating Unit tests for Proxmox Tasks module
* Tried really hard to get the mock to work
* unit tests for the module
* Fixed symslink and permissions
* Suggested changes and more unit tests
* Fixed isFalse
* Apply suggestions from code review
* Update plugins/modules/cloud/misc/proxmox_tasks_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* OrderedDict has been added to the Python stdlib since version 2.7
* Docs: cosmetic change in the python lib
* See https://github.com/ansible/ansible/issues/75726
* Add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Copy the permissions along with file for jboss module
Issue: The deployment file is copied with file content only. The file
permission is set to 440 and belongs to root user. When the
JBossI(Wildfly) server is running under non root account, it can't read
the deployment file.
With is fix, the correct permission can be set from previous task for JBoss
server to pickup the deployment file.
* Update changelogs/fragments/3426-copy-permissions-along-with-file-for-jboss-module.yml
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Updated nmcli.py
Amended the routing-rules4 values as list. By this we could add the entries for "routing_rules4" in the form of a list .
* Update nmcli.py
Fixed typo in line #1701
* 3395-nmcli-needs-type.yml
routing_rules4 module argument is currently accepting only string elements. In order to accept multiple values, amended the type of routing_rules4 as list.
* nmcli: amended the routing-rules4 key values as list
routing_rules4 module argument is currently accepting only string elements. In the case of adding multiple entries to routing_rules4, we need to accept values as list.
* Added 3401-nmcli-needs-type.yml
routing_rules4 module argument is currently accepting only string elements. In the case of adding multiple entries to routing_rules4, we need to accept values as lists
* Amended type to 'minor_changes'
Amended type to 'minor_changes' from 'bug_fixes'
* routing_rules4 to a list of element str
nmcli.py - routing_rules4 to a list of element str
* Update changelogs/fragments/3401-nmcli-needs-type.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: allow routing-rules4 key values as list
* nmcli: amended the routing-rules4 key values as list
* nmcli: amended the routing-rules4 key values as list
* nmcli: amended the routing-rules4 key values as list
* test_nmcli: amended whitespaces
* Update 3401-nmcli-needs-type.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added OpenNebula inventory plugin
Signed-off-by: Kristián Feldsam <feldsam@gmail.com>
* Apply suggestions from code review
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Removed matching inventory yaml files ending with "one"
Too general word
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
* Added BOTMETA
Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
* Moved import
Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
* Fix indentation problem
Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
* Added group_by_labels, refactored so can be unit tested
Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
* Added unit tests
Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
* Removed blank line
Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* enable deprecate message for ignore_volatile_options
* fix E128
* add frament 3429
* remove default value and modify the resulting checks
spelling fixes
bump version for deprecated messge
* fix spelling and depricated version
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
* chore: add deprecation warning
* chore: add deprecation message, version and collection
* chore: add changelog fragment
* docs: add deprecation info
* fix: max line length and whitespace
* fix continuation line under-indented
* Update changelogs/fragments/3451-gitlab-group-member-deprecate-name-and-path.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: return correct group id
match only full_path or name
* chore: add changelog fragment
* fix: indentation multiple of four
* refactor: use two loops
* fix: typo of group id
* fix: changelog fragment
* Fix diff mode when updating authentication flow with keycloak_authentication module
* Update documentation of create_or_update_executions function (return tuple instead of dict)
* Fix: Update requirement when new exex created
* Add changelog fragment
* Update changelogs/fragments/3330-bugfix-keycloak-authentication-flow-requirements-not-set-correctly.yml.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/3330-bugfix-keycloak-authentication-flow-requirements-not-set-correctly.yml.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Edit requirement of sublow
Co-authored-by: Felix Fontein <felix@fontein.de>
* Restrict to unit tests with devel (to be reverted later).
* Restrict lxml for Python 2.6.
* Revert "Restrict to unit tests with devel (to be reverted later)."
This reverts commit d0d87a8a0f.
* Adding capability to specify ehlo hostname
* Fixing default for ehlohost
the CI did not like "None" as default in the documentation,
judging from the rest of the definitions omitting that seems to be right
* Update plugins/modules/notification/mail.py
Proper spelling in documentation
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Adding Changelog Fragment
* Update changelogs/fragments/3425-mail_add_configurable_ehlo_hostname.yml
Proper phrasing in changelog
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* integration-test for ehlohost parameter
* proper description, increased async-time
changed body of ehlohost-mail to reflect ehlohost
increased async from 30 to 45 as CI failed because
smtp was already down.
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* do not ignore volatile - fix#2466
* remove unnecessary checks
* fix ansible-tests sanity
* fix access to the option: ignore_volatile_options
* add fragment
* fix quotation marks error
* fix review findings
* fix sanity error
* fix description - in yaml examples use true not True
comment out the deprecate message
* remove "default=True" at ignore_volatile_options
fix spelling
* fix sanity error that ignore_volatile_options have no default value
* undo changes. add defaut value and remove keyword at dict.get()
* fix sanity error
* small spelling fixes
* change text for fragment
* Fix description sentence.
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added redis_set module
Added redis_set module and unit tests for the new module.
Applied suggested changes and removed redis_del in favor of state
option.
Also added redis utility class that handles connection.
* Typos, added version and BOTMETA
* Fixed import error checking
* Fixed Unit tests
* Docfix and return consistency
* Added Check Mode
* Update plugins/modules/database/misc/redis_data.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* kernel_blacklist - revamped the module
* file default and setting "lines" when file does not exist
* added changelog fragment
* added change in arg_spec to the documentation block
* Update plugins/modules/system/kernel_blacklist.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/kernel_blacklist.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/kernel_blacklist.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed: initialize self.pattern before self.var.is_blacklisted
* File writing recoded
* added try/finally for the file
* multiple changes:
- fixed case when last line of the existing file has no newline char
- added integration tests
* PR: integration test now using remote_tmp_dir
Co-authored-by: Felix Fontein <felix@fontein.de>
If package installation has an error after the package is install (e.g.
when running tags), then there will be output on stderr and the fallback
regex will match; however, since pkg_add exited non-zero, changed is
never added as a key to the dictionary. As a result the code at the end
of main that checks if anything has changed raises a KeyError.
* pythonific!! no camel cases, bitte
* simplified iface attributes parsing
* some improvements, passing tests
* simplified set_interface_option()
* further simplifications
* remove unreachable stmt
* pythonified a file open
* added changelog fragment
* adjustment per PR
* PR: fixed the auto- case
* PR: added testcase and chglog frag for the misleading change report
* extra line removed
* integration is not destructive
* Adding "Id" to the add user function
Some implementations of Redfish (e.g. the one in Cisco's CIMC) seem to require the id of the new user for account creation.
I'm not that firm with Python but lines 982 and 983 should fix it.
* changed indention
* created changelog fragment
* Update changelogs/fragments/3343-redfish_utils-addUser-userId.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update change type
* supplemented the description of the ID parameter
* Update plugins/modules/remote_management/redfish/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add opentelemetry callback plugin
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Formatting (text), booleans and renamed env variables
* This should be done in a future release
* Remove insecure in favour of the OTEL env variable. Add descriptions
* Use OpenTelemetrySource
* Move generate_distributed_traces
* Move update_span_data and set_span_attribute
* Move finish_task
* Move start_task
* Refactor to support UTs
* Add first UT
* Fix codestyle
* opentelemetry callback entry in the botmeta
* Fix linting
* Fix signature
* Mock methods
* Use MagicMock
* Mock the methods
* UT for transform_to_boolean_or_default
* Fix linting
* Set test data
* Mock _time_ns
* Exclude tests for python <= 3.6
* Remove obsoleted setup task type configuration
* Remove unused docs
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix docs
* unrequired logic that was originally took from https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/callback/junit.py\#L226
* Use raise_from for the required dependencies
* Fix linting
* Add requirements for the UTs
* add missing dependency for the opentelemetry plugin in the UTs
* Add ANSIBLE_ prefix for the ansible specific options
* Add more context in the docs and remove duplicated docs
* As suggested in the code review
* Verify if the OTEL env variables for the endpoint were set
* Fix docs typo
* Fix linting
* Revert "Fix linting"
This reverts commit 3a54c827c5472553a6baf5598bc76a0f63f020c1.
* Revert "Verify if the OTEL env variables for the endpoint were set"
This reverts commit cab9d8648899c28c0345745690c4ec7a41f7e680.
* Remove console_output as suggested
* Apply suggestions from code review
Co-authored-by: flowerysong <junk+github@flowerysong.com>
* Delegate the definition of OTEL_EXPORTER_OTLP_INSECURE to the user
* Move definitions above, close to the class that uses them
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: flowerysong <junk+github@flowerysong.com>
* Added token parameter for AccessTokenAuthorizer
Parameters username and password are not required anymore because of
this.
* Added changelog fragments
* Apply suggestions from code review
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* token authorizer is prioritized
token authorizer is prioritized when token parameter is set
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* domain optional if token not provided
* Updated examples
- `base_url` is required everywhere
- examples for user, name + domain authorization included
- token authorization included
* Update 3327-tss-token-authorization.yml
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Initial commit
* Adding changelog fragment
* Further refactoring
* Fixing bad copy/paste and adding task for psutil >= 5.7.0 install
* Inverting psutil installation order to reduce duplication
* Optimizing regex compilation
* Adds few more gitlab group options
* Update plugins/modules/source_control/gitlab/gitlab_group.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Removes default for new string options
* Removes default from argument_spec
* Adds changelog fragment
* Update plugins/modules/source_control/gitlab/gitlab_group.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Maik Schueller <maik.schueller@sap.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added redis_data_info module
Added:
- redis_data_info module and suggested 'exists' return flag.
- module_utils for redis with a base class that handles database connections.
- inhereited unit tests and added some new ones for the exit flag
* Docfix and sanity
* typo
* Suggested doc changes and ssl option
* TLS and validate_certs fix
* Set support_check_mode for info plugin
* Docfix and import errors
* Redis versioning Fix
* version bump and append fixes
* django_manage - fix fixures
* docs formatting adjustments
* param apps also in need of splitting
* oops, the splitted version was not being properly added to the command args
* added changelog fragment
* check for None
* moving to shlex.split()
* Update changelogs/fragments/3334-django_manage-split-params.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Some vendors surround header etag with quotes, which need to be cleaned before sending a patch
* Minor change fragment
* Add etag strip quote option
* Rebase
* Cleanup fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/remote_management/redfish/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Description update
* Update plugins/modules/remote_management/redfish/redfish_config.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Kyle Williams <kyle.williams@thetradedesk.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* - fix to issue 3041
- add func to work with user lists
- add func to set members to the ones give
* Added version_added to new parameter
* fixed elements in definition of gitlab_users nad wrong import in gitlab_users
* linter issues fixed
* added list elelements to argument_spec
* More whitspeaces for the linter
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* adapted changelog
* removed bugfix (other PR), changes due to review
* changed input handling according to review
* Fixed test findings
* Added list of dict to allow for specifying user/access_level tuples
* corrected doc section
* fixed parameter definitions
* removed strange additional import
* Update changelogs/fragments/3041-gitlab_x_members_fix_and_enhancement.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_project_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed required if
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added suggestions from PR
* fixed identation problem
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Zainab Alsaffar <za5775@rit.edu>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Zainab Alsaffar <za5775@rit.edu>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Recommended changes from discussionst
* Fixed issues from automatic tests
* added missing metaclass due to test finding
* added integration tests
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed optimization for only one user
* Reverted gitlab_project_members to original version - changes will be done in a separate branch
* added examples for new functionality
* - fixed changelog after reverting gitlab_project_memebers
- fully reverted gitlab_project_members
* Fixed error handling: when single users are not updateable in bulk mode the exception should not stop the code flow but document the problem in the result.
* Better error handling
* on error give username, not gitlab numeric userid
* Fixed broken check_mode
* Update plugins/modules/source_control/gitlab/gitlab_group_members.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change from review
Co-authored-by: Max Bidlingmaier <Max-Florian.Bidlingmaier@sap.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Zainab Alsaffar <za5775@rit.edu>
* zfs.py: treated received properties as local and added diff mode support
If you use "zfs set" to explicitly set ZFS properties, they are marked as from source "local". If ZFS properties are implicitly set by using "zfs send" and "zfs receive", for example as part of a template based installation, they are marked as from source "received". But as there is no technical difference between both types of them, the “received” ZFS properties should also be considered “local”. Otherwise Ansible would detect changes, which aren’t actual changes. Therefore I changed line 202/207 to reflect this.
For us it’s quite important, that Ansible modules support the diff mode in order to qualify changes. Therefore I added some code lines to address this.
* added changelog fragment for PR #502
* fixed typos in changelog fragment for PR #502
* minor changes in changelog fragment for PR #502
* added link to pull request in changelog fragment for PR #502
* extended the diff data structure to always include the name of the zfs filesystem
* added code to also maintain the diff data structure after a change
* reverted back some code lines for better code readability
* added an extra dict in the diff data structure to hold the zfs properties
* udm_dns_record: Fix handling of PTR records (#3244)
Before, it was not possible to manage PTR records in Univention DNS,
due to broken zone lookups and improper used parameters of the object.
This patch fixes the PTR handling, allowing both v4 and v6 entries.
* udm_dns_record: [doc] add changelog fragment
* udm_dns_record: [fix] validation errors
* udm_dns_record: import ipaddress module conditionally (#3244)
* udm_dns_record: fix sanity check error, improve doc (#3244)
* udm_dns_record: Improve changes to meet community standards (#3244)
* Force new enough requests version.
* Revert "Force new enough requests version."
This reverts commit 339d40bef7.
* Make sure we don't install a too new python-gitlab for Ansible 2.10.
* Change requirement instead of appending new one.
* Fix quoting.
* Try to skip if import fails.
* Revert "Try to skip if import fails."
This reverts commit 254bbd8548.
* Make other Python versions happy...
* Update tests/utils/shippable/units.sh
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* snap - improved error handling
* added changelog fragment
* removed experiments left overs
* rolled back the smaller list of params for commands other than install
* Fixed incorrect VMID: cloning to an existing VM
During a cloning operation, if the destination VM already exists the VMID returned is not correct.
The VMID returned should be that of the destination VM and not that of the source VM (consistent with line 1230).
A playbook that relies on the returned VMID, for example, to perform other operations on the destination VM, will not work properly if it is unexpectedly interrupted.
* Add files via upload
* moved 3266-vmid-existing-target-clone.yml to changelogs/fragments/
replaced line separator CRLF -> LF
* storing vmid list in variable to avoid multiple API calls
* Linode Inventory can use full IP data from APIv4
- The Linode dynamic inventory module does not currently distinguish
between private and public IP addresses even though the Linode APIv4
contains this information. This change keeps the current behavior as
the default and adds an option to set `ip_style: api`. When set, this
option allows administrators to differentiate between private, public,
slaac, local_link, and pool network addresses providing a more nuanced
and granular view of the remote host's network information.
Signed-off-by: Kellin <kellin@retromud.org>
* Review - amend changelog details
- Adds a link back to this pull request
- Uses markdown styles for easier to read publishing in the changelogs
- Amends the wording style to match the existing changelog styles
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add scope to example invocation
- Adds the `community.general` scope to invocation example
Co-authored-by: Felix Fontein <felix@fontein.de>
* Convert lamda to list comprehension
- Change the ip type filter from a lambda to a list comprehension
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add punctuation to description sentence
- Adds a period to the end of the description sentence
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
If `api_token` is not set and config file exists, it will try to fetch
the value from the activated profile and fallback on default.
This should not break existing workflows.
* Add option for retry_servfail
cf. https://dnspython.readthedocs.io/en/latest/resolver-class.html#dns.resolver.Resolver.retry_servfail
Setting this option to `True` allows for the possibility of the lookup plugin to retry and thereby recover from potentially transient lookup failures, which would otherwise cause the task or play to bail with an unrecoverable exception.
* Create 3247-retry_servfail-for-dig
* documentation for `retry_servfail` option
* Rename 3247-retry_servfail-for-dig to 3247-retry_servfail-for-dig.yaml
* fix whitespace
* Update plugins/lookup/dig.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/lookup/dig.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* rm try/except block
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* nmcli: Disallow Wi-Fi options not supported by nmcli
By querying nmcli directly
* Added changelog fragment
* Added tests
* Simplify `get_available_options()`
* Update changelogs/fragments/3141-disallow-options-unsupported-by-nmcli.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove redundant `802-11-wireless` settings from test show outputs
* Update `mocked_wireless_create(mocker)`
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Address comment re. creating function & use nmcli naming conventions
I.E. `setting`.`property` = `value`
```
nmcli> help set
set [<setting>.<prop> <value>] :: set property value
This command sets property value.
Example: nmcli> set con.id My connection
```
* Added `ignore_unsupported_suboptions` option & improved `wifi(_sec)` doc
* Corrected pep8 issues
```
ERROR: Found 2 pep8 issue(s) which need to be resolved:
ERROR: plugins/modules/net_tools/nmcli.py:342:161: E501: line too long
(236 > 160 characters)
ERROR: plugins/modules/net_tools/nmcli.py:359:161: E501: line too long
(237 > 160 characters)
```
* Fixed remaining sanity check issues and added even more docs
* No need to split Note
* Update plugins/modules/net_tools/nmcli.py
3.5.0 has already been released.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Followed uniformity guideline for format macros from Ansible's dev guide
* Addressed comment
https://github.com/ansible-collections/community.general/pull/3141#discussion_r689098383
* Documentation cleanup continuation
* Replace `NM_SETTING_*`s having a description with their numeric value
* Splitting up long paragraphs.
Also removed `wifi`.`seen-bssids` as it "`is only meant for reading`"
* Addressed remaining comments and clarified `wake-on-lan` note
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Finishing addressing documentation comments.
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update nmcli.py
* Added wifi-related `list` type options to `settings_type` method
* Moved `edit_commands` `execution` logic into its own method
* Move `unsupported_property` deletion into `main` function
* Missing `.items()`
* Resolved missing proper `nmcli conn edit` arguments
* Resolve pylint issue `dangerous-default-value`
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: David Hummel <dhummel@Fingerling>
* redfish_info: Include Status property for GetChassisThermals
Include Status property for Thermal objects when querying Thermal properties
via GetChassisThermals command.
FIXES#3232
* fixup for rename of fragments file
* Update changelogs/fragments/3233-include-thermal-sensor-status-via-redfish_info.yaml
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Added fix for bug report in issue #3192
* Added changelog fragment
* Typo fix
* Added Importerror to exception - as req by linters
* Moved the conditional import statement to try/except block
* module_helper - implemented classmethod to start the module plus minor change
* rolled back the __changed__() method
* added changelog fragment
* Update plugins/module_utils/mh/base.py
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
* no capt Piccards allowed in the base class
* removed extra piccards
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
- Fix a typo in the Linode inventory plugin unit tests
- Fix some style issues in descriptions where punctuation was missing
Signed-off-by: Kellin <kellin@retromud.org>
* slack - minor refactoring and pythonifying
* added changelog fragment
* Update changelogs/fragments/3205-slack-minor-refactor.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* refactor to vdo
* adjusted if condition
* added changelog fragment
* Update plugins/modules/system/vdo.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* adjustements per the PR
* more occurrences of bool compared with yes or no
* Update changelogs/fragments/3191-vdo-refactor.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add ipv4 example to linode inventory
* Update plugins/inventory/linode.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* ini_file - prepare for fixing #273
- restructure tests
- fix error message call: fail_json() takes 1 positional argument but 2 were given
* ini_file - multiple values for one option (#273)
- add module option 'exclusive' (boolean) for the abbility to add
single option=value entries without overwriting existing options
with the same name but different values
- add abbility to define multiple options with the same name but
different values
* ini_file - add more tests for ini_file
* ini_file - fix sanity tests
* apply suggested changes:
- rename 03-regressions.yml to 03-encoding.yml
- fix typos
- fix documentation
* apply suggested changes:
- test errors also for result is failed
* apply suggested changes:
- make state=absent also work with module option exclusive
- add more tests for state=absent and module option exclusive
* fix sanity test:
- 02-values.yml:251:9: hyphens: too many spaces after hyphen
* apply proposed changes
* apply proposed changes from review
- adjust version_added to 3.6.0
- small syntax change in changelog fragment
* Initial Commit
* Comparing with tar file checksums rather than tar header checksums
* Added changelog fragment
* Revert "Comparing with tar file checksums rather than tar header checksums"
This reverts commit bed4b17107.
* Restricting idempotency tests by format
* Applying review suggestions
* zypper: support transactional-updates
- Check if transactional updates are in use by checking for the
existence of /var/lib/misc/transactional-update.state
- Prefix zypper-commands with /sbin/transactional-update --continue --drop-if-no-change --quiet run
if this is the case
fixesansible-collections/community.general#3159
* re-add get_bin_path for executables
* fix typo
* Support older version of psutil (RHEL7 and RHEL6)
The psutil python module is a true mess, they changed the API twice. The function arguments, as well as the objects that are returned.
The documentation does not make it clear which version supports what so the safest implementation is this waterfall approach.
A better approach would be to inspect the returned information, rather than trust a version, but that would not be any more efficient.
In the end it is better to have something that at least works out-of-the-box on all platforms than something that requires custom updates to system packages before it works as expected. Especially for something as basic as `pids`.
* A little bit more concise
* Apply suggestions from code review
* Add changelog fragment.
Co-authored-by: Felix Fontein <felix@fontein.de>
When a package name contains special characters (e.g. "g++"), they are
interpreted as part of the regexp.
This can lead to a crash with an error in the python re module, for
instance with "g++":
sre_constants.error: multiple repeat
Fix this by escaping the package name.
Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
* nmcli: use `stdin` for setting private `wifi_sec` options
I.E.:
* `802-11-wireless-security.leap-password`
* `802-11-wireless-security.psk`
* `802-11-wireless-security.wep-key0`
* `802-11-wireless-security.wep-key1`
* `802-11-wireless-security.wep-key2`
* `802-11-wireless-security.wep-key3`
* Changelog fragement formatting.
* Update changelogs/fragments/3160-pass-wifi-secrets-via-stdin-to-nmcli-module.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make `wifi_sec_secret_options()` into a constant
* Minor cleanup
`'set ' + key + ' ' + value`
=>
`'set %s %s' % (key, value)`
* Change `casing`
* Change `WIFI_SEC_SECRET_OPTIONS` from `list` to `tuple`
* Update `edit_connection()` to not reset `edit_commands`
It will just re`set` them if `edit_connection()` is called more than
once.
* Do not call `edit_connection()` if `connection_update(*)` fails
* Fixed `pep8` issue `E713` in tests
`test for membership should be 'not in'`
* Simplify `create_connection()`/`modify_connection()` logic
* `WIFI_SEC_SECRET_OPTIONS`=>`SECRET_OPTIONS`, options are prefixed
* Moved `if key in self.SECRET_OPTIONS` into `if value is not None` check
We don't need to do anything is the value is None
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fixed `wifi_sec` option changes are not detected
Also updated `docs` URL and formatting to match that of the `wifi`
option
* Removed extraneous `appends` to `cmd` in `connection_update`
These really should have only been added to `connection_options` whose
return values get `extended` onto `cmd`
* pkgin: display stdout and stderr in case the error occurs
* Update changelogs/fragments/pkgin-output-after-error.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updated the plugin to reflect breaking changes introduced in the underlying SDK v1.0.0 update.
* Added Changelog fragment
* Updates based on feedback/review
* Added newline to pass CI
* Added whitepace for linter
* Update changelogs/fragments/3139-tss-lookup-plugin-update-to-make-compatible-with-sdk-v1.yml
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* For #3134
Expose BootOverrideMode parameter to redfish_command to allow setting by user during run.
* Fix trailing whitespace
* Add changelog fragment to contribution.
* Update changelogs/fragments/3135-add-redfish_command-bootoverridemode.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/remote_management/redfish/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/remote_management/redfish/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/remote_management/redfish/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/remote_management/redfish/redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/3135-add-redfish_command-bootoverridemode.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* added utf-8 markers to all .py files in plugins/filter
* added utf-8 markers to all .py files in plugins/inventory
* added utf-8 markers to all .py files in plugins/lookup
* added utf-8 markers to all .py files in plugins/{action,cache,callback}
* added utf-8 markers to all .py files in plugins/connection
* added utf-8 markers to all .py files in plugins/doc_fragments
* report power state of host
* Modify sample information
* add changelog fragment
* apply feedback from github community
* apply feedback
Co-authored-by: Yvan E. Watchman <git@yvanwatchman.eu>
* multiple improvements
* added changelog fragment
* comment and name in int test files
* added notes to the documentation
* removed the extraneous changelog frag
* Update plugins/modules/web_infrastructure/apache2_module.py
* adjusted doc text for sanity check
* Update plugins/modules/web_infrastructure/apache2_module.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* removed extraneous dependency in integration test
Co-authored-by: Felix Fontein <felix@fontein.de>
* initial commit
* multiple changes:
- added a proper process_command_output()
- adjusted the output_params fields (and removed other *_params fields)
* added RETURN documentation, plus few adjustments
* fixed sanity tests
* updated BOTMETA.yml
* further adjustments
* integration tests - first commit
* removed unused files from integration test
* added role installation tests
* removed extraneous cmd line option
* added requirement-file installation tests
* adjusted documentation and output variable names
* fixed integration test
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/ansible_galaxy_install/aliases
Co-authored-by: Felix Fontein <felix@fontein.de>
* Per comments in the PR:
- fixed missing paths case
- fixed install parsing (regexp) for ansible-galaxy collection install in v2.10
* changed the collection installed in test to something unlikely to come embedded in Ansible itself
* fixed logic for Ansible 2.9
* kill trailing whitespace
* changed default language from C.UTF-8 to en_US.UTF-8
* updated c.g version
* skipping test in python 2.6, as ansible-galaxy no longer supports it in devel
* Multiple changes:
- improved docs on ansible 2.9 and python 2.6
- removed method __changed__() - unnecessary since tracking changes in the ansible29_change var
- renamed methods __run29__() and __run210plus__() to __setup29__() and __setup210plus__(), respectively
- ansible 2.9 warning for requirements_file only when type is "both"
* sanity fix
* further adjustments
* removed extraneous doc
* changed method to determine remote ansible version
* do not allow type=both in Ansible 2.9
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/ansible_galaxy_install.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* changed method names per PR
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* minor refactoring in gunicorn module
* added changelog fragment
* reworked the gunicorn bin path part of the code, per PR
* Update changelogs/fragments/3092-gunicorn-refactor.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* More BOTMETA improvements.
* Improve BOTMETA test, start reporting missing entries for new plugins/modules.
* Add instructions for creating new plugins and modules.
* import certificate+key bundle from pkcs12
* fix typo/syntax
* fix variable name
* fix passwords order and improve error handling
* add changelog fragment
* enter keystore pass only once if keystore already exists, and twice at creation
* nomalize tests
- Replace `command` tasks by dedicated (community.crypto) modules.
- Add spaces around jinja2 variable names.
- Call modules by their FQCNs.
* Add tests to check keystore has a private key
fix tests for RedHat/CentOS < 8 (run openssl command as an alternative to
`openssl_pkcs12` module)
* Clone sucess should return new vm id, not id from cloned vm.
* add changelog fragment
* Update changelogs/fragments/3034-promox-kvm-return-new-id.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Yvan E. Watchman <git@yvanwatchman.eu>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Deprecate get state in favour of the xfconf_info module
* added changelog fragment
* added comments in ignore files
* Update changelogs/fragments/3049-xfconf-deprecate-get.yaml
bummer, forgot that
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/xfconf.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/xfconf.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Initial commit
* Fixing units and path joins
* Ensuring paths are consistently ordered
* Adding changelog fragment
* Using os.path.join to ensure trailing slashes are present
* optimizing use of root in add_targets
* Applying initial review suggestions
* Don't know why this works but it does.
Plugin was crashing on this line on Python 3.9.2 deployed on qemu image with debian bullseye. It doesn't crash anymore.
* Create 3052_proxmox_inventory_plugin.yml
* Update changelogs/fragments/3052_proxmox_inventory_plugin.yml
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Added module for creating protected branches
* Applied some changes due to comments and added a test that currently fails
* Changing no_access to nobody due to comment on PR
* Changing the description to clarify it a bit more
* Added working tests for module 'gitlab_protected_branch'
* Fixing lint issues
* Added doc that minimum of v2.3.0 is needed to work correctly
* Fixed the requirements notation
* Check the version of the module
* Hopefully fixed the tests by skipping it when lower version of 2.3.0 is installed
* Fix lint issues
* Applying changes due to comments in PR
* Remove commented code
* Removing the trailing dot ...
Co-authored-by: jenkins-x-bot <jenkins-x@googlegroups.com>
Co-authored-by: Werner Dijkerman <iam@werner-dijkerman.nl>
* added feature flag to control whether CmdMixin adds rc, out and err to the result of the module
* added changelog fragment
* changed from a global flag to parameters in run_command
* updated changelog
* fixed brainless copy-paste of yours truly
* extend support for FreeBSD
* Check if FS exists with `fstyp` if `blkid` fails to find FS signature
(fix a potential data loss)
* Add support for FreeBSD special devices (character devices).
* Add support for FreeBSD native fstype (UFS).
* Update DOCUMENTATION accordingly.
* add/update integration tests
* Add tests for `fstype=ufs` on FreeBSD.
* Run `remove_fs` tests (`state=absent`) on FreeBSD.
* Run `overwrite_another_fs` tests on FreeBSD.
* add a changelog fragment
* fix indentation
* restrict new tests to regular files
* fix typo
* fix searching of providersize (block count)
* add '-y' option to growfs command
* remove references to versions older than the collection itself
* bump version adding new feats to 3.4.0
* reformat *collection* and *version added* for better DOCUMENTATION parsing
* skip tests for FreeBSD < 12.2
* run tests for FreeBSD >= 12.2
* re-enable tests for FreeBSD < 12.2 and give it a try with group1
* util-linux not available on FreeBSD < 12.2
* Add authentication_flow_binding_overrides option to the keycloak_client module
* Add changelog fragment
* Update changelogs/fragments/2949-add_authentication-flow-binding_keycloak-client.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Add unit test authentication_flow_binding_overrides feature on keycloak_client module
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Remove necessities on password or token.
* Upper case letter -> Lower case letter
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Documentation update.
* C -> I
Co-authored-by: Amin Vakil <info@aminvakil.com>
aminvakil is no longer involved with the Ansible Community due to United
States export controls and economic sanctions laws apply to U.S.
persons, entities, and controlled software and technology that is of
U.S. origin or that enters the U.S., including open source software.
* fixed param order
* added changelog fragment
* rebased and uncommented tests per PR
* added /snap link in RH
* typo in tests
* Update tests/integration/targets/snap/tasks/default.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Try some snap fixes.
* Fix logic.
* Try to run tests privileged.
* Prevent failure on rc != 0.
* Fix formatting.
* Revert "Try to run tests privileged."
This reverts commit 77ca91f502.
* Try to run tests on RHEL instead.
* Make sure that snapd is running.
* Add changelog fragment.
* str -> to_native.
* Make sure that installed binary is actually found.
* Add check mode tests.
* Mention #2835 in changelog fragment.
* Fix bug when 2 identical executions in same auth flow
* Add changelog fragment
* Fix unit tests
* Update changelogs/fragments/2904-fix-bug-when-2-identical-executions-in-same-auth-flow.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* uncoupled updates_url from plugin download urls
added new parameters: versioned_plugins_url, latest_plugins_url
* parameters updates_url, latest_plugins_url and versioned_plugins_url changed type to list of strings to implement fallback URLs usage
added type conversion if they are string (backward compatibility)
* removed type conversion this is handled by ansible validation
fix: dont fail if first url fails
* added fallback: if installation from plugin manager fails, try downloading the plugin manually
* fixed test failures
* PEP8 indent fix
* changelog fragment
* added debug outputs for new url fallback behavior
* added version_added in description for latest_plugins_url
Co-authored-by: Felix Fontein <felix@fontein.de>
* added version_added in description for versioned_plugins_url
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/1334-jenkins-plugin-fallback-urls.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* improve backwards-compatibility
add optional arg to allow custom update-center.json targets
* pep8 fixes
* fix inconsistency in argument documentation
* Apply suggestions from code review
Co-authored-by: Amin Vakil <info@aminvakil.com>
* add unit tests
* fix pep8
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* [nmcli] add connection.slave-type for teamed devices
* [nmcli] add fragment with changes for #2827
* [nmcli] add tests for network team
* [nmcli] fix testing
Co-authored-by: Oriol MULA VALLS <oriol.mula@lxp.lu>
* pacman: Descriptive state documentation
* Update plugins/modules/packaging/os/pacman.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Martin Rys <martin@rys.pw>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Check idempotency on yum_versionlock
* Lock packages wildcard
* fix formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix formatting in asserts
* little closer but not still there
* Import fnmatch
* Change check_mode logic
* Add check_mode for add
* Add changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add ability to create project under a user
* Add changelog
* Add username option
* Update changelogs/fragments/2824-gitlab_project-project-under-user.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Make group and username mutually exclusive
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix keystore type; update unit tests
* add changelog fragment
* document new param 'keystore_type'
* add keystore_type support (backward compatible)
* check JKS format with magic bytes
* update integration tests
* revert first changes in unit tests
* update changelog fragment
* fix magic bytes for python2/python3
* fix integration tests (irrelevant check_mode)
* fix unit test (keystore removed before failure => changed=true)
* fix typo
* fix spelling
* shorten a branch
* mock is_jks_or_pkcs12
* fix function path in unit tests
* Apply suggestions from code review (spelling)
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* rename a method (module + unit tests)
* move ArgumentSpec class content to main()
* refactor create() to not loose existing keystore in case of error
* update unit tests
* add integration test (error handling)
* fix keystore backup cleanup
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Add ability to create project under a user
* Add changelog
* Change minor_changes in changelog
As suggested in this comment https://github.com/ansible-collections/community.general/pull/2824#discussion_r653411741
* Fix user's namespace
* Delete changelog
* Add changelog
* Fix changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Change user_group_id to namespace_group_id
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change to namespace_id
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* added check_destroy
This is based on the work done in PR 398. Authors from that PR:
Co-authored-by: effaamponsah <kamponsah.amponsah@gmail.com>
Co-authored-by: m-yosefpor
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* added changelog fragment
* Update plugins/modules/cloud/misc/terraform.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update changelogs/fragments/2874-terraform-check-destroy.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: effaamponsah <kamponsah.amponsah@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Initial Commit
* Adding changelog fragment
* Ensured params are present during verbose output and enhanced check_mode
* Making specific to builtins
* Removing unneccessary external call
* Acutal bugfix
* Allow keycloak_group.py to take token as parameter for the authentification
Refactor get_token to pass module.params + Documentation
Fix unit test and add new one for token as param
Fix identation
Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Allow keycloak_group.py to take token as parameter for the authentification
Refactor get_token to pass module.params + Documentation
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Check if base_url is None before to check format
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
Switch to modern syntax for the documentation (e.g. community.general.keycloak_client)
Update keycloak_client.py
Update keycloak_clienttemplate.py
Add keycloak_authentication module to manage authentication
Minor fixex
Fix indent
* Update plugins/modules/identity/keycloak/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/identity/keycloak/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/identity/keycloak/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/identity/keycloak/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/identity/keycloak/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Removing variable ANSIBLE_METADATA from beginning of file
Minor fix
Refactoring create_or_update_executions :add change_execution_priority function
Refactoring create_or_update_executions :add create_execution function
Refactoring create_or_update_executions: add create_subflow
Refactoring create_or_update_executions: add update_authentication_executions function
Minor fix
* Using FQCN for the examples
Minor fix
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Update plugins/modules/identity/keycloak/keycloak_authentication.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Refactoring: rename isDictEquals into is_dict_equals
Refactoring: rename variable as authentication_flow
Refactoring: rename variable as new_name
Refactoring: rename variable as flow_list
Refactoring: rename variable as new_flow
Refactoring: changing construction of dict newAuthenticationRepresentation and renaming as new_auth_repr
Minor fix
* Refactoring: rename variables with correct Python syntax (auth_repr, exec_repr)
Move create_or_update_executions function from keycloak.py to keycloak_authentication.py
Minor fix
Remove mock_create_or_update_executions not needed anymore
Fix unit test
Update plugins/module_utils/identity/keycloak/keycloak.py
is_dict_equals function return True if value1 empty
Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Rename is_dict_equal as is_struct_included and rename params as struct1 and struct2
Rename variables according to Python naming conventions
Refactoring: add find_exec_in_executions function in keycloak_authentication to remove code duplication
typo
Add blank line
Add required parameter, either creds or token
Typo
try/except only surround for loop containing struct2[key]
Add sub-options to meta_args
assigment of result['changed'] after if-elif-else block
Fix CI error: parameter-type-not-in-doc
Fix unit test: none value excluded from comparison
Minor fix
Simplify is_struct_included function
Replace 'type(..) is' by isinstance(..)
Remove redundant required=True and redundant parenthesis
Add check_mode, check if value is None (None value added by argument spec checker)
Apply suggestions from code review
Update plugins/modules/identity/keycloak/keycloak_authentication.py
* Update plugins/modules/identity/keycloak/keycloak_authentication.py
* Add index paramter to configure the priority order of the execution
* Minor fix: authenticationConfig dict instead of str
Co-authored-by: Felix Fontein <felix@fontein.de>
* Initial Commit
* Further refinement
* Fixing archive name distortion for single file zips
* Applying initial review suggestions
* Updating path value for single target
* Adding test case for single target zip archiving
* Fixing integration for RHEL/FreeBSD on ansible 2.x
* Fixing integration second attempt
* Adding changelog fragment
* Updating changelog fragment
* Support stop a running Jenkins build. Meanwhile enrich document content and test cases.
* Fix the inconsistencies regarding the function name.
* Submit the changelog and fix a PEP8 issue.
* Remedy whitespace related PEP8 issues.
* Implement the idempotent test case for the stop build function.
* Make sure it returns proper changed status when we stop a build repeatedly.
* Fix incorrect usages on comparison with True or False and incorrect usages on validating the changed status.
* In this mocking situation, adjust the mock return value and test case to perform unit testing.
* Implement JenkinsMockIdempotent() to mock return value in idempotent test cases.
* Fix issues reported by CI.
* Refactor the code to avoid CI exception and remove get_build_status() from mock function as they should not be there.
* Update plugins/modules/web_infrastructure/jenkins_build.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* gem_module: Add bindir option
This option allows to specify directory to install executables, e.g.
`/home/user/bin` or `/home/user/.local/bin`. This comes especially handy
when used with user_install option as the default path of executables is
not in PATH.
* Update changelogs/fragments/gem_module_add_bindir_option.yml
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* gem_module: Integration tests for bindir option
* gem_module: Update Integration tests for bindir option
* gem_module: Update Integration tests for bindir option
Make sure gist is not installed system-wide prior the tests
* Revert "gem_module: Update Integration tests for bindir option"
This reverts commit 04eec6db27.
* Do not check "install_gem_result is changed" for ansible develop on openSUSE
* Revert "Do not check "install_gem_result is changed" for ansible develop on openSUSE"
This reverts commit 48ecb27889.
* gem_module: Use --norc to avoid surprises
Run install and uninstall actions with `--norc`. This way ansible has
more control over the way gems are installed.
* Revert "gem_module: Use --norc to avoid surprises"
This reverts commit 66f40bcfe6.
* gem_module: bindir - Ignore openSUSE Leap
* Update plugins/modules/packaging/language/gem.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* gem_module: Use --norc to avoid surprises
Run install and uninstall actions with `--norc` when supported (rubygems >= 2.5.2).
This way ansible has more control over the way gems are installed.
* Try distutils.version instead of packaging
* ver is an list, not string
* ver is not list either but tuple
* Update changelogs/fragments/gem_module_add_bindir_option.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* ver can be None (when can this happen?)
* gem: Add norc option
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/gem.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Use tuples to compare versions
* Apply suggestions from code review
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/packaging/language/gem.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* lost norc option check is back
* Move handling norc option to separate function
* cosmetic
* fix for the previos commit
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Cache result of get_rubygems_version
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
ZFS-backed block devices may contain just the bare device name and
not have extra options like `,size=foo`, `,format=qcow2` etc. This
breaks an assumption in existing regex (which expects a comma).
Support such device strings and add a couple of testcases to validate.
* npm - fix updating version specific modules
if a version specific module is used, the comparison will be used with the version and not only by name
* Update plugins/modules/packaging/language/npm.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update changelogs/fragments/2830-npm-version-update.yml
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update changelogs/fragments/2830-npm-version-update.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update changelogs/fragments/2830-npm-version-update.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* fix sudorule_add_allow_command_group
fix sudorule_add_allow_command_group is not working on freeIPA 4.8.7 at least, sudorule_add_allow_command should be used instead with item sudocmdgroup
* Added changelog fragment
* reviving flatpack PR
* added changelog fragment
* adjusted integration tests per PR
* adjusted examples to use the full name of the module
* Use new local artifacts.
* Re-add StrictVersion import.
* Try to clean up PR.
* ...
* Use original name in installed/not installed list.
* More fixes.
* Work around flatpak bug.
* Fix bug I introduced.
Co-authored-by: Felix Fontein <felix@fontein.de>
pamd module does not handle or modify authselect profiles
which are basically template files for authselect. The autheselect
generates pam.d files from these profiles.
Fixes: #1954
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Add server_prefix and server_port as supported arguments for the redhat_subscription module.
* Adjust the argument sequence in the test case to be consistent with the original code in line 364 in redhat_subscription.py and add the changelog fragment.
* Grammatical changes such as adding full stops and using 'an HTTP' instead of 'a HTTP'.
* Commit the suggested changelog update.
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Fix typo.
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Add Test PRs locally section to CONTRIBUTING.md
* fix formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adjust PR now that ansible-collections/community-docs#16 has been merged
* improve sentence
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Updated example section for ``variables``
* Added link about token generation
* Misc changes in doc
Fixes: #467
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Re-enable Fedora 34
* Update procps-ng before anything in yum_versionlock integration test
* Move procps-ng installation to block
* Revert "Move procps-ng installation to block"
This reverts commit 3aa873a110.
* Update procps-ng only on Fedora 34
* Similar version restrictions than flatpak_remote tests.
* ...
* Try to work around missing dependencies.
* Revert "Try to work around missing dependencies."
This reverts commit 66a4e38566.
* Add changelog.
* App8 -> App2; make sure that there are two apps App1 and App2.
* Fix forgotten variabe.
* Remove test notices.
* Seems like flatpak no longer supports file:// URLs.
The tests would need to be rewritten to offer the URL via http:// instead.
* Try local HTTP server for URL tests.
* ...
* Lint, add status check.
* Add boilerplate.
* Add 'ps aux'.
* Surrender to -f.
* Work around apparent flatpak bug.
* Fix YAML.
* Improve condition.
* Make sure test reruns behave better.
* zypper_repository: Check idempotency on adding repo with releasever
* Name required when adding non-repo files.
* Initial try to fix releasever
* Replace re.sub with .replace
* name releaseverrepo releaseverrepo
* Change to ansible_distribution_version for removing repo
* improve asserts format
* add changelog
* Fix changelog formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
* improve command used for retrieving releasever variable
Co-authored-by: Felix Fontein <felix@fontein.de>
* add basearch replace
* Add basearch to changelog fragment
* Check for releasever and basearch only when they are there
Co-authored-by: Felix Fontein <felix@fontein.de>
* also uses LC_ALL to force language
* adjusted test_xfconf and test_cpanm
* added changelog fragment
* Update changelogs/fragments/2731-mh-cmd-locale.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* adjusted chglog frag per PR
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/remote_management/stacki/stacki_host.py
* sanity fix
* added changelog fragment
* extra fix to the documentation
* Update plugins/modules/remote_management/stacki/stacki_host.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/remote_management/stacki/stacki_host.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* rollback params
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix call to async_status (-> action plugin)
* add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* rename a local variable for readability
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix: include portal and port for logged on check
* refactor: remove extra space
* fix: allow None portal and port on target_loggedon test
* add auto_portal_startup argument
* fix: change param name for automatic_portal
* add changelog fragment
* refactor: Update changelogs/fragments/2684-open_iscsi-single-target-multiple-portal-overrides.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add version added info to auto_portal_startup arg
* add example for auto_portal_startup
* fix: remove alias for auto_portal form arg_spec as well
* refactor: elaborate in fragment changelogs
Elaborate change
Co-authored-by: Amin Vakil <info@aminvakil.com>
* open_iscsi: elaborate changelog fragment
* Update plugins/modules/system/open_iscsi.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Wire token param into consul_api #2124
* Update changelogs/fragments/2124-consul_kv-pass-token.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* #2124 renamed release fragment to match pr, removed parse_params.
* putting look back in, do some linting #2124
* try more linting
* linting
* try overwriting defaults in parse_params with get_option vals, instead of removing that function completely.
* Revert "back to start, from 2nd approach: allow keyword arguments via parse_params for compatibility."
This reverts commit 748be8e366.
* Revert " linting"
This reverts commit 1d57374c3e.
* Revert " try more linting"
This reverts commit 91c8d06e6a.
* Revert "putting look back in, do some linting #2124"
This reverts commit 87eeec7180.
* Revert " #2124 renamed release fragment to match pr, removed parse_params."
This reverts commit d2869b2f22.
* Revert "Update changelogs/fragments/2124-consul_kv-pass-token.yml"
This reverts commit c50b1cf9d4.
* Revert "Wire token param into consul_api #2124"
This reverts commit b60b6433a8.
* minimal chnages for this PR relative to current upstream.
* superfluous newline in changlog fragment.
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* Reduce stormssh searches based on host
Due to the stormssh searches in the whole config values, we need to reduce the search results based on the full matching of the hosts
* Removed whitespaces in the blank line
* Added changelog fragment and tests for the fix.
* Added newline at the end of the changelog fragment
* Added newline at the end of the tests
* Fixed bug with name in tests
* Changed assertion for the existing host
* Update changelogs/fragments/2568-ssh_config-reduce-stormssh-searches-based-on-host.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adjusted tests
* New line at the end of the tests
Co-authored-by: Anton Nikolaev <anikolaev@apple.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* add module pacman_key
* add symlink and fix documentation for pacman_key
* documentation fix for pacman_key
* improve logic around user input
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Improve parameter checking
required_one_of=[] is neat.
Co-authored-by: Alexei Znamensky
* Revert "Improve parameter checking"
This reverts commit 044b0cbc85.
* Simplify a bunch of code.
* fix typos pointed out by yan12125
* replaced manual checks with required-if invocation
* added default keyring to documentation
* some initial tests
* updated metadata
* refactored to make sanity tests pass
* refactor to make sanity tests pass ... part deux
* refactor: simplify run_command invocations
* test: cover check-mode and some normal operation
* docs: fix grammatical errors
* rip out fingerprint code
a full length (40 characters) key ID is equivalent to the fingerprint.
* refactor tests, add a couple more
* test: added testcase for method: data
* Update plugins/modules/packaging/os/pacman_key.py
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* docs: correct yaml boolean type
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_realm.py: Fix the `ssl_required` parameter according to the API
The `ssl_required` parameter is a string and must be one of 'all',
'external' or 'none'. Passing a bool will make the server return a 500.
* fixup! keycloak_realm.py: Fix the `ssl_required` parameter according to the API
* Update changelogs/fragments/keycloak_realm_ssl_required.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_realm.py: Mark 'reset_password_allowed' as no_log=False
This value is not sensitive but Ansible will complain about it otherwise
* fixup! keycloak_realm.py: Mark 'reset_password_allowed' as no_log=False
* Apply all suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Began with filter docs.
* Add more filters.
* Add time unit filters.
* Add TOC and filters to create identifiers.
* Add more filters.
* Add documentation from ansible/ansible for json_query and random_mac.
* Update docs/docsite/rst/filter_guide.rst
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
* use get() rather than querying the key directly
* add a changelog fragment
* re-enable CI tests
* Update changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* new
* move link
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* add more interesting return value in test
* remove unused objects
* removed unneeded function
* extend test output
* Update tests/unit/plugins/modules/database/saphana/test_hana_query.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Rainer Leber <rainer.leber@sva.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Initial file shamelessly copied from community.mysql
* Add some notes on pull requests
* Add CONTRIBUTING.md link to README.md
* Add quick-start development guide link
* Apply felixfontein's suggestions
Co-authored-by: Felix Fontein <felix@fontein.de>
* add note about rebasing and merge commits
Co-authored-by: Felix Fontein <felix@fontein.de>
* add note about easyfix and waiting_on_contributor tags
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* added note in documentation for utf-8 bom
* Update plugins/modules/files/ini_file.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* define POST method for pluginManager api requests
Jenkins makeEnable/makeDisable api requests requires to use POST method
* add changelog fragment
* fix my yoda lang thx to aminvakil
Co-authored-by: Amin Vakil <info@aminvakil.com>
* update changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* rhsm_release: Fix the issue that rhsm_release module considers 8, 7Client and 7Workstation as invalid releases.
* Fix the unit test error: The new release_matcher could pass a wider range of patterns but that would not cause extra issue to the whole module.
* Submit the changelog fragment.
* Update changelogs/fragments/2571-rhsm_release-fix-release_matcher.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* opening file as utf-8-sig
* added changelog fragment
* using io.open()
* Update tests/integration/targets/ini_file/tasks/main.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix wrong certificate alias used when importing pkcs12, modify error output, stdout is more relevant than stderr
* add changelog fragment
* fix changelog fragment
* Add comment_visibility parameter for comment operation for jira module
Co-authored-by: felixfontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* addressed pep8 E711
* Added missing parameter.
* params is not in use anymore.
* It appears other modules are using options, where in documentation they use suboptions. Inconsistancy?
* adjusted indentation
* tweaked suboptions, fixed documentation
* Added fragment
* Update changelogs/fragments/2556-add-comment_visibility-parameter-for-comment-operation-of-jira-module.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: felixfontein <felix@fontein.de>
* Add 'bin' option to use an alternative pacman binary
* Add changelog entry
* Incorporate recommendations
* Update plugins/modules/packaging/os/pacman.py
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* refactor initialize_from_null_state()
* Use a more neutral command (iptables -L) to load per-table needed modules.
* fix 'FutureWarning: Possible nested set at position ...' (re.sub)
* fix pylints (module + action plugin)
* unsubscriptable-object
* superfluous-parens
* consider-using-in
* unused-variable
* unused-import
* no-else-break
* cleanup other internal module_args if they exist
* add changelog fragment
* Apply suggestions from code review (changelog fragment)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove useless plugin type in changelog fragment
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* revamp filesystem module to prepare next steps
* pass all commands to module.run_command() as lists
* refactor grow() and grow_cmd() to not need to override them so much
* refactor all existing get_fs_size() overrides to raise a ValueError if
not able to parse command output and return an integer.
* override MKFS_FORCE_FLAGS the same way for all fstypes that require it
* improve documentation of limitations of the module regarding FreeBSD
* fix indentation in DOCUMENTATION
* add/update function/method docstrings
* fix pylint hints
filesystem: refactor integration tests
* Include *reiserfs* and *swap* in tests.
* Fix reiserfs related code and tests accordingly.
* Replace "other fs" (unhandled by this module), from *swap* to *minix*
(both mkswap and mkfs.minix being provided by util-linux).
* Replace *dd* commands by *filesize* dedicated module.
* Use FQCNs and name the tasks.
* Update main tests conditionals.
* add a changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* declare variables as lists when lists are needed
* fix construction without useless conversion
Co-authored-by: Felix Fontein <felix@fontein.de>
* cmd params now taken from self.vars instead of self.module.params
* added changelog fragment
* Update changelogs/fragments/2517-cmd-params-from-vars.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* influxdb_user: allow creation of first user with auth enabled (#2364)
* handle potential exceptions while parsing influxdb client error
* fix changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* influxdb_user: use generic exceptions to be compatible with python 2.7
Co-authored-by: Felix Fontein <felix@fontein.de>
instead of whitelisting some subset of known existing permissions, just
allow any string to be used as permissions. this way, any permission
supported by the underlying zfs commands can be used, eg. 'bookmark',
'load-key', 'change-key' and all property permissions, which were
missing from the choices list.
Add ability to ignore error on missing pass file to allow processing the
output further via another filters (mainly the default filter) without
updating the pass file itself.
It also contains the option to create the pass file, like the option
create=true does.
Finally, it also allows to issue a warning only, if the pass file is not
found.
* 1085 updating the hcl whitelist to include all supported options
* Update changelogs/fragments/1085-consul-acl-hcl-whitelist-update.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Dillon Gilmore <dgilmor@rei.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* minor refactors
* minor refactors in plugins/connection/saltstack.py
* minor refactors in plugins/connection/qubes.py
* minor refactor in plugins/connection/lxc.py
* minor refactors in plugins/connection/chroot.py
* minor refactors in plugins/connection/funcd.py
* minor refactors in plugins/connection/iocage.py
* minor refactors in plugins/connection/jail.py
* added changelog fragment
* Adding cryptography as a backend for OpenSSL operations
* Updating unit tests and adding changelog fragment
* Allowing private key password option when using unprotected key
* Incorporating suggestions from initial review
* Centralizing module exit path
* gitlab_user: add expires_at option
* Add changelog
* Add integration test
* Add expires_at to addSshKeyToUser function
* password is required if state is set to present
* Check expires_at will not be added to a present ssh key
* add documentation about present ssh key
* add expires_at to unit tests
* Improve documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Only pass expires_at to api when it is not None
* Emphasize on SSH public key
* Apply felixfontein suggestion
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add proxmox_nic module
Add proxmox_nic module to manage NIC's on Qemu(KVM) VM's in a Proxmox VE
cluster.
Update proxmox integration tests and add tests for proxmox_nic module.
This partially solves https://github.com/ansible-collections/community.general/issues/1964#issuecomment-790499397
and allows for adding/updating/deleting network interface cards after
creating/cloning a VM.
The proxmox_nic module will keep MAC-addresses the same when updating a
NIC. It only changes when explicitly setting a MAC-address.
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add check_mode and implement review comments
- check_mode added
- some documentation updates
- when MTU is set, check if the model is virtio, else fail
- trunks can now be provided as list of ints instead of vlanid[;vlanid...]
* Make returns on update_nic and delete_nic more readable
Co-authored-by: Felix Fontein <felix@fontein.de>
* Increase readability on update_nic and delete_nic
* Implement check in get_vmid
- get_vmid will now fail when multiple vmid's are returned as proxmox
doesn't guarantee uniqueness
- remove an unused import
- fix a typo in an error message
* Add some error checking to get_vmid
- get_vmid will now return the error message when proxmoxer fails
- get_vmid will return the vmid directly instead of a list of one
- Some minor documentation updates
* Warn instead of fail when setting mtu on unsupported nic
- When setting the MTU on an unsupported NIC model (virtio is the only
supported model) this module will now print a warning instead of
failing.
- Some minor documentation updates.
* Take advantage of proxmox_auth_argument_spec
Make use of proxmox_auth_argument_spec from plugins/module_utils/proxmox.py
This provides some extra environment fallbacks.
* Add blank line to conform with pep8
Co-authored-by: Felix Fontein <felix@fontein.de>
* influxdb_retention_policy: add state option to module argument spec
* influxdb_retention_policy: simplify duration parsing logic (suggested in #2284)
* add changelog
* fix documentation and changelog
* add constants for duration and sgduration validations
* restyle ansible module spec
Co-authored-by: Felix Fontein <felix@fontein.de>
* improve changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
* set changed result in check mode for state absent
* remove required flag in optional module arguments
* influxdb_retention_policy: improve examples readability
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: Remove dead code, 'options' never contains keys from 'param_alias'
* Update changelogs/fragments/2417-nmcli_remove_dead_code.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* first push: add discord module and test for notifications
* fix the yaml docs and edit the result output
* add link
* fix link
* fix docs and remove required=False in argument spec
* add elements specd and more info about embeds
* called str...
* elements for embeds oc.
* fix typo's in description and set checkmode to false
* edit docs and module return
* support checkmode with get method
* fix unit test
* handle exception and add new example for embeds
* quote line
* fix typos
* fix yaml
* break down of module_helper into smaller pieces, keeping compatibility
* removed abc.ABC (py3 only) from code + fixed reference to vars.py
* multiple changes:
- mh.base - moved more functionalities to ModuleHelperBase
- mh.mixins.(cmd, state) - CmdMixin no longer inherits from ModuleHelperBase
- mh.mixins.deps - DependencyMixin now overrides run() method to test dependency
- mh.mixins.vars - created class VarsMixin
- mh.module_helper - moved functions to base class, added VarsMixin
- module_helper - importing AnsibleModule as well, for backward compatibility in test
* removed unnecessary __all__
* make pylint happy
* PR adjustments + bot config + changelog frag
* Update plugins/module_utils/mh/module_helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/mh/module_helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* modified redfish_config and idrac_redfish_config to skip incorrect attributes
Signed-off-by: Trevor Squillario Trevor_Squillario@Dell.com
* modified redfish_utils.py and idrac_redfish_config.py to return empty warning message
* modified redfish_config.py and idrac_redfish_config.py to use module.warn()
* updated changelog fragment for pr 2334
* Add dependent lookup plugin.
* Use correct YAML booleans.
* Began complete rewrite.
* Only match start of error msg.
* Improve tests.
* Work around old Jinja2 versions.
* Fix metadata.
* Fix filter name.
* Avoid incorrectly marking zfs tasks as changed
The zfs module will incorrectly mark certain tasks as having been
changed. For example, if a dataset has a quota of "1G" and the user
changes it to "1024M", the actual quota vale has not changed, but since
the module is doing a simple string comparison between "1G" and "1024M",
it marks the step as "changed".
Instead of trying to handle all the corner cases of zfs (another example
is when the zpool "altroot" property has been set), this change simply
compares the output of "zfs-get" from before and after "zfs-set" is
called
* update changelog format
* Update changelogs/fragments/2454-detect_zfs_changed.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add note about check_mode
* Update plugins/modules/storage/zfs/zfs.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/storage/zfs/zfs.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* clarify check mode qualifications
* rephrase to avoid hypothetical
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix stackpath_compute validate_config
get the lenght for the client_id / client_secret to validate inventory configuration
* Add changelog fragment.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Small Documentation Example Of Cask Leveraging
- Just a lil' demo showing that we can utilize homebrew/cask/foo syntax
for given name of package to grab associated cask pacakge
Resolves: patch/sml-doc-example-update
* Slight Documentation Example Edit
- adjusting documentation example to provide better info surrounding installing
a given formula from brew via cask
Resolves: patch/sml-doc-example-update
* Small Edits To Make PEP8 Happy
- format code with autopep8 in vs code
Resolves: patch/sml-doc-example-update
* Only Making Small PEP8 Change
- reverting previous mass PEP8 format, focus on trimming whitespace on
doc example entry
Resolves: patch/sml-doc-example-update
* Remove Trailing Whitespace PEP8
- removed trailing whitespace on doc example chunk
Resolves: patch/sml-doc-example-update
* Clean up test entries from sysrc tests
* sysrc: enable tests
* sysrc: cache the files to be changed and restore them
* Update the ezjail archive host and remove obsolete file
* sysrc: set ezjail to use archives for 12.0 or less
* sysrc: Detect the version to use ftp vs ftp-archive using http
* sysrc: Skip ezjail test on FreeBSD 12.0
* 📝 Document nested node addition with "_" in xml module
Nested node addition using "_" to indicate sub nodes, and attributes are only documented in tests and issues, where is hard to find.
* 🚨 Fix trailing space
* Apply suggestions from code review
Add missing collection prefix for modules.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add missing comments
* Update xml.py
* Fix linter warnings
Co-authored-by: Felix Fontein <felix@fontein.de>
* nmcli: Compare MAC addresses case insensitively
* Update changelogs/fragments/2416-nmcli_compare_mac_addresses_case_insensitively.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add mac to TESTCASE_BRIDGE so test_bridge_connection_unchanged covers case sensitive mac address comparison
* Update plugins/modules/net_tools/nmcli.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Convert current_value to uppercase as well in case nmcli changes behaviour
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change stdout to console
* readd stdout, resulting in console
* add changelog
* readd stdout to docs and add a warning when it is used
* version of what???
Co-authored-by: Felix Fontein <felix@fontein.de>
* postpone deprecation in another PR
* remove console option, so it can be backported
* change changelog respectively
* Fix changelog formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix#2373
* Changelog fragment for #2373
* Update changelogs/fragments/2373-svr4pkg-fix-typeerror.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update changelogs/fragments/2373-svr4pkg-fix-typeerror.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
The composer module always uses the no-interaction option if it
discovers it _after_ calling "composer help ..." but not on the help
call itself. The lack of this option caused composer to not exit when
called through the ansible module.
The same example command when ran interactively does not prompt for user
interaction and exits immediately. It is therefore currently unknown why
the same command hangs when called through the ansible composer module
or even directly with the command module.
Example command which hangs:
php /usr/local/bin/composer help install --format=json
* Add fedora 34 and fix typo
* Remove Fedora 32 from devel testing
* Use one newer version of Fedora for fixed ansible versions
* Revert "Use one newer version of Fedora for fixed ansible versions"
This reverts commit cbd006bd38.
* Try to skip task.
* Revert "Try to skip task."
This reverts commit ff0c899a86.
* Temporary disable Fedora 34 on setup_postgresql_db
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed elements for many lists
* added changelog fragment
* Removed verbose types in description - still missing formatting and properly documenting dicts
* Make inventory scripts executable
* Mark inventory scripts in vault folder as executable
* Add changelog entry for making inventory scripts exectuable
* Update changelogs/fragments/2337-mark-inventory-scripts-executable.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* lxd dynamic inventory and test data
* added ``merge_profile`` parameter to merge configurations from the play to an existing profile
* cosmetic changes
* added ``merge_profile`` parameter to merge configurations from the play to an existing profile
* cosmetic changes
* fix pylint errors
* fix flake8 warnings
* fix pep8 errors without "line to long"
* fix ansible tests
* fix typo
* fix version added
* fix lost of suggestions from felixfontein
* fix filter
fix ansible test errors
* delete test config
* delete 'notes:' and copy content to description
* move testdata
load testdata by path from config
* updated documentation
* fix test data and remove inventory branch
* fix spellings and rename lxd to community.general.lxd
* fix documentation
* remove selftest
* strip example data
* add unit test
* switch to ansible.module_utils.common.dict_transformations
* documentation cleanup
* move lxd_inventory.atd from files to fixtures
* update documentation
move lxd_inventory.atd
* rename self.groups to self dispose
remove dumpdata
* cleanup
* fix unittests
comment out dump_data, it breaks the unit tests
* fix pep8
* Apply suggestions from code review
* Update plugins/inventory/lxd.py
* add test if no groupby is selected
* rename disposed to groupby
remove unused constant
other suggested cleanups
* Use bundled ipaddress instead of own code.
* Update plugins/inventory/lxd.py
* Exceptions should not be eaten.
* Improve error handling for network range/address parsing.
* Fix typo.
* Make network range valid.
* Do not error when groupby is not a dict.
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Merged changes from old PR
* Added suppurt for -, other adaptations regarding size.
* Implementing +- support for -l
* Added changelog
* Renamed changelog
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow keycloak_group.py to take token as parameter for the authentification
* Refactor get_token to pass module.params + Documentation
* Fix unit test and add new one for token as param
* Fix identation
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow keycloak_group.py to take token as parameter for the authentification
* Refactor get_token to pass module.params + Documentation
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Check if base_url is None before to check format
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Switch to modern syntax for the documentation (e.g. community.general.keycloak_client)
* Fix URL_REALMS in keycloak.py
* Update keycloak_client.py
* Update keycloak_clienttemplate.py
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* convert string returned by plugin to unicode
* add changelog fragment
* fix changelog format
* fix changelog format yet again
Co-authored-by: Anubhav Chakraborty <anubchak@cisco.com>
* Add plugin_paths parameter to terraform module.
The list `plugin_paths` is used in the init phase of terraform by setting
the `-plugin-dir` command line argument to a path that contains
terraform plugins. When the `-plugin-dir` argument is set, the plugin
discovery and auto-download of terraform is disabled. This is useful when
running terraform in automation environments for testing where the production
endpoints are strictly controlled or on air-gapped networks and you need
to control the versions of plugins available.
* Added `elements: path` to `plugin_paths` parameter documentation in terraform.py
* added changelog fragment
* Update changelogs/fragments/2308-terraform-add-plugin_paths-parameter.yaml
use double back-ticks vice single
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add version added to documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
Add markup around URL in documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/terraform.py
remove `required=False` and `default=None` from module argument spec, as that is the default behavior and redundant
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Added directory structure info to documentation and examples sections.
* Update plugins/modules/cloud/misc/terraform.py
grammatical fix
Co-authored-by: Felix Fontein <felix@fontein.de>
* grammar fix to description.
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* added some cases for unsupported network interface and multi-nic without IP addresses
* added changelog fragment
* lint fixes and added option for ansible_host setting
* added description about the new option
* lint fix too long line
* Update changelogs/fragments/2259-proxmox-multi-nic-and-unsupported.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* 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 plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added CommandDisabled
* refactored to code and added a test case where an interfaces doesnt have a mac address or is invalid to reset it to 00:00:00:00:00:00
* Update tests/unit/plugins/inventory/test_proxmox.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* Update tests/unit/plugins/inventory/test_proxmox.py
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* mac-address is set to None instead of 00:00:... when not defined
* changed None to empty string for mac-address
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
* with_filetree: use splitext for compatibility with template
The example code given deploys files with their .j2 extensions intact, which is probably not what you want.
* Explain how templates interact with splitext|first
* Update plugins/lookup/filetree.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Don't encourage setting the mode of symlinks
On ext4, maybe most filesystems, symlinks always have the artificial mode of 0777, and `chmod $mode $symlink` *writes through* the symlink to its target file.
An effect of this is that if you deploy a file and a symlink to it (e.g. this common situation: /etc/nginx/sites-available/default and /etc/nginx/sites-enabled/default -> ../sites-available/default) then `with_filetree` will forever first deploy the file with the right mode, then corrupt its mode to 0777, and every redeploy will see a change to fix, forever in a loop.
Probably `file:` should refuse `mode:` on `state: link`s, but in the meantime, avoid recommending it in `filetree`
* Use `follow: false` instead of just the mode.
This should be more cross-compatible.
https://github.com/ansible-collections/community.general/pull/2285#discussion_r616571873
* Update plugins/lookup/filetree.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Keycloak: add realm management
* Minor fixes
* Review fixes
* Remove sort of list because condition on list cannot be true
* Add exception in fail_json and update test
* Change output for secret and version in comments
* Update copyright
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add missing traceback
* Apply suggestions from code review
* Update plugins/modules/identity/keycloak/keycloak_realm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow keycloak_group.py to take token as parameter for the authentification
* Fix some pep8 issues
* Add changelog fragment
* Refactor get_token to pass module.params + Documentation
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix unit test and add new one for token as param
* Fix identation
* Check base_url format also if token is given
* Update plugins/doc_fragments/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allow keycloak_group.py to take token as parameter for the authentification
* Refactor get_token to pass module.params + Documentation
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/keycloak/keycloak_group.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Check if base_url is None before to check format
* Fix unit test: rename base_url parameter to auth_keycloak_url
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/2250-allow-keycloak-modules-to-take-token-as-param.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update changelogs/fragments/2250-allow-keycloak-modules-to-take-token-as-param.yml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/module_utils/identity/keycloak/keycloak.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_clienttemplate.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_group.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/identity/keycloak/keycloak_group.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Switch to modern syntax for the documentation (e.g. community.general.keycloak_client)
* Add check either creds or token as argument of all keyloak_* modules
* Update plugins/modules/identity/keycloak/keycloak_client.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* nmcli: manual overwrite MAC address for any devices
Don't restrict the ability to manually set the MAC address to the
bridge. NetworkManager is able to set a static MAC address to the
vaste majority of the device types.
* Update changelogs/fragments/2224_nmcli_allow_MAC_overwrite.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed udm_dns_zone
* fixed udm_dns_record
* removed lines from ignore files
* added changelog fragment
* moved the list elements fix to minor_changes
* new module: filesize
* description: create or resize a file, given its size
* with integration tests
* Update plugins/modules/files/filesize.py (version_added)
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update filesize.py (extends_documentation_fragment: use fqcn)
Co-authored-by: Amin Vakil <info@aminvakil.com>
* doc: use strict lowercase booleans (true/false) rather than other variants
* use *raw* type to manage size values
* drop 'miB' unit family
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* add more details
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* copying from the previous branch
* passing sanity - docs incomplete
* adjusted parameter name
* adjusted unit tests for mode=new
* adjusted integration tests for mode=new
* added 'russoz' to list of maintainers for cpanm
* Update tests/integration/targets/cpanm/tasks/main.yml
* Update tests/integration/targets/cpanm/tasks/main.yml
* ensuring backward compatibility + tests
* added changelog fragment
* version for new parameter and adjusted example
* typo and formatting
* Update plugins/modules/packaging/language/cpanm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/cpanm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/cpanm.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* multiple changes
- some fixes from PR
- supporting tests
- integration is no longer unsupported => destructive, should run on
apt- and rpm-based systems only
* only run integration tests in redhat-family > v7 or debian-family
Co-authored-by: Felix Fontein <felix@fontein.de>
* linode_v4: add support for `private_ip` option.
* linode_v4: remove `required` attribute from `private_ip` parameter.
* linode_v4: add changelog fragment.
* linode_v4: add PR link to changelog fragment.
Co-authored-by: Amin Vakil <info@aminvakil.com>
* linode_v4: add the `version_added` attribute to the `private_ip` section of module documentation
Co-authored-by: Felix Fontein <felix@fontein.de>
* linode_v4: improve styling of `private_ip` docs
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix for Terraform 0.15
removed the append of variables in terraform validate because this is deprecated in Terraform 0.15. See: https://github.com/hashicorp/terraform/blob/v0.15/CHANGELOG.md >> The -var and -var-file options are no longer available on terraform validate. These were deprecated and have had no effect since Terraform v0.12
* Create terraform-validate.yaml
* Update and rename terraform-validate.yaml to 2246-terraform-validate.yaml
* Update changelogs/fragments/2246-terraform-validate.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update terraform.py
remove `-force` add `-auto-approve` on destroy as described in issue #2247
* Update and rename 2246-terraform-validate.yaml to 2246-terraform.yaml
* Update 2246-terraform.yaml
* add a function which check the used tf version
* add a function which check the used tf version
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Amin Vakil <info@aminvakil.com>
* add version return to function
* changed it to pass sanity check
* change variable name
* changed to a more specialized data types
* remove use_unsafe_shell=True
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add description
* Update changelogs/fragments/2246-terraform.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Rainer Leber <rainer.leber@sva.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* New filters hashids_encode and hashids_decode
* Adding changelog
* Correcting whitespace issue in vars file
* Attempt to fix integration test failures
* Correcting copyright
* Addressing initial review comments
* Updating decoded sequence return from tuple to list
* Correcting capitilization and spelling
* java_keystore: add `certificate_path` and `private_key_path` options
* Update DOCUMENTATION and EXAMPLES accordingly.
* Refactor integration tests to play the same tasks twice.
* Add a changelog fragment (minor_changes).
refactor DOCUMENTATION
* Add useful info for better understanding of what options allow
keystore regeneration on the fly, and what other options lead the
module to fail, if their values change.
* Fix indentation and tenses.
* Add myself as author.
* readability-related stuff + changelog fragment
* Added handling for commas in the agent field for agent configuration
* Removed test statement
* Added changelog fragment
* Fixed spelling on fragment :-)
* fixed cdrom parameter
* fixed networks and custom_params parameters
* fixed disks parameter
* fixed remaining parameters
* removed plugins/modules/cloud/xenserver/xenserver_guest.py from ignore list
* comments from PR
* comments from PR
* more adjustments from the PR
* funcd connection plugin is now usable/loadable
* Update changelogs/fragments/allow_funcd_to_load.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add Jira attach operation
Adds the `attach` operation to the `web_infrastructure.jira` module,
which allows a user to attach a file to an issue. The user can supply
either the path to a file, which will be read from storage, or a file
name and content (as bytes).
* Apply suggestions from code review
* Update plugins/modules/web_infrastructure/jira.py
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>
* spectrum_model_attrs: Initial commit
* spectrum_model_attrs: sanity check fixes (1)
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Apply suggestions from code review:
* Removed ANSIBLE_METADATA.
* List all currently supported names in DOCUMENTATION block.
* Don't escape declarations that are long enough to fit on one
line.
* Apply suggestions from code review:
* YAML bools in DOCUMENTATION block.
* Various DOCUMENTATION block aesthetics.
* RETURN block proper format.
* 'yes' -> True declaration in argument spec.
* import urlencode from python 2 and 3 changed to
six.moves.urllib.quote.
* spectrum_model_attrs: integration test added.
* Update plugins/modules/monitoring/spectrum_model_attrs.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Update plugins/modules/monitoring/spectrum_model_attrs.py
Co-authored-by: Amin Vakil <info@aminvakil.com>
* spectrum_model_attrs: lint error fixes.
Co-authored-by: Tyler Gates <tgates@citco.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Added agent network interaces fact
* Adding changelog fragment
* More concise looping over interfaces
* Adding unit test case for agent interfaces
* Correcting whitespace issue
* Commented new dummy json returns with corresponding method
* java_keystore - improve error handling and returned results
* set check_rc=False to return results as documented when module fails
* set LANG, LC_ALL and LC_MESSAGES to C to rely keytool output parsing
* fix pylint's `no-else-return` and `unused-variable` hints
* update related unit tests accordingly
* add a changelog fragment
update unit test (remove stdout_lines from returned dict)
fix unit test: failure is now expected when alias does not exist
* Update changelogs/fragments/2183-java_keystore_improve_error_handling.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix integration test: overwrite keystore at the same location
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added module for ipa_otpconfig
* Make no_log=False explicit.
* Updated inputs to be int type instead of strings to align to expected inputs. Updated output message
* Add changelog fragment
* Remove changelog fragment as this is a new module
* Update plugins/modules/identity/ipa/ipa_otpconfig.py
Add version_added field to module description.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updated punctuation in examples
* Add unit test for ipa_otpconfig
* Add ipa_otptoken module with unit test
* Updated documentation in unit test
* Update plugins/modules/identity/ipa/ipa_otpconfig.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_otpconfig.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_otptoken.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_otptoken.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_otptoken.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_otptoken.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_otptoken.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_otptoken.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added some documentation updates to make it conform to ansible standards
* Update plugins/modules/identity/ipa/ipa_otptoken.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Address review comments
Co-authored-by: Chris Costa <chris.costa@compellingtech.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added fields to the ipa_config module: ipadefaultprimarygroup, ipagroupsearchfields, ipahomesrootdir, ipamaxusernamelength, ipapwdexpadvnotify, ipasearchrecordslimit, ipasearchtimelimit, ipauserauthtype, ipausersearchfields
* Fixed typos in documentation spec
* Updated a field that was missing the version_added decoration
* Add changelog fragment
* Update plugins/modules/identity/ipa/ipa_config.py
Cleanup example to be consistent with others.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Cleanup example to be consistent with others.
* Fixed changelog fragment
* Updated punctuation in examples
* Switched some elements to use int instead of str, and fixed duplicated example
* Change type of field for ipauserauthtype to list of str, add support for ipaconfigstring and ipakrbauthzdata
* Update fragment to represent adding support for ipaconfigstring and ipakrbauthzdata
* Update changelogs/fragments/2116-add-fields-to-ipa-config-module.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_config.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_config.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Address review comments by making inputs into group search and user search fields a list of strings, even though IPA does not treat it as a multiselect field
* Update plugins/modules/identity/ipa/ipa_config.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_config.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Chris Costa <chris.costa@compellingtech.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Bugfix: PyGithub does not support explicit port in base_url
* Fix unit tests
* Fix unit tests
* Added changelog
* Update changelogs/fragments/2204-github_repo-fix-baseurl_port.yml
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
* added constructable and added keyed_groups, groups and compose
* Update changelogs/fragments/2162-proxmox-constructable.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* added constructed to extends_documentation_fragment and version_added to all the items
* renamed _apply_rules to _apply_constructable for more clarity
* Update changelogs/fragments/2162-proxmox-constructable.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix issue where multiselect field in userauthtype did not allow multiple values
* Add changelogfragment for change
* Update changelogs/fragments/2174-ipa-user-userauthtype-multiselect.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/identity/ipa/ipa_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/2174-ipa-user-userauthtype-multiselect.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Chris Costa <chris.costa@compellingtech.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* ipa_user sshpubkey can now support multi word comments in the key
* Add documentation fragment for pull request
* Update changelogs/fragments/2159-ipa-user-sshpubkey-multi-word-comments.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Cleaner implementation of multi word comments
Co-authored-by: Chris Costa <chris.costa@compellingtech.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix HAProxy draining by manually entering the 'MAINT' state
Inspired by rldleblanc: https://github.com/ansible/ansible/issues/37591#issuecomment-610130611
Signed-off-by: Norman Ziegner <norman.ziegner@ufz.de>
* Add changelog fragment
Signed-off-by: Norman Ziegner <norman.ziegner@ufz.de>
* Fix drain function docstring
Signed-off-by: Norman Ziegner <norman.ziegner@ufz.de>
* Fix typos
Signed-off-by: Norman Ziegner <norman.ziegner@ufz.de>
* Update changelog fragment
Signed-off-by: Norman Ziegner <norman.ziegner@ufz.de>
* attempt at fixing the issue
* Update plugins/modules/web_infrastructure/jira.py
* Fixed setting of "fields" element in the payload
* added changelog fragment
* added accountId parameter + minor fixes in docs
* added integration test for jira
* adjustments per PR
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/web_infrastructure/jira.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* adjustments per PR
Co-authored-by: Felix Fontein <felix@fontein.de>
* replace inline clear password by environment variable on a per-command basis.
* add changelog fragment
* update related unit tests
* Update changelogs/fragments/2177-java_keystore_1668_dont_expose_secrets_on_cmdline.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix unit test: force result without lambda
Co-authored-by: Felix Fontein <felix@fontein.de>
* added metadata for variables in module helper
* adjustments
* added separate support for tracking changes
* rewrote the diff code
* added integration test for module_helper
* using ansible.module_utils.common.dict_transformations.dict_merge
* improved dependency management
* restore ModuleHelper to base classes of CmdStateModuleHelper
* added assertions to ensure the failing module name appears in the error messages
* added test code for state-based modules
* fixed test name
* renamed class to VarMeta
* small fixes
* fixes from the PR
* fixed VarDict.__set_attr__
* added VarDict.__getitem__()
* added changelog fragment
* adjustments per PR
* ModuleHelper.output is now aware of conflicting variable names
* Update plugins/module_utils/module_helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* improve temporary files storage (naming/removal)
* update unit tests
* Update changelogs/fragments/2163-java_keystore_1667_improve_temp_files_storage.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* add dedicated function to randomize PKCS#12 filename
fix unit tests (also mock the new function)
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed calls to list.extend()
* added changelog fragment
* Update changelogs/fragments/2161-pkgutil-list-extend.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* First idea for committer guidelines.
* Update commit-rights.md
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update commit-rights.md
Co-authored-by: John R Barker <john@johnrbarker.com>
* Apply suggestions from code review
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Improve 'do not' list.
* Add improvements from ansible/ansible#73782.
* Apply suggestions from code review
Co-authored-by: Amin Vakil <info@aminvakil.com>
* Apply suggestions from code review
* Update commit-rights.md
* Update commit-rights.md
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Amin Vakil <info@aminvakil.com>
* using get_bin_path() on atomic modules
* added changelog fragment
* Update changelogs/fragments/2144-atomic_get_bin_path.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed remove call + run_command with list instead of str
* fixed the other calls to run_command()
* added changelog fragment
* adjustment on run_command params
* Update changelogs/fragments/2143-kibana_plugin-fixed-function-calls.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* minor improvements/fixes
- moved imports from the bottom of the code to the top (ansible-style).
- pythonified/simplified get_member_status()/set_member_status()
- reduced clutter in Balancer.__init__()
* added changelog fragment
* fix type information for vmadm.resolvers
* Update changelogs/fragments/2135-vmadm-resolvers-type-fix.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed bug
- scope file was not working
- added test to guarantee that behaviour
- marked integration test as destructive, because it overwrites ~/.gitconfig
* added changelog fragment
* Update tests/integration/targets/git_config/tasks/setup_no_value.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/git_config/tasks/get_set_state_present_file.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/git_config/tasks/get_set_state_present_file.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/git_config/aliases
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/2125-git-config-scope-file.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* vdo: add force option
* Add changelog
* Improve the diff the next time something is added :)
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add warning text placeholder by felixfontein
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add warning text
* Apply suggestion for warning text from rhawalsh
Co-authored-by: Felix Fontein <felix@fontein.de>
* opennebula: add one_template module
A basic module for maintaining VM templates which should be flexible enough
for most needs ...
* fixup! opennebula: add one_template module
* fixup! fixup! opennebula: add one_template module
* Add support for `sudo su -` using password auth
Allow users to run Ansible tasks through `sudo su -` using password auth
- Feature Pull Request
sudosu
So I have been using this at various customers for bootstrapping Ansible mostly.
Often you have an existing setup where there is a user that has root-access enabled through sudo, but only to run `su` to log using the user's password.
In these specific cases the root password is unique to the system and therefore not an easy way to automate bootstrapping.
Having a `sudo su -` become option **with password prompt** is not possible with the existing become methods (neither sudo nor su can be used) by abusing `become_exe` or `become_flags`.
This fixesansible/ansible#12686
* Fix all reported issues
* Add unit tests
* Apply suggestions from code review
* Update plugins/become/sudosu.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/unit/plugins/become/test_sudosu.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/unit/plugins/become/test_sudosu.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* add new module xcc_redfish_command to manage Lenovo servers using Redfish APIs
* Update plugins/modules/remote_management/lenovoxcc/xcc_redfish_command.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fix some errors detected by ansible-test sanity
* end all descriptions (except short_description) with a period
* fix return definition problem and other errors detected by ansible-test sanity
* Always use true/false for booleans in YAML
* It is usually a good idea to leave away required: false
* fix errors detected by ansible-test sanity
* fix elements of command is not defined
* check whether resource_uri is specified for Raw commands
* if no Members property, return false; if empty array, return true
* get @odata.etag from patch body instead of getting again
* add request_body checking
* add unit test for the module
* fix errors detected by ansible-test sanity --test pep8
* update class name xcc_RedfishUtils to XCCRedfishUtils to follow convention; import AnsibleExitJson, AnsibleFailJson, ModuleTestCase, set_module_args, exit_json, fail_json from ansible_collections.community.general.tests.unit.plugins.modules.utils instead of inline them
* support using security token for auth
* fix line too long error
* As 2.3.0 got released yesterday, move to 2.4.0
* add maintainers for lenovoxcc
* update to make sure that it's sorted alphabetically
Co-authored-by: Felix Fontein <felix@fontein.de>
* improve documentation for force_archive parameter
* add link to unarchive module
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added from_csv filter and integration tests
* Cleaning up whitespace
* Adding changelog fragment
* Updated changelog fragment name
* Removed temp fragment
* Refactoring csv functions Part 1
* Syncing refactored csv modules/filters
* Adding unit tests for csv Module_Util
* Updating changelog fragment
* Correcting whitespace in unit test
* Improving changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/2037-add-from-csv-filter.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* added timeout and retries params to module
* added changelog fragment
* Update plugins/modules/net_tools/snmp_facts.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/net_tools/snmp_facts.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* removed default for retries per suggestion in PR
* Update plugins/modules/net_tools/snmp_facts.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add gandi_livedns module
This module uses REST API to register, update and delete domain name
entries in Gandi DNS service (https://www.gandi.net/en/domain).
* Apply suggestions from code review
* Update plugins/module_utils/gandi_livedns_api.py
Co-authored-by: Gregory Thiemonge <greg@thiemonge.org>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add support for Redfish session create and delete
* add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* added purge as optional module parameter
* Adding changelog fragment
* Adding version to documentation for purge
Co-authored-by: Felix Fontein <felix@fontein.de>
* Updating changelog
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improvements and fixes to ModuleHelper, with (some) tests.
* added changelog fragment
* adjusted changelog frag - get_bin_path() handling is actually a bugfix
* Adding tags as module parameter
* Added changelog fragment
* Correcting typo in changelog fragment
* Correcting punctuation in docs
* Including version to tags parameter description
Co-authored-by: Felix Fontein <felix@fontein.de>
* Correct tag validation and parsing logic condition
Original test was for key and not value
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improving usability with default null behavior
* Removing default case and related unneccessary complexity
* Display regex in tags description as code
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* kibana_plugin module parameter force is a boolean
* allow passing the --allow-root flag to kibana_plugin module
* add changelog fragment for kibana_plugin --allow-root
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/smartos/smartos_image_info.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_scaling_group.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax_cdb_user.py
* fixed validation-modules for plugins/modules/cloud/rackspace/rax.py
* Tidy up sanity checks ignore lines modules (batch 8)
* added changelog fragment
* rolled back removal of parameter from rax.py
* Removed requirement for password
* Updated documentation for password
* Adding changelog fragment
* Update changelogs/fragments/1999-proxmox-fix-issue-1955.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Included explicit parsing for proxmox guest tags and updated corresponding unit test with tags key
* Including changelog fragment for PR 1949
* Removed ellipsis from test
Proxmox only permits periods when surrounded by alphanumeric characters
* Corrected punctuation for changelog entry
Co-authored-by: Felix Fontein <felix@fontein.de>
* Allowing tags string to contain commas
* Incorporated new parsed tags fact with bugfix
* Correcting whitespace issues
* Update changelogs/fragments/1949-proxmox-inventory-tags.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/inventory/proxmox.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/1949-proxmox-inventory-tags.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/heroku/heroku_collaborator.py
* fixed validation-modules for plugins/modules/cloud/linode/linode_v4.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_provider.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_policies.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_alert_profiles.py
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_tags.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_host.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_image_info.py
* fixed validation-modules for plugins/modules/cloud/opennebula/one_vm.py
* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_lb.py
* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_compute.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_network_set_info.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_ethernet_network_info.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_datacenter_info.py
* fixed validation-modules for plugins/modules/remote_management/oneview/oneview_enclosure_info.py
* Tidy up sanity checks ignore lines modules (batch 7)
* added changelog fragment
* Missed a couple of lines in ingnore-2.11.txt
* fixed validation-modules for plugins/modules/cloud/packet/packet_volume_attachment.py
* Adjusted ignore files and changelog for packet_volume_attachment.py
* Rolled back ignore line for linode module
* Update plugins/modules/cloud/opennebula/one_image_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixes from the PR
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added integration test and fixed bug
* added changelog fragment
* Update changelogs/fragments/1972-ini_file-empty-str-value.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update tests/integration/targets/ini_file/tasks/main.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/packaging/language/composer.py
* fixed validation-modules for plugins/modules/packaging/os/apt_rpm.py
* fixed validation-modules for plugins/modules/packaging/os/homebrew.py
* fixed validation-modules for plugins/modules/packaging/os/homebrew_cask.py
* fixed validation-modules for plugins/modules/packaging/os/opkg.py
* fixed validation-modules for plugins/modules/packaging/os/pacman.py
* fixed validation-modules for plugins/modules/packaging/os/slackpkg.py
* fixed validation-modules for plugins/modules/packaging/os/urpmi.py
* fixed validation-modules for plugins/modules/packaging/os/xbps.py
* fixed validation-modules for plugins/modules/source_control/github/github_deploy_key.py
* fixed validation-modules for plugins/modules/system/puppet.py
* added changelog fragment
* adjustments from PR + fixes in changelog frag
* fixed deprecation of param "show_diff" in module "puppet"
* Update changelogs/fragments/1927-removed-parameter-invalid.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/system/puppet.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* removed unnecessary ignore lines, adjustment in changelog frag
* no need to explicitly call deprecate() when param marked for removal
* Update changelogs/fragments/1927-removed-parameter-invalid.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adjustments in changelog fragment, per PR
* bumping deprecation to 7.0.0
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix: nmcli - Ensure slave-type for bond-slave
Hello 🙂
When using bond-slave type, by default command sent to nmcl is:
['/usr/bin/nmcli', 'con', 'add', 'type', 'bond-slave', 'con-name', 'enp129s0f0', 'connection.interface-name', 'enp129s0f0', 'connection.autoconnect', 'yes', 'connection.master', 'bond0']
Which is not enough, nmcli will complain that connection.slave-type is missing. This small fix solve this issue.
If this change is approved, I will add the changelog fragment.
* Fix: nmcli - Adding changelog fragment for 1882
* Update changelogs/fragments/1882-fix-nmcli-ensure-slave-type-for-bond-slave.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* avoid errors with creation-only properties
* add changelog fragment
* Apply suggestion to changelog fragment
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Jenkins build module
A module for queuing and deleting jenkins builds.
* CI fixes
* More CI fixes.
* Even more CI fixes
* Fixing symlink
* Update plugins/modules/web_infrastructure/jenkins_build.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* removed ansible meta section
* Added unit tests.
* fix tests
* more test fixes.
* Completed tests.
Mocked jenkins api calls.
Fixed some logging.
* Update plugins/modules/web_infrastructure/jenkins_build.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/web_infrastructure/jenkins_build.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/web_infrastructure/jenkins_build.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Update plugins/modules/web_infrastructure/jenkins_build.py
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Cleaned up default items
And removed supports check mode flag.
* setting name param required
* Update plugins/modules/web_infrastructure/jenkins_build.py
Co-authored-by: Brett Milford <brettmilford@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Adding another example for tss lookup
A more detailed example using self-hosted secrets server as investigated in #1943
* Update plugins/lookup/tss.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Better line breaking
* Update plugins/lookup/tss.py
Seconded!
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove newline to pass tests
* Update plugins/lookup/tss.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Improved run_command signature and behaviour
- extra_params has been removed from the signature
- params now can be either str or dict (containing the param value)
* Reverted the removal of the method parameter, and added changelog fragment
* Update changelogs/fragments/1867-modhelper-cmdmixin-dict-params.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/module_helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* adjustement per PR
* Update plugins/module_utils/module_helper.py
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add version_sort filter to properly sort list of versions
* Fix all comments from Felix
- add changelog fragment
- fix test by removing runme.sh/yml and renaming to filter_version_sort
- use fully qualified name of filter in test case
* Remove wrong plugin.test changelog fragment
Ups...
* Properly name the file version_sort.py
* Update changelogs/fragments/1916-add-version-sort-filter.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Eric L <ewl+git@lavar.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added rstrip to the URL field to prevent issues when users add a trailing / in the config of this module
* Added changelog fragment
* Sorry Mr. Linter, I have removed the empty line :-)
* Fixed punctuation
* Fixed punctuation
* bugfix: xfs_quota feedback on projects not initialized has changed
* changelog fragment
* Update changelogs/fragments/1596-xfs_quota-feedback_on_projects_not_initialized_has_changed.yml
Thanks for this, felixfontein
Co-authored-by: Felix Fontein <felix@fontein.de>
* xfs_quota is not necessarily in PATH
* pep8 and formatting
* Test was wrong. It needs to be changed
* formatting
* pep8 and formatting
* xfs_quota is not necessarily in PATH
* pep8 and formatting
Co-authored-by: Felix Fontein <felix@fontein.de>
* Change all packages at once in yum_versionlock module
* Re-enable tests
* Convert package list to packages string
* Fix module
* Change variable name to make it appropriate
* Fix module check_mode
* Revert "Fix module" and apply felixfontein suggestion
This reverts commit 5936da3198.
* Rename package to packages
* Only change packages which are needed
* Ignore if list is empty
* Add changelog
* proxmox_kvm: trivial patch for Github issue #1875
* proxmox_kvm: add a changelog fragment
* Update changelogs/fragments/1895-proxmox-kvm-fix-issue-1875.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/source_control/git*
* Tidy up sanity checks ignore lines for source_control/* modules
* removed unnecessary ignore lines from 2.9 and 2.11
* proxmox_storage_info: new module
Simple info module dedicated to the retrieval of information about the
storages available on a Proxmox VE cluster.
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/cloud/misc/proxmox_storage_info.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: undefined local variable status
* proxmox_kvm: Add a changelog fragment
* Update changelogs/fragments/1847-proxmox-kvm-fix-status.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* proxmox_kvm: fix the RETURN document
* proxmox_kvm: fix name variable when state=current
The variable name is not always defined as the module can be called with
just a vmid.
Before:
> "msg": "VM None with vmid = 118 is stopped"
After:
> "msg": "VM test-instance with vmid = 118 is stopped"
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/database/misc/elasticsearch_plugin.py
* fixed validation-modules for plugins/modules/database/misc/kibana_plugin.py
* fixed validation-modules for plugins/modules/database/misc/riak.py
* fixed validation-modules for plugins/modules/database/vertica/vertica_info.py
* fixed validation-modules for plugins/modules/database/vertica/vertica_role.py
* fixed validation-modules for plugins/modules/database/vertica/vertica_schema.py
* fixed validation-modules for plugins/modules/database/vertica/vertica_user.py
* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_domain.py
* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_host_ports.py
* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_host.py
* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_pool.py
* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_vol.py
* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_vol_map.py
* fixed validation-modules for plugins/modules/storage/ibm/ibm_sa_host_ports.py
* fixed validation-modules for plugins/modules/system/runit.py
* fixed validation-modules for plugins/modules/source_control/bzr.py
* fixed validation-modules for plugins/modules/source_control/hg.py
* fixed validation-modules for plugins/modules/storage/emc/emc_vnx_sg_member.py
* fixed validation-modules for plugins/modules/identity/opendj/opendj_backendprop.py
* fixed validation-modules for plugins/modules/files/iso_extract.py
* fixed validation-modules for plugins/modules/monitoring/logstash_plugin.py
* fixed validation-modules for plugins/modules/database/aerospike/aerospike_migrations.py
* Tidy up a number of sanity checks for some modules
* added changelog fragment
* Some parameters in vertica_* had their aliases documented as the name, and sometimes vice-versa as well
* Adjustments per PR
* Rolled back sanity ignores for runit
* Update changelogs/fragments/1830-valmod_docmissingtype_batch1.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/callback/hipchat.py
* fixed validation-modules for plugins/connection/lxc.py
* fixed validation-modules for plugins/modules/cloud/lxc/lxc_container.py
* fixed validation-modules for plugins/modules/monitoring/statusio_maintenance.py
* fixed validation-modules for plugins/modules/system/alternatives.py
* fixed validation-modules for plugins/modules/system/beadm.py
* fixed validation-modules for plugins/modules/system/cronvar.py
* fixed validation-modules for plugins/modules/system/dconf.py
* fixed validation-modules for plugins/modules/system/interfaces_file.py
* fixed validation-modules for plugins/modules/system/java_cert.py
* fixed validation-modules for plugins/modules/system/lvg.py
* fixed validation-modules for plugins/modules/system/lvol.py
* fixed validation-modules for plugins/modules/system/parted.py
* fixed validation-modules for plugins/modules/system/timezone.py
* fixed validation-modules for plugins/modules/web_infrastructure/rundeck_acl_policy.py
* Tidy up all pylint:blacklisted-name sanity checks ignore lines
* Missed one in statusio_maintenace.py
* fixed validation-modules for plugins/modules/system/filesystem.py
* Missed one in gconftool2.py
* Missed one in alternatives.py
* Using dummies now
* fixed indentation
* Made all the changes about replacing _ with dummy
* Rollback bug fixed
* Rollback bug fixed, part II
* added changelog fragment
* Improved changelog frag message per PR
* added ``merge_profile`` parameter to merge configurations from the play to an existing profile
* add fragment
* cosmetic changes
Co-authored-by: Frank Dornheim <“dornheim@posteo.de@users.noreply.github.com”>
* fixed validation-modules for plugins/modules/storage/netapp/na_ontap_gather_facts.py
* fixed validation-modules for plugins/modules/source_control/gitlab/gitlab_runner.py
* fixed validation-modules for plugins/modules/packaging/os/redhat_subscription.py
* fixed validation-modules for plugins/modules/notification/twilio.py
* fixed validation-modules for plugins/modules/notification/slack.py
* fixed validation-modules for plugins/modules/notification/sendgrid.py
* fixed validation-modules for plugins/modules/notification/rocketchat.py
* fixed validation-modules for plugins/modules/notification/office_365_connector_card.py
* fixed validation-modules for plugins/modules/notification/nexmo.py
* fixed validation-modules for plugins/modules/notification/mail.py
* fixed validation-modules for plugins/modules/net_tools/omapi_host.py
* fixed validation-modules for plugins/modules/net_tools/nsupdate.py
* fixed validation-modules for plugins/modules/net_tools/dnsimple.py
* fixed validation-modules for plugins/modules/monitoring/pagerduty.py
* fixed validation-modules for plugins/modules/monitoring/librato_annotation.py
* fixed validation-modules for plugins/modules/identity/onepassword_info.py
* fixed validation-modules for plugins/modules/identity/keycloak/keycloak_client.py
* fixed validation-modules for plugins/modules/files/xml.py
* fixed validation-modules for plugins/modules/cloud/softlayer/sl_vm.py
* fixed validation-modules for plugins/modules/cloud/smartos/vmadm.py
* fixed validation-modules for plugins/modules/cloud/pubnub/pubnub_blocks.py
* fixed validation-modules for plugins/modules/cloud/packet/packet_device.py
* fixed validation-modules for plugins/modules/cloud/lxd/lxd_container.py
* fixed validation-modules for plugins/module_utils/oracle/oci_utils.py
* fixed validation-modules for plugins/doc_fragments/oracle_creatable_resource.py
* Tidy up validate-modules:parameter-list-no-elements for some modules
* fixed validation-modules for plugins/modules/monitoring/statusio_maintenance.py
* Fixed pending issues from CI validation
* Fixed xml module elements for add_children & set_children
* added changelog fragment
* typo
* fix wording in changelog frag
* don't add args if set to 'no_defaults'
* never add force even if false, will require archive parameter other which is not implemented
* remove trailing whitespace
* add changelog fragment
* Update changelogs/fragments/1783-proxmox-kvm-fix-args-500-error.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* ease limitation for nios_host_record DNS Bypass, the bypass should be allowed when configure_dns is disabled and view is set other than default
* add changelog fragment
Co-authored-by: Nils <ext-nils.haglund@elisa.fi>
* Added VMID to all returns
Also added in the docs promised return of MAC and devices when state ==
current.
Fixes: #1641
* Revert devices and mac as get_vminfo works differently then I expected
* Added status output to a few more calls
* Update RETURNS docs
* Remove vmid where it is not available
* Added changelog fragment
* Update changelogs/fragments/1715-proxmox_kvm-add-vmid-to-returns.yml
You're right, this message is way better then mine.. :-)
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/storage/zfs/zfs.py
* fixed validation-modules for plugins/modules/storage/zfs/zfs_delegate_admin.py
* fixed validation-modules for plugins/modules/storage/zfs/zfs_facts.py
* fixed validation-modules for plugins/modules/storage/zfs/zpool_facts.py
* Tidy up validate-modules ignores for storage/zfs modules
* removed ignore lines in 2.11 files as well
* added changelog fragment per PR
* Update changelogs/fragments/1766-zfs-fixed-sanity.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_alert_policy.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_blueprint_package.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_firewall_policy.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_loadbalancer.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_modify_server.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_publicip.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_server_snapshot.py
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_server.py
* Tidy up validate-modules ignores for cloud/centurylink modules
* added changelog fragment per PR
* Removed parameter-list-no-elements validation errors from redfish modules
* added changelog fragment per PR
* Update changelogs/fragments/1761-redfish-tidy-up-validation.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update targets for CI for devel branch; move some targets to stable-2.10.
* Skipping test on RHEL 8.3 (it is already skipped on RHEL 8.2).
* Linting.
* Shut 2.9/2.10 pylint complaints up.
* only set param features when variable is not empty
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Topper Harly <topperharly@gmx.net>
Co-authored-by: Felix Fontein <felix@fontein.de>
* case insesitive search for situations where the hostname/FQDN on iLO is in caps
* handle explicit and implicit nic_addr variable, added changelog fragment
* changelog linter fix
* changelog typo fix
Co-authored-by: Łukasz Kurdziel <Lukasz.Kurdziel@GAINCapital.com>
* add alpine linux as NosystemdTimezone
* syntax error fix and more self variables, so it works now...
* use timezone name instead of timezone path for setup-timezone command
* alpine linux zoneinfo links to /etc/zoneinfo instead of /usr/share/zoneinfo, so correct re.search() pattern
* add changelog fragment
* add gentoo linux support
* Update 1722_timezone.yml
* refactor code
* document what filesystem types are supported by 'resizefs' option
* add changelog fragment
* remove info about lvol documentation changes in changelog fragment
* fixed validation-modules for plugins/modules/remote_management/ipmi/ipmi_boot.py
* fixed validation-modules for plugins/modules/remote_management/ipmi/ipmi_power.py
* Tidy up validate-modules ignores for remote_management/ipmi modules
* fixes various issues related to updating an ...
... existing gitlab user, in detail:
- fixes updating admin status not working
- fixes user passwords not updated
- fixes confirmation skipping param ignored for user updates
- added tests for code changes
* fixing sanity issues
* fixing sanity issues 02
* fixing sanity issues 03
* fixing sanity issues 04
* fixing unit test failures
* fixing unit test failures 02
* add changelog fragment
* fixing unit test failures 03
* forgot to add changelog fragment
* fix changelog sanity issues
* fix changelog sanity issues 02
* incorporate review suggestions
Co-authored-by: Mirko Wilhelmi <Mirko.Wilhelmi@sma.de>
* Limit cryptography to < 3.4 for Python < 3.6.
* Work around old pip versions.
* Use constraints file when installing stormssh.
* Work around old pip in RHEL8.2, CentOS 8, Ubuntu 18.04, and OpenSuSE 15
* Fix a bunch of potential security issues (secret leaking).
* oneandone_server was already ok.
* Add more parameters for pagerduty_alert.
* Add more no_log=True.
* feat(gitlab-deploy-key): automatically update ...
... the public key
* add integrity test
* fix sanity issues
* added changelog fragment
Co-authored-by: Mirko Wilhelmi <Mirko.Wilhelmi@sma.de>
* Fix 2 regex in parted related to parted version string and to parsing partition size output.
* Added changelog fragment.
* Updated changelog as per recommendation.
* Fix the regex matching the parted version. The space character at the end of the string may or may not be always present
* provided sample version output and corrected regex to match
* add/correct changelog fragment
* split parted_version function to allow creating a test unit
* test unit for parted version info
* ansible-test sanity fixes
* review fix
* Update changelogs/fragments/1695-parted-updatedregex.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* comment fixes
* better function name
* Update plugins/modules/system/parted.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* comment fixes
Co-authored-by: Claude Robitaille <claude@cbcr.me>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add no_log to some module arguments
This will prevent potentially sensitive information from being printed to
the console.
See: CVE-2021-20191
* Update changelogs/fragments/CVE-2021-20191_no_log.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Use 'xfs_info' to query fs size, that doesn't always require the device be
mounted. Although still query mountpoint first for backward compatibility.
* Do not fail whith fstype=xfs and resizefs=yes if filesystem already fills
its underlying device.
* Include xfs in the tasks that test idempotency of resizefs option
* Add changelogs/fragments/1478-filesystem-fix-1457-resizefs-idempotency.yml
* sensu-silence: fix json parsing of sensu API response
* use ansible helper function to decode bytestream
* add changelog fragment
* Update changelogs, link to PR
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* homebrew_tap: Add support for brew search path
User can specify search path for brew executable.
Fixes: #1702
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Change version
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
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
about this problem...
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,
*useyour 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
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?
placeholder:>-
I was reading the Collection documentation of version X and I'm having
problems understanding Y. It would be very helpful if that got
rephrased as Z.
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,
*useyour 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
description:Describe the new feature/improvement briefly below.
placeholder:>-
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
every other user of community.general because of Z.
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.
*useyour 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
# 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
# Created by https://www.gitignore.io/api/git,linux,pydev,python,windows,pycharm+all,jupyternotebook,vim,webstorm,emacs,dotenv
# Edit at https://www.gitignore.io/?templates=git,linux,pydev,python,windows,pycharm+all,jupyternotebook,vim,webstorm,emacs,dotenv
# Created by https://www.toptal.com/developers/gitignore/api/vim,git,macos,linux,pydev,emacs,dotenv,python,windows,webstorm,pycharm+all,jupyternotebooks
# Edit at https://www.toptal.com/developers/gitignore?templates=vim,git,macos,linux,pydev,emacs,dotenv,python,windows,webstorm,pycharm+all,jupyternotebooks
### dotenv ###
.env
@ -71,7 +74,19 @@ flycheck_*.el
*_LOCAL_*.txt
*_REMOTE_*.txt
#!! ERROR: jupyternotebook is undefined. Use list command to see defined gitignore types !!#
### JupyterNotebooks ###
# gitignore template for Jupyter Notebooks
# website: http://jupyter.org/
.ipynb_checkpoints
*/.ipynb_checkpoints/*
# IPython
profile_default/
ipython_config.py
# Remove previous ipynb_checkpoints
# git rm -r .ipynb_checkpoints/
### Linux ###
@ -87,8 +102,41 @@ flycheck_*.el
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### macOS Patch ###
# iCloud generated files
*.icloud
### PyCharm+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
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
-->
# Contributing
We follow [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) in all our contributions and interactions within this repository.
@ -23,10 +29,179 @@ Note that reviewing does not only mean code review, but also offering comments o
Also, consider taking up a valuable, reviewed, but abandoned pull request which you could politely ask the original authors to complete yourself.
* Try committing your changes with an informative but short commit message.
* All commits of a pull request branch will be squashed into one commit at last. That does not mean you must have only one commit on your pull request, though!
* Please try not to force-push if it is not needed, so reviewers and other users looking at your pull request later can see the pull request commit history.
* Do not add merge commits to your PR. The bot will complain and you will have to rebase ([instructions for rebasing](https://docs.ansible.com/ansible/latest/dev_guide/developing_rebasing.html)) to remove them before your PR can be merged. To avoid that git automatically does merges during pulls, you can configure it to do rebases instead by running `git config pull.rebase true` inside the respository checkout.
* Do not squash your commits and force-push to your branch if not needed. Reviews of your pull request are much easier with individual commits to comprehend the pull request history. All commits of your pull request branch will be squashed into one commit by GitHub upon merge.
* Do not add merge commits to your PR. The bot will complain and you will have to rebase ([instructions for rebasing](https://docs.ansible.com/ansible/latest/dev_guide/developing_rebasing.html)) to remove them before your PR can be merged. To avoid that git automatically does merges during pulls, you can configure it to do rebases instead by running `git config pull.rebase true` inside the repository checkout.
* Make sure your PR includes a [changelog fragment](https://docs.ansible.com/ansible/devel/community/collection_development_process.html#creating-a-changelog-fragment).
* You must not include a fragment for new modules or new plugins. Also you shouldn't include one for docs-only changes. (If you're not sure, simply don't include one, we'll tell you whether one is needed or not :) )
* Please always include a link to the pull request itself, and if the PR is about an issue, also a link to the issue. Also make sure the fragment ends with a period, and begins with a lower-case letter after `-`. (Again, if you don't do this, we'll add suggestions to fix it, so don't worry too much :) )
* Avoid reformatting unrelated parts of the codebase in your PR. These types of changes will likely be requested for reversion, create additional work for reviewers, and may cause approval to be delayed.
You can also read [our Quick-start development guide](https://github.com/ansible/community-docs/blob/main/create_pr_quick_start_guide.rst).
## Test pull requests
If you want to test a PR locally, refer to [our testing guide](https://github.com/ansible/community-docs/blob/main/test_pr_locally_guide.rst) for instructions on how do it quickly.
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)
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:
# 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:
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:
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
The following commands show how to run basic sanity tests:
```.bash
# Run basic sanity tests for all files in the collection:
ansible-test sanity --docker -v
# Run basic sanity tests for the given files and directories:
The following commands show how to run unit tests:
```.bash
# Run all unit tests:
ansible-test units --docker -v
# Run all unit tests for one Python version (a lot faster):
ansible-test units --docker -v --python 3.8
# Run a specific unit test (for the nmcli module) for one Python version:
ansible-test units --docker -v --python 3.8 tests/unit/plugins/modules/net_tools/test_nmcli.py
```
### 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:
# Run integration tests for the flattened lookup **without any isolation**:
ansible-test integration -v lookup_flattened
```
If you are unsure about the integration test target name for a module or plugin, you can take a look in `tests/integration/targets/`. Tests for plugins have the plugin type prepended.
## Creating new modules or plugins
Creating new modules and plugins requires a bit more work than other Pull Requests.
1. Please make sure that your new module or plugin is of interest to a larger audience. Very specialized modules or plugins that
can only be used by very few people should better be added to more specialized collections.
2. Please do not add more than one plugin/module in one PR, especially if it is the first plugin/module you are contributing.
That makes it easier for reviewers, and increases the chance that your PR will get merged. If you plan to contribute a group
of plugins/modules (say, more than a module and a corresponding ``_info`` module), please mention that in the first PR. In
such cases, you also have to think whether it is better to publish the group of plugins/modules in a new collection.
3. When creating a new module or plugin, please make sure that you follow various guidelines:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This repo contains the `community.general` Ansible Collection. The collection includes many modules and plugins supported by Ansible community which are not part of more specialized community collections.
This repository contains the `community.general` Ansible Collection. The collection is a part of the Ansible package and includes many modules and plugins supported by Ansible community which are not part of more specialized community collections.
You can find [documentation for this collection on the Ansible docs site](https://docs.ansible.com/ansible/latest/collections/community/general/).
Please note that this collection does **not** support Windows targets. Only connection plugins included in this collection might support Windows targets, and will explicitly mention that in their documentation if they do so.
## Code of Conduct
We follow [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) in all our interactions within this project.
If you encounter abusive behavior violating the [Ansible Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html), please refer to the [policy violations](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html#policy-violations) section of the Code of Conduct for information on how to raise a complaint.
## Communication
* Join the Ansible forum:
* [Get Help](https://forum.ansible.com/c/help/6): get help or help others. This is for questions about modules or plugins in the collection. Please add appropriate tags if you start new discussions.
* [Tag `community-general`](https://forum.ansible.com/tag/community-general): discuss the *collection itself*, instead of specific modules or plugins.
* [Social Spaces](https://forum.ansible.com/c/chat/4): gather and interact with fellow enthusiasts.
* [News & Announcements](https://forum.ansible.com/c/news/5): track project-wide announcements including social events.
* The Ansible [Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn): used to announce releases and important changes.
For more information about communication, see the [Ansible communication guide](https://docs.ansible.com/ansible/devel/community/communication.html).
## Tested with Ansible
Tested with the current Ansible 2.9, ansible-base 2.10 and ansible-core 2.11 releases and the current development version of ansible-core. Ansible versions before 2.9.10 are not supported.
Tested with the current ansible-core 2.17, ansible-core 2.18, ansible-core 2.19, ansible-core 2.20 releases and the current development version of ansible-core. Ansible-core versions before 2.17.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases.
## External requirements
@ -19,11 +47,13 @@ Some modules and plugins require external libraries. Please check the requiremen
## Included content
Please check the included content on the [Ansible Galaxy page for this collection](https://galaxy.ansible.com/community/general) or the [documentation on the Ansible docs site](https://docs.ansible.com/ansible/latest/collections/community/general/).
Please check the included content on the [Ansible Galaxy page for this collection](https://galaxy.ansible.com/ui/repo/published/community/general/) or the [documentation on the Ansible docs site](https://docs.ansible.com/ansible/latest/collections/community/general/).
## Using this collection
Before using the General community collection, you need to install the collection with the `ansible-galaxy` CLI:
This collection is shipped with the Ansible package. So if you have it installed, no more action is required.
If you have a minimal installation (only Ansible Core installed) or you want to use the latest version of the collection along with the whole Ansible package, you need to install the collection from [Ansible Galaxy](https://galaxy.ansible.com/ui/repo/published/community/general/) manually with the `ansible-galaxy` command-line tool:
Note that if you install the collection manually, it will not be upgraded automatically when you upgrade the Ansible package. To upgrade the collection to the latest available version, run the following command:
You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax where `X.Y.Z` can be any [available version](https://galaxy.ansible.com/ui/repo/published/community/general/):
See [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more details.
## Contributing to this collection
If you want to develop new content for this collection or improve what is already here, the easiest way to work on the collection is to clone it into one of the configured [`COLLECTIONS_PATH`](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths), and work on it there.
The content of this collection is made by good people just like you, a community of individuals collaborating on making the world better through developing automation software.
For example, if you are working in the `~/dev` directory:
You don't know how to start? Refer to our [contribution guide](https://github.com/ansible-collections/community.general/blob/main/CONTRIBUTING.md)!
The current maintainers are listed in the [commit-rights.md](https://github.com/ansible-collections/community.general/blob/main/commit-rights.md#people) file. If you have questions or need help, feel free to mention them in the proposals.
You can find more information in the [developer guide for collections](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#contributing-to-collections), and in the [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html).
@ -56,38 +98,34 @@ Also for some notes specific to this collection see [our CONTRIBUTING documentat
See [here](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#testing-collections).
### Communication
## Collection maintenance
We have a dedicated Working Group for Ansible development.
To learn how to maintain / become a maintainer of this collection, refer to:
You can find other people interested on the following [Libera.chat](https://libera.chat/) IRC channels -
- `#ansible` - For general use questions and support.
- `#ansible-devel` - For discussions on developer topics and code related to features or bugs in ansible-core.
- `#ansible-community` - For discussions on community topics and community meetings, and for general development questions for community collections.
For more information about communities, meetings and agendas see [Community Wiki](https://github.com/ansible/community/wiki/Community).
It is necessary for maintainers of this collection to be subscribed to:
For more information about [communication](https://docs.ansible.com/ansible/latest/community/communication.html)
* The collection itself (the `Watch` button → `All Activity` in the upper right corner of the repository's homepage).
* The "Changes Impacting Collection Contributors and Maintainers" [issue](https://github.com/ansible-collections/overview/issues/45).
### Publishing New Version
They also should be subscribed to Ansible's [The Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn).
Basic instructions without release branches:
## Publishing New Version
1. Create `changelogs/fragments/<version>.yml` with `release_summary:` section (which must be a string, not a list).
2. Run `antsibull-changelog release --collection-flatmap yes`
3. Make sure `CHANGELOG.rst` and `changelogs/changelog.yaml` are added to git, and the deleted fragments have been removed.
4. Tag the commit with `<version>`. Push changes and tag to the main repository.
See the [Releasing guidelines](https://github.com/ansible/community-docs/blob/main/releasing_collections.rst) to learn how to release this collection.
## Release notes
See the [changelog](https://github.com/ansible-collections/community.general/blob/stable-2/CHANGELOG.rst).
See the [changelog](https://github.com/ansible-collections/community.general/blob/main/CHANGELOG.md).
## Roadmap
See [this issue](https://github.com/ansible-collections/community.general/issues/582) for information on releasing, versioning and deprecation.
In general, we plan to release a major version every six months, and minor versions every two months. Major versions can contain breaking changes, while minor versions only contain new features and bugfixes.
See [this issue](https://github.com/ansible-collections/community.general/issues/582) for information on releasing, versioning, and deprecation.
@ -97,6 +135,10 @@ In general, we plan to release a major version every six months, and minor versi
## Licensing
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 [COPYING](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text.
See [LICENSES/GPL-3.0-or-later.txt](https://github.com/ansible-collections/community.general/blob/main/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).
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/).
- 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).
- 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).
- cloudflare_dns - simplify validations and refactor some code, no functional changes (https://github.com/ansible-collections/community.general/pull/10269).
- github_app_access_token lookup plugin - support both ``jwt`` and ``pyjwt`` to avoid conflict with other modules requirements (https://github.com/ansible-collections/community.general/issues/10299).
- 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).
- 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).
- "jenkins_plugin - install latest compatible version instead of latest (https://github.com/ansible-collections/community.general/issues/854, https://github.com/ansible-collections/community.general/pull/10346)."
- "jenkins_plugin - separate Jenkins and external URL credentials (https://github.com/ansible-collections/community.general/issues/4419, https://github.com/ansible-collections/community.general/pull/10346)."
minor_changes:
- "jenkins_plugin - install dependencies for specific version (https://github.com/ansible-collections/community.general/issue/4995, https://github.com/ansible-collections/community.general/pull/10346)."
- 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).
- pacemaker_resource - add ``state=cleanup`` for cleaning up pacemaker resources (https://github.com/ansible-collections/community.general/pull/10413)
- pacemaker_resource - the parameter ``name`` is no longer a required parameter in community.general 11.3.0 (https://github.com/ansible-collections/community.general/pull/10413)
- keycloak_realm - add support for ``brute_force_strategy`` and ``max_temporary_lockouts`` (https://github.com/ansible-collections/community.general/issues/10412, https://github.com/ansible-collections/community.general/pull/10415).
- scaleway_* modules, scaleway inventory plugin - update available zones and API URLs (https://github.com/ansible-collections/community.general/issues/10383, https://github.com/ansible-collections/community.general/pull/10424).
- 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).
- "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)."
- bearychat - module is deprecated and will be removed in community.general 12.0.0 (https://github.com/ansible-collections/community.general/issues/10514).
- apk - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/issues/10479, https://github.com/ansible-collections/community.general/pull/10520).
- keycloak_identity_provider – add support for ``fromUrl`` to automatically fetch OIDC endpoints from the well-known discovery URL, simplifying identity provider configuration (https://github.com/ansible-collections/community.general/pull/10527).
- "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)."
- logstash_plugin - using safer mechanism to run external command (https://github.com/ansible-collections/community.general/issues/10479, https://github.com/ansible-collections/community.general/pull/10520).