* firewalld: add zone target set
Fixes https://github.com/ansible/ansible/issues/49232
Signed-off-by: Adam Miller <admiller@redhat.com>
* fix sanity tests, add example of zone target setting
Signed-off-by: Adam Miller <admiller@redhat.com>
* test different zone/target combination as we're not hitting default settings
Signed-off-by: Adam Miller <admiller@redhat.com>
* fix enabled values for zone operations
Signed-off-by: Adam Miller <admiller@redhat.com>
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add vpc_uuid option to droplet creation
* Include new vpc_uuid option digital_ocean_droplet
* Remove required, add type for vpc_uuid
Co-authored-by: Felix Fontein <felix@fontein.de>
* Create changelog fragment file
* Include version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix the behavior of ipa modules in case IPA_HOST is empty
The expected behavior, when the env is empty, is to
fallback on DNS. Without this fix, if IPA_HOST is empty,
there are different errors, depending on urllib version,
which additionally confuses the user. Example errors:
* host_find: Request failed: <urlopen error no host given>
* Failed to connect to None at port 443: [Errno 111]
Connection refused", "status": -1, "url":
"https:///ipa/session/json
* Add a changelog fragment for IPA_HOST fix
* Update changelogs/fragments/241-fix-ipa-modules-when-ipa_host-empty.yml
Co-authored-by: Sandra McCann <samccann@redhat.com>
Co-authored-by: John R Barker <john@johnrbarker.com>
Co-authored-by: Sandra McCann <samccann@redhat.com>
* Fixes#143, change package parameter from str to list
* remove uneccessary splitting
* add changelog fragment
* fix parameter-list-no-elements validation
* fix documentation
* Fix changelog
* Fix documetation, add example with list of packages
* Update changelogs/fragments/apt_rpm_typefix.yml
Co-authored-by: Alexander Leshkov <lam@arenadata.io>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add "prompt" parameter that allows to specify one or more prompts and optionnally their answer
* Documentation backslash fixes as well as file structure
* Add r prefix to documentation
* Fixed documentation indentation
* Fixed various trailing whitespaces and file structure
* Doc description string fix, the tests thought it was an AnsibleMapping object
* Added elements parameter to argument_spec definition.
* Complete documentation.
* Add bool instead of if else expression
Co-Authored-By: tchernomax <maxime.deroucy@gmail.com>
* Replace _item by a shorter expression as suggested
Co-Authored-By: tchernomax <maxime.deroucy@gmail.com>
* Commit suggestion
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Commit documentation suggestion
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/29253-pear_add_prompts_parameter.yml
Co-Authored-By: Felix Fontein <felix@fontein.de>
* Update plugins/modules/packaging/language/pear.py
Co-Authored-By: tchernomax <maxime.deroucy@gmail.com>
* Add case where "null" is specified in a list. Improved documentation as well
* Too much caracter removed in documentation
* We now always specify a prompt and a data parameter
* minor documentation change
* Update changelogs/fragments/29253-pear_add_prompts_parameter.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* pear: fix version_added
Co-authored-by: Felix Fontein <felix@fontein.de>
* pear: fix description
Co-authored-by: Veltarn <dante161@gmail.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* slackpkg: fix matching some special cases in package names.
* Add chagelog/fragments file
* Update changelogs/fragments/505-slackpkg_fix_matching_some_special_cases_in_package_names.yml
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* Adjust deprecation versions.
* Remove redirects that are already made in ansible/ansible's ansible_builtin_runtime.yml
* Remove modules that were moved to the google.cloud collection according to ansible/ansible's ansible_builtin_runtime.yml.
* The _info module is in google.cloud.
* The gcp doc_fragment is a copy of the one in google.cloud and is only used by one lookup. Mark as deprecated/internal.
* Remove entries of modules that no longer exist.
* Update ignore.txt.
* Try to fix test.
* Remove debug output.
I spent some time debugging an error, where the unexpected HTTP return code was
reported to be -1. Digging deeper, I found the cause using this patch:
"An unknown error occurred: ~/.netrc access too permissive: access permissions
must restrict access to only the owner"
* Add version_added: 1.0.0 for all new features added before pre-ansible-base.
* Add version_added: 1.0.0 for all new features.
* Next release will be 0.2.0
* Fix error.
* Remove unnecessary warnings.
* Do domain resolution for portal
iscsiadm support domain resolution (ex: iscsiadm -m discovery -t sendtargets -p iscsi.chiehmin.com).
However, open_iscsi module will try to match the portal with discovered results which will never
matched cause the discovered results use IP to represent node.
This patch do portal DNS resolution first to solve this situation.
Signed-off-by: Chieh-Min Wang <chiehminw@synology.com>
* Update changelogs/fragments/461-resolve-domain-for-iscsi-portal.yml
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
To remove a scaleway compute node, one needs to stop it first. This is
handled internally within the module by shutting down before removing.
Shutting down the node transitions it to a "stopping" state, which is
not the "stopped" state we expect. We thus need the transition to
complete so that we can put it in the actual target state (absent, i.e.
delete it).
The mechanism for waiting for such transitions today is controlled by
module parameters, with default to not being enabled at all, which
includes the transition from ([running] -(stopping)-> [stopped]).
Without this chage, in case of a running node, we would shut it down
(transition it to "stopping"), not wait for it complete the transition,
realize that it's not yet stopped and issue a second shut down command
to the api. This would fail with a 400 Bad Request error, "already
stopped".
Reference: https://github.com/ansible/ansible/issues/45740
Reported-by: zwindler
* slackpkg: fix name matching in package installation (#450)
* Escape re parameters and optimize matching as suggested in code review.
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update changelogs/fragments/450-slackpkg-package-matching.yml
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
* feature: module dpkg_divert + tests
* try to skip non-deb linux distrib
* use collection namespace in EXAMPLES
* skip unsupported OS/distrib in tasks instead
* tests: remove unskipped distribs
* apply changes suggested by Andersson007
* Remove ANSIBLE_METADATA (no more needed).
* Normalize docstrings (capitalize descriptions, fix styling, use yes/no
booleans).
* fix descriptions
* update DOCUMENTATION
* Drop field 'version_added' (no more needed).
* Add a note about check_mode support.
* use list comprehension
* support diff mode
* Move 'before'/'after' dicts into 'diff' dictionary.
* Set 'diversion' as the actual state (or the state that would be
reached, when in check mode).
* Always return 'diversion' on handled exits (exit_json & fail_json).
* enable 'diff' mode in tests, add missing 'become'
* This is a modified copy of the cisco_spark.py file. The name change is associated with the change of the product name from Cisco Spark to Cisco Webex Teams. In addition, the current version (cisco_spark) does not work due to a name collision with MESSAGE. I had to modify the name from "message" to "webexmsg" in many places in cisco_webex. It works fine in this version.
The original author has been preserved and copied from cisco_spark to cisco_webex.
@drew-russell
The current version of cisco_spark module does not work due to a name collision with MESSAGE. I had to modify the name from "message" to "webexmsg" in many places in cisco_webex.py file. It works fine in this version.
The name change is associated with the change of the product name from Cisco Spark to Cisco Webex Teams.
* cisco_spark rm
* suggested change
* aliases added to in def main funcitons
* sanity check corrections
* addess aliases type to msg_type
* felixfontein requested changes on this pull request.
* Return value change from msg to message.
* plugins/modules/notification/cisco_webex.py validate-modules:invalid-argument-name
added to tests/sanity/ignore-2.10.txt
* add sops lookup plugin
* fix pylint
* fix undefined encrypted_file variable
* decode sops output as text by default
* add variable to control decrypted content print in logs
* use Sops class decryption method
* lookup should return text, use appropriate ansible facility
* use ansible.module_utils._text.to_native
As required by Ansible documentation on [raising errors][raising-errors]
from plugins, use to_native to wrap errors to ensure string compatibility
between Python versions.
[raising-errors]: https://docs.ansible.com/ansible/latest/dev_guide/developing_plugins.html#id3
* use with_items instead of with_file in sops lookup documentation
[with_file][with-file], per Ansible documentation, returns the content of
the file. As sops is not able to decrypt a string by itself but requires
the file is passed as argument, passing the content breaks the lookup
plugin as reported by [here][bug-report].
[with_items][with-items] should be used instead.
[with-file]: https://docs.ansible.com/ansible/2.4/playbooks_loops.html#looping-over-files
[with-items]: https://docs.ansible.com/ansible/2.4/playbooks_loops.html#standard-loops
[bug-report]: https://github.com/ansible/ansible/pull/59639#issuecomment-540803722
* uniform sops exception handling between plugins
* Apply suggestions from code review
Co-Authored-By: Felix Fontein <felix@fontein.de>
* remove sops lookup plugin print option
Is no longer possible to print the decrypted secrets directly from this
plugin, but `debug` module can be used instead.
* add github handle to author
* add setup_sops integration target
* extract sops module
* add lookup_sops integration tests
* use sops module
* Update plugins/module_utils/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/module_utils/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update test/integration/targets/lookup_sops/files/simple.sops.yaml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Adding aliases file
* Emtpy spaces
* Update plugins/lookup/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/lookup/sops.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* gpg -> gnupg2
* with_items -> loop
* Move error logic to module_utils.
* Make Sops.decrypt() also handle errors and decode output.
* Improve error handling.
* Improve example formatting.
* Reorganize tests.
* Add test.
* Remove version_added.
Co-authored-by: Edoardo Tenani <edoardo.tenani@protonmail.com>
Co-authored-by: Edoardo Tenani <edoardo.tenani@gmail.com>
Co-authored-by: Edoardo T <endorama@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Added 'extra_install_args' option to allow extra upgrade/install
Example zypper args for this is
* --allow-vendor-change
* --replacefiles and
* --force-resolution
* Fix comment issue..
* Change extra_install_args option to a list.
Improved doc.
* 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>
* Switch from using extra_install_args to individual module options.
* Fix syntax errors and limit 'allow-vendor-change' to 'dist-upgrade'
* Removed un-needed import
* Added changelog fragment
* Added tests for zypper replacefiles and allow_vendor_change options
* Removed dist-upgrade as it changes the test environment.
And it is hard to undo.
* Added proper test of replacefiles zypper option
Buiding two rpm packages containing same file path but with different content.
Making sure we fail to install them without the replacefiles options and that we succeed
using it.
* Make sure to create directory before writing files
* Fix indentation of ignore_errors
* Correct genereated rpm file name
* Improved duplicate file assertions
* Ensure no previous netcat package still exists.
* Corrected naming of example task.
* Fix variable name typo.
* Fix proper duplicate_content access
* Make sure to clean up duplicate rpms after tests.
* Removed debug
* Removed version_added of option allow_vendor_change and replacefiles
Co-authored-by: Felix Fontein <felix@fontein.de>
* add a new module iso_create
* add elements in argument spec
* remove changelog for new module
* change the path of test file
* comment out pip check task in test case
* comment out install pip in test case
* move pip install task and add skip python2.6
The common http api client class used by the scaleway modules only
enables automatic jsonification of the request body if the
"Content-Type" header is application/json. The client only included
"Content-type" in its default set of headers (notice the case
variation).
This caused a KeyError on send() if the caller relied on the default
content-type value.
* kwargs for _update_monitor wasn't corrected to new notification_message param
* forgot to bump a changelog fragment
* Update changelogs/fragments/389-datadog_monitor-corrects-deprecated-message-param.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add validity check for [Driver][IPAddress] else use docker-machine ip command.
* Note why we fallback to the `docker-machine ip <machine name>` command.
* Add changelog fragment.
* Corrected module name in changelog fragment.
Co-authored-by: Ben Roose <ben.roose@wichita.edu>
* gitlab_project_variable: added support for variable_type
* gitlab_project_variable: Added integration tests for variable_type file.
* Changed test case variable name, ansible was masking the output.