Compare commits

...

255 Commits

Author SHA1 Message Date
Felix Fontein
df8a75f3c4 Modify files that contain reference to licenses/ that are no longer part of main branch. 2022-06-02 07:37:35 +02:00
Felix Fontein
a58191225e Add simplified_bsd.txt license file (#4759)
* Add simplified_bsd.txt and adjust references.

* Add changelog.

(cherry picked from commit 0be68bf04b)
2022-06-02 07:31:40 +02:00
Felix Fontein
7c206c388f Remove CI config. 2022-05-16 12:29:11 +02:00
Felix Fontein
709811a43d Final 1.3.14 release. 2022-05-16 12:28:13 +02:00
Felix Fontein
dfc641ff97 Prepare 1.3.14 release. 2022-05-14 13:51:29 +02:00
Felix Fontein
3c3b11d0b9 FreeBSD 11.4 seems to be broken. Disable. 2022-05-08 14:02:35 +02:00
Felix Fontein
a3cb2e897d OpenShift 0.13.0 seems to screw something up. Let's stick to < 0.13.0. (#4161) 2022-02-06 12:13:56 +00:00
Felix Fontein
6495bea4c4 The next expected release is 1.3.14. 2022-01-31 21:28:32 +01:00
Felix Fontein
b328ab6dad Release 1.3.13. 2022-01-31 21:28:05 +01:00
Felix Fontein
ac73e23031 Remove CentOS 8 from CI. (#4134) 2022-01-31 21:27:01 +01:00
Felix Fontein
7d063c6702 Prepare 1.3.13 release. 2022-01-30 15:18:38 +01:00
patchback[bot]
674a4a09d1 PyOpenSSL 22.0.0 no longer supports Python 2.7 (#4114) (#4115)
* PyOpenSSL 22.0.0 no longer supports Python 2.7.

* Try to make pip on CentOS 6 happy.

(cherry picked from commit 84124224ae)

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-01-30 15:15:02 +01:00
Felix Fontein
ff6ae0581b Add EoL message. (#4093) 2022-01-29 15:31:01 +01:00
Felix Fontein
85d82fbb28 [stable-1] Restrict redis to < 4.1.0 for ansible-base 2.10 (#3960)
* Restrict redis to < 4.1.0 for ansible-base 2.10. (#3955)

(cherry picked from commit 3f2364574d)

* Add missing piece.
2021-12-27 21:48:21 +00:00
patchback[bot]
c513c752f8 Add stable-4 to nightly CI jobs; make stable-2 weekly. (#3852) (#3854)
(cherry picked from commit 727c9a4032)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-12-05 17:41:00 +01:00
Felix Fontein
d4ddbed566 Restrict redis version. (#3733) (#3737)
(cherry picked from commit bf7a954f00)
2021-11-16 07:31:15 +01:00
Felix Fontein
3cacd90496 Replace Bash codecov uploader by new Python codecov uploader. (#3713) (#3717)
ci_coverage

(cherry picked from commit 5948809162)
2021-11-13 13:51:05 +01:00
patchback[bot]
5bee4a3d64 Fix CI (#3637) (#3639)
* Replace yaml.load with yaml.safe_load in unit tests.

* Remove no longer needed loader arg in two instances.

(cherry picked from commit 753df78877)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-10-30 11:22:02 +02:00
Felix Fontein
7311394316 [stable-1] Fix wrong FQCNs (#3576)
* Use correct FQCN. (#3573)

(cherry picked from commit c3813d4533)

* Add more fixes.
2021-10-17 18:26:08 +02:00
patchback[bot]
54ee93faec [PR #3531/d1f820ed backport][stable-1] Fix shellcheck error (#3532)
* Fix shellcheck error. (#3531)

(cherry picked from commit d1f820ed06)

* Vendored ipaddress is still present in stable-1 branch, so use that one.

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-10-09 11:18:37 +02:00
patchback[bot]
705e9bd1bd Fix OSX 10.11 CI runs (#3501) (#3502)
* Restrict to OSX 10.11 tests.

* See whether updating brew helps.

* Skip archive task for OSX.

* Refactor homebrew task to make changing the package name easier.

* Revert "See whether updating brew helps."

This reverts commit 8eceb9ef1f.

* Replace xz by gnu-tar.

* Uninstall first.

* Skip iso_extract task for OSX.

* Revert "Restrict to OSX 10.11 tests."

This reverts commit 81823d2f97.

* ci_complete

(cherry picked from commit 106856ed86)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-10-02 21:44:39 +02:00
patchback[bot]
f05c511ac0 Stick to community.crypto 1.x.y for ubuntu1604. (#3470) (#3475)
(cherry picked from commit 3fee872d58)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-09-29 20:29:22 +02:00
patchback[bot]
a1469f9e27 Enable ansibullbot notifications in issues and PRs (#3462) (#3463)
The more recent version of Ansibullbot defaults notifications to false.
We need to set it to true so it can notify contributors and maintainers.

(cherry picked from commit 845c406419)

Co-authored-by: David Moreau Simard <moi@dmsimard.com>
2021-09-29 06:41:23 +02:00
patchback[bot]
d024dd1132 [WIP] [stable-2] Fix filesystem tests on OpenSuSE (#3443) (#3444)
* Disable failing test on OpenSuSE.

* Fix condition.

* Correct fix.

(cherry picked from commit 6fdeca5709)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-09-25 21:25:20 +02:00
patchback[bot]
461c63ae90 Diable netcat conflict in zypper tests as one package seems to be no longer available. (#3438) (#3440)
(cherry picked from commit 3715b6ef46)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-09-25 17:42:50 +02:00
patchback[bot]
bcedf9ecd5 Fix CI (#3430) (#3431)
* 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.

(cherry picked from commit 935348ae78)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-09-25 07:05:34 +00:00
Felix Fontein
ad901cb7ce Next expected release is 1.3.13. 2021-08-31 18:21:49 +02:00
Felix Fontein
eec743f791 Release 1.3.12. 2021-08-31 07:28:59 +02:00
Felix Fontein
c6a3392bea Prepare 1.3.12 release. 2021-08-29 13:41:27 +02:00
patchback[bot]
403597da09 Update the .gitignore with the latest version (#3177) (#3182)
This because it contains new changes, e.g. ignore development
environments for Python projects.

(cherry picked from commit 429359e977)

Co-authored-by: Roy Lenferink <lenferinkroy@gmail.com>
2021-08-09 17:01:13 +02:00
patchback[bot]
49df4f4b81 contributing: make expected behavior clearer (#3168) (#3174)
* contributing: make expected behavior clearer

reformulate the preference of not having squashed commits clearer,
shorter and more precise.

https://github.com/ansible-collections/community.general/pull/3164#discussion_r684644504

* Update CONTRIBUTING.md

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

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

Co-authored-by: Sebastian <sebix@sebix.at>
2021-08-08 11:48:32 +02:00
patchback[bot]
12b7c5c584 Inform contributors on changelog fragments in CONTRIBUTING.md (#3167) (#3171)
* Inform contributors on changelog fragments.

* Mention docs-only PRs as well.

(cherry picked from commit 87ba15fa45)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-08-08 11:47:53 +02:00
Felix Fontein
5336872b3e [stable-1] added supports_check_mode=True to info/facts modules (#3101)
* [stable-2] added supports_check_mode=True to info/facts modules (#3095)

* added supports_check_mode=True to info/facts modules (#3084)

* added supports_check_mode=True to info/facts modules

* added changelog fragment

* rolled back vertica_info

* rolled back utm_proxy_*_info

* updated changelog fragment with latest adjustments

* Update changelogs/fragments/3084-info-checkmode.yaml

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

* added check mode to xenserver_facts + oneview_*_info

* added check mode to utm_proxy_*_info

* updated changelog

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

* Also fix modules removed in 3.0.0.

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

* Fix some more modules.
2021-07-28 09:59:36 +02:00
patchback[bot]
5cba378c75 Check targets (#3019) (#3020)
* Add extra sanity test to check aliases files.

* Remove invalid target name.

(cherry picked from commit 27ba98a68e)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-07-16 20:09:28 +02:00
patchback[bot]
25ee06d5de Temporarily disable passwordstore lookup tests on macOS and OSX. (#2979) (#2980)
(cherry picked from commit 4ae392e5de)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-07-10 13:49:39 +02:00
John R Barker
d526d96899 Update commit-rights.md (#2966)
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.

(cherry picked from commit 518ace2562)
2021-07-09 13:01:18 +01:00
Felix Fontein
d079384e75 Next release will be 1.3.12. 2021-06-28 22:17:55 +02:00
Felix Fontein
abc786bddd Release 1.3.11. 2021-06-28 21:02:01 +02:00
Felix Fontein
85a1eea4e6 Prepare 1.3.11 release. 2021-06-28 07:02:51 +02:00
Felix Fontein
ca385c8a45 [stable-1] fix CI (#2892)
* Make sure ruamel.yaml.clib 0.2.2 is used for Python 2.7.

* Also add to unit tests requirements.

* Don't install on Python 2.6.

* Another constraints file.
2021-06-27 15:44:37 +02:00
patchback[bot]
bb689550b3 Adjust example to remove unnecessary offensive language. (#2869) (#2870)
(cherry picked from commit d2a984ded1)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-25 06:49:08 +02:00
patchback[bot]
41aacb1472 Dynamically add meta/runtime.yml redirects before integration tests. (#2633) (#2853)
ci_coverage

(cherry picked from commit 07085785a3)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-22 09:13:49 +02:00
patchback[bot]
3f92a6b738 BOTMETA.yml: grant supershipit (#2807) (#2809)
(cherry picked from commit b1b34ee12e)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-06-15 19:11:18 +02:00
patchback[bot]
ebdd8c88ec BOTMETA.yml: supershipit to quidame (#2801) (#2804)
(cherry picked from commit bccf317814)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-06-14 20:59:08 +02:00
patchback[bot]
b24d27d4bd Make extra sanity test runner produce ansibullbot and JUnit output. (#2794) (#2798)
(cherry picked from commit a55c96d5c1)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-14 07:58:00 +02:00
Felix Fontein
7b3319dd81 CI: Remove scripts that are no longer needed (#2793) (#2797)
* Remove scripts that are no longer needed.

ci_complete

* Remove sanity ignores.

(cherry picked from commit d4c4d00ad1)
2021-06-14 06:42:24 +02:00
patchback[bot]
94b2e9d9ca with great powers come great responsibility (#2755) (#2757)
(cherry picked from commit eef645c3f7)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-06-08 11:04:26 +02:00
patchback[bot]
82060a7b21 Re-enable flatpak_remote tests (#2747) (#2750)
* Automate test repo creation, re-enable flatpak_remote tests.

* Linting.

* Another try.

(cherry picked from commit 4c50f1add7)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-06-07 21:48:46 +02:00
patchback[bot]
580cced80a Remove aminvakil from supershipit section as it is not needed anymore (#2743) (#2744)
(cherry picked from commit 7c3f2ae4af)

Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-06-07 17:03:32 +02:00
patchback[bot]
a4d1d064c8 Add aminvakil to committers (#2739) (#2740)
(cherry picked from commit 1e34df7ca0)

Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-06-07 16:01:22 +02:00
patchback[bot]
4e3d85798c Stop mentioning Freenode. We're on Libera.chat. (#2666) (#2667)
(cherry picked from commit 14813a6287)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-05-28 07:24:55 +02:00
patchback[bot]
28458b2477 Add CONTRIBUTING.md (#2602) (#2624)
* 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>
(cherry picked from commit d0f8eac7fd)

Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-05-26 10:00:14 +02:00
patchback[bot]
e21ddcb5b6 Massive adjustment in integration tests for changed and failed (#2577) (#2586)
* Replaced ".changed ==" with "is [not] changed". Same for failed

* Mr Quote refused to go

(cherry picked from commit d7e55db99b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-05-22 14:53:06 +02:00
patchback[bot]
4006db89bf Add missing author name (#2570) (#2574)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 852e240525)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-05-21 19:44:17 +02:00
patchback[bot]
62557a0e10 removed supporting code for testing module "nuage" - no longer exists here (#2559) (#2561)
(cherry picked from commit 452a185a23)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-05-19 22:44:32 +02:00
Felix Fontein
c305178950 Fix CI. 2021-05-19 12:23:01 +02:00
patchback[bot]
8ba08ae383 Clarify Windows (non-)support. (#2476) (#2480)
(cherry picked from commit 2e58dfe52a)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-05-10 17:14:29 +02:00
Felix Fontein
ffafcb34b2 Remove shippable config. (#2440) (#2445)
(cherry picked from commit 1f41e66f09)
2021-05-03 23:07:56 +02:00
Felix Fontein
2ed03d7fb6 Copy schedule to stable branches. 2021-05-02 13:35:10 +02:00
patchback[bot]
a007eebba8 Remove programming error which prevents modules to work with devel. (#2381) (#2382)
(cherry picked from commit d9524bae93)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-30 06:03:21 +02:00
patchback[bot]
a0a5a10c67 Use Ansible's codecov uploader. (#2377) (#2378)
(cherry picked from commit b3f436aa63)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-30 05:32:16 +02:00
Felix Fontein
f01ac6f31f Next expected release is 1.3.11. 2021-04-26 14:31:12 +02:00
Felix Fontein
055b7fe4c1 Release 1.3.10. 2021-04-26 13:07:02 +02:00
Felix Fontein
906fd97c24 Update release summary to emphasize this is the last regular bugfix release. 2021-04-26 07:27:27 +02:00
patchback[bot]
e91c22bbe6 Fix Python 2 compatibility issue. (#2340) (#2351)
(cherry picked from commit 5195536bd8)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-26 07:16:53 +02:00
patchback[bot]
ab6b2346a6 Removes colin-nolan as Consul maintainer (#2342) (#2346)
(cherry picked from commit 399c0ef849)

Co-authored-by: Colin Nolan <colin-nolan@users.noreply.github.com>
2021-04-26 06:50:37 +02:00
patchback[bot]
01b47a8a1f convert string returned by plugin to unicode (#2329) (#2338)
* 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>
(cherry picked from commit f11f6595cc)

Co-authored-by: Anubhav Chakraborty <47817745+coderfool@users.noreply.github.com>
2021-04-24 12:51:52 +02:00
Felix Fontein
2b2386b6af BOTMETA.yml: haproxy - add a maintainer (#2331) (#2333)
(cherry picked from commit 2799cd4ac7)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-22 22:07:28 +02:00
patchback[bot]
c7736ab921 nmap: fix cache support (#2282) (#2328)
* add cache support

* pep8 e501 fix

* revert verify_file function

* revert description update

* add changelog fragment

Co-authored-by: Dennis Israelsson <github@mdh.nu>
(cherry picked from commit 31c9ed0fe6)

Co-authored-by: Dennis Israelsson <dennis.israelsson@gmail.com>
2021-04-22 07:47:45 +02:00
patchback[bot]
457c92c8e2 with_filetree:: use splitext for compatibility with template: (#2285) (#2321)
* 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>
(cherry picked from commit 8db59ff02d)

Co-authored-by: Nick <nick@kousu.ca>
2021-04-21 13:03:05 +00:00
Felix Fontein
79f68629ff More renames. (#2307) (#2317)
(cherry picked from commit c768060d95)
2021-04-21 13:30:39 +02:00
patchback[bot]
4167832db3 BOTMETA.yml: lxd/lxd_profile - add a new maintainer (#2310) (#2314)
(cherry picked from commit fe2757f057)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-21 13:06:44 +02:00
patchback[bot]
a57689f118 BOTMETA.yml: github/github_repo - add a new maintainer (#2309) (#2312)
(cherry picked from commit 8ab19fc50b)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-21 12:21:41 +02:00
Felix Fontein
6d804ed77a [stable-1] Backport of #2286 and #2304 (#2306)
* BOTMETA.yml: update team_virt (#2286)

(cherry picked from commit fc12eca65d)

* Update BOTMETA.yml (#2304)

(cherry picked from commit f7928d3eb7)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-20 23:03:18 +02:00
patchback[bot]
90e22b93fd BOTMETA.yml: update team_ipa (#2289) (#2301)
(cherry picked from commit 0231dad3e8)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-20 22:30:25 +02:00
patchback[bot]
b372b3241a BOTMETA.yml: java_cert - add a new maintainer (#2288) (#2294)
(cherry picked from commit 49c07dc18b)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-20 13:28:57 +02:00
patchback[bot]
5a5ed8c3f0 BOTMETA.yml: expand team_opennebula (#2292) (#2298)
(cherry picked from commit 5b4fab80e2)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-20 13:28:36 +02:00
patchback[bot]
f72029a518 BOTMETA.yml: inventory/proxmox - add a new maintainer (#2291) (#2296)
(cherry picked from commit 84a79c3da4)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-20 13:28:29 +02:00
Felix Fontein
71e894ab68 BOTMETA.yml: update team_gitlab (#2287) (#2300)
(cherry picked from commit 7aaa26b591)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-20 13:24:23 +02:00
patchback[bot]
c82bc7f041 Fix for Terraform 0.15 (#2246) (#2260)
* 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>
(cherry picked from commit 1400051890)

Co-authored-by: rainerleber <39616583+rainerleber@users.noreply.github.com>
2021-04-17 22:53:50 +02:00
patchback[bot]
c28cade77e Fix problems with pip2.6 included in CentOS 6. (#2256) (#2258)
(cherry picked from commit d09bc2525b)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-17 20:16:51 +02:00
patchback[bot]
7ee401ab14 funcd connection plugin is now usable/loadable (#2235) (#2240)
* funcd connection plugin is now usable/loadable

* Update changelogs/fragments/allow_funcd_to_load.yml

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

Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
2021-04-14 10:00:36 +02:00
patchback[bot]
5652423dce Use nomad_job_info in nomad_job_info examples (#2233) (#2238)
(cherry picked from commit f97d5ca701)

Co-authored-by: Amin Vakil <info@aminvakil.com>
2021-04-14 10:00:23 +02:00
patchback[bot]
0fbb0039b1 java_keystore: improve error handling and returned results (#2183) (#2226)
* 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>
(cherry picked from commit 89b7e7191f)

Co-authored-by: quidame <quidame@poivron.org>
2021-04-12 22:13:34 +02:00
patchback[bot]
c38420d741 Grant supershipit to new maintainers (#2214) (#2221)
* Grant supershipit to a new maintainer

* Add maintainer

(cherry picked from commit 7356451aa1)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-04-12 11:24:10 +02:00
Felix Fontein
eb5695845e Prepare 1.3.10 release. 2021-04-11 17:31:34 +02:00
Alexei Znamensky
7481436027 [PR #2203/0cd0f0ea backport][stable-1] module_helper - fixed decorator cause_changes (#2209)
* module_helper - fixed decorator cause_changes (#2203)

* fixed decorator cause_changes

* added changelog fragment

* typo

(cherry picked from commit 0cd0f0eaf6)

* adjusted imports for stable-1
2021-04-08 19:49:50 +02:00
patchback[bot]
4b54805693 ipa_user sshpubkey can now support multi word comments in the key (#2159) (#2200)
* 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>
(cherry picked from commit 7f91821bcc)

Co-authored-by: justchris1 <30219018+justchris1@users.noreply.github.com>
2021-04-07 20:42:03 +02:00
patchback[bot]
5b33b0f61f Fix HAProxy draining (#1993) (#2197)
* 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>
(cherry picked from commit 7145204594)

Co-authored-by: Norman Ziegner <normo157@gmail.com>
2021-04-07 20:06:22 +02:00
Felix Fontein
83370ee97d Restrict docker to < 5.0.0 for Python < 3.6. (#2196) 2021-04-07 14:24:56 +02:00
Alexei Znamensky
f534ecbd2c [stable-1] xfconf - state absent was not honoring check_mode (#2185) (#2187)
* xfconf - state absent was not honoring check_mode (#2185)

* state absent was not honoring check_mode

* added changelog fragment

* adjusted run_command() call for stable-1
2021-04-07 10:20:30 +02:00
Felix Fontein
e32de4841a Replace devel tests with stable-2.11. (#2131) 2021-04-06 07:40:29 +02:00
patchback[bot]
611f3ed3a9 replace inline clear password by environment variable (#2177) (#2181)
* 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>
(cherry picked from commit eb851d4208)

Co-authored-by: quidame <quidame@poivron.org>
2021-04-05 18:45:08 +02:00
patchback[bot]
cf144df715 java_keystore/fix 1667 improve temp files storage (#2163) (#2175)
* 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>
(cherry picked from commit 533e01a3f9)

Co-authored-by: quidame <quidame@poivron.org>
2021-04-05 15:19:21 +02:00
patchback[bot]
f717c1f4fd removed unreachable code (#2157) (#2169)
* removed unreachable code

* added changelog fragment

(cherry picked from commit b81a7cdd16)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-04-05 09:50:38 +02:00
patchback[bot]
f51cdb367f rewritten as list literals (#2160) (#2167)
* rewritten as list literals

* added changelog fragment

(cherry picked from commit b97e31dd55)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-04-05 09:50:08 +02:00
patchback[bot]
12d3c4e174 fixed calls to list.extend() (#2161) (#2165)
* 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>
(cherry picked from commit d92d0632eb)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-04-05 00:00:07 +02:00
Felix Fontein
0d1f2fd513 kibana_plugin: fixed remove call + run_command with list instead of str (#2143) (#2154)
* 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>
(cherry picked from commit 3312ae08af)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-04-03 22:56:17 +02:00
patchback[bot]
3b6ceeba0d [WIP] Committer guidelines (#2077) (#2152)
* 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>
(cherry picked from commit 95156a11a1)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-03 11:09:32 +00:00
patchback[bot]
20939e340e using get_bin_path() on atomic modules (#2144) (#2150)
* 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>
(cherry picked from commit c8885fdfbd)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-04-02 22:26:06 +02:00
patchback[bot]
69b3489527 fixed str formatting (#2139) (#2140)
(cherry picked from commit f1dbef4143)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-03-31 14:15:05 +02:00
patchback[bot]
e734cf9384 fix type information for vmadm.resolvers (#2136) (#2137)
* 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>
(cherry picked from commit 604a5dbf49)

Co-authored-by: Gaige B Paulsen <github@gbp.gaige.net>
2021-03-31 11:54:23 +02:00
patchback[bot]
0d23047f12 remove billdodd from team_redfish (#2118) (#2119)
(cherry picked from commit 0de196413f)

Co-authored-by: Bill Dodd <billdodd@gmail.com>
2021-03-26 20:08:02 +01:00
patchback[bot]
6227260432 AZP: update default container version (#2112) (#2113)
(cherry picked from commit 0bc76c98b0)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-03-26 13:09:41 +01:00
patchback[bot]
3d923f06ed Bugfix: Respect PATH env variable in zypper modules (#2094) (#2108)
* Bugfix: Respect PATH env variable in zypper modules

* Improve changelogs/fragments/2094-bugfix-respect-PATH-env-variable-in-zypper-modules.yaml

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

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

Co-authored-by: Stefan Richter <sealor@users.noreply.github.com>
2021-03-25 22:49:59 +01:00
patchback[bot]
9a647554b6 Updated vdo maintainer to rhawalsh. (#2102) (#2106)
bgurney-rh does not work with VDO projects anymore.  This change re-points
maintainer pings to rhawalsh instead.

(cherry picked from commit 62cd38a9a0)

Co-authored-by: Andy Walsh <33293922+rhawalsh@users.noreply.github.com>
2021-03-25 22:48:40 +01:00
patchback[bot]
fa32c1376e ipa_service - Correct pluralisation of "hosts" in example (#2103) (#2104)
(cherry picked from commit 2558cd3f01)

Co-authored-by: Alex Willmer <al.willmer@cgi.com>
2021-03-25 22:46:08 +01:00
Felix Fontein
f7cb57677f fixed documentation for oneview modules (#2092) (#2098)
(cherry picked from commit 94cf07efbf)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-03-24 18:24:30 +01:00
patchback[bot]
bc97d291aa Add a Pulp 2 related note to pulp_repo (#2096) (#2099)
(cherry picked from commit de8e2a83e2)

Co-authored-by: Matthias Dellweg <2500@gmx.de>
2021-03-24 18:12:57 +01:00
Felix Fontein
4860420c07 Next expected release will be 1.3.10. 2021-03-23 08:46:24 +01:00
Felix Fontein
753b0bc834 Release 1.3.9. 2021-03-23 08:09:57 +01:00
Felix Fontein
dba8e02c7b [stable-1] Install collections in CI directly with git (#2087)
* Install collections in CI directly with git to work around the Galaxy CloudFlare PITA. (#2082)

(cherry picked from commit 7fe9dd7a60)

* Repace more ansible-galaxy collection install calls.

* Restrict community.kubernetes dependency.
2021-03-23 08:04:19 +01:00
patchback[bot]
85cd2132fc Fixed documentation (#2062) (#2080)
(cherry picked from commit 88994ef2b7)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-03-22 20:55:47 +01:00
patchback[bot]
0dd398d24a improve force_archive parameter documentation of archive module (#2052) (#2078)
* 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>
(cherry picked from commit af441aecfc)

Co-authored-by: Triantafyllos <ttsak@hotmail.com>
2021-03-22 20:55:35 +01:00
Felix Fontein
c84b8dbf84 Prepare 1.3.9 release. 2021-03-22 07:57:29 +01:00
patchback[bot]
2e8b318341 stacki_host - configured params to use fallback instead of default (#2072) (#2075)
* configuredd params to use fallback instead of default

* added changelog fragment

(cherry picked from commit 5fc56676c2)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-03-21 15:46:46 +01:00
Alexei Znamensky
25bd378005 archive - created an integration test that archives broken links (#2063) (#2067)
* created an integration test that archives broken links

* sanity fix

(cherry picked from commit f5a9584ae6)
2021-03-21 11:33:00 +01:00
patchback[bot]
8995ab3483 Fix nios modules to work with ansible-core 2.11 (#2057) (#2058)
* Fix nios modules to work with ansible-core 2.11.

* Adjust tests.

(cherry picked from commit 24f8be834a)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-03-20 17:23:09 +01:00
patchback[bot]
9ff5ea1097 Adding xmadsen and renxulei as Redfish maintainers (#2047) (#2055)
(cherry picked from commit a23fc67f1f)

Co-authored-by: Mike Raineri <mraineri@gmail.com>
2021-03-20 10:48:50 +01:00
Felix Fontein
de8a90d59e update linode team (#2039) (#2051)
(cherry picked from commit 8225b745f3)

Co-authored-by: Charlie Kenney <Charlesc.kenney@gmail.com>
2021-03-20 09:55:58 +01:00
patchback[bot]
6662bd9931 Fix IndexError in SetManagerNic (#2040) (#2048)
* fix IndexError in SetManagerNic

* add changelog fragment

(cherry picked from commit 0b2ebabd29)

Co-authored-by: Bill Dodd <billdodd@gmail.com>
2021-03-19 21:38:20 +01:00
patchback[bot]
fc3e25c2d0 fix: scaleway inventory pagination (#2036) (#2041)
* fix: scaleway inventory pagination

* add changelog

* Update changelogs/fragments/2036-scaleway-inventory.yml

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

Co-authored-by: Antoine Barbare <abarbare@online.net>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit fe61be3e11)

Co-authored-by: abarbare <antoinebarbare@gmail.com>
2021-03-19 07:43:58 +01:00
Felix Fontein
75196b924b Next expected release is 1.3.9. 2021-03-15 08:16:31 +01:00
Felix Fontein
76f44b75dd Release 1.3.8. 2021-03-15 07:23:09 +01:00
Felix Fontein
5adb53e2be Add 1.3.8 release summary. 2021-03-15 07:14:50 +01:00
Felix Fontein
08e7846deb [stable-1] no_log: more false-positives (not flagged by sanity tests yet) (#2017)
* More false-positives (not flagged by sanity tests yet). (#2010)

(cherry picked from commit 49d9a257ef)

* Add more false positives.
2021-03-13 18:21:21 +01:00
Felix Fontein
b0cbef394f Add missing no_log values. (#2018) 2021-03-13 17:37:30 +01:00
Felix Fontein
d0fa5060df Backport of https://github.com/ansible-collections/community.docker/pull/103 to stable-1. (#2015) 2021-03-13 12:00:21 +01:00
patchback[bot]
b8050e1296 Remove password requirement when creating lxc containers (#1999) (#2012)
* 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>
(cherry picked from commit 4676ca584b)

Co-authored-by: Ajpantuso <ajpantuso@gmail.com>
2021-03-12 20:53:56 +01:00
patchback[bot]
4f31106ac4 [PR #2001/1ea08076 backport][stable-1] Mark non-secret leaking module options with no_log=False (#2004)
* Mark non-secret leaking module options with no_log=False (#2001)

* Mark non-secret leaking module options with no_log=False.

* Add changelog fragment.

(cherry picked from commit 1ea080762b)

* Add one more.

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-03-12 09:37:23 +01:00
patchback[bot]
a3a01d8b87 Excluded qemu templates in pools (#1991) (#2002)
* Excluded qemu templates in pools

* Added changelog fragment

* Made check more robust

(cherry picked from commit 178209be27)

Co-authored-by: Jeffrey van Pelt <jeff@vanpelt.one>
2021-03-12 08:33:23 +01:00
Felix Fontein
a22113c3c2 Backport of https://github.com/ansible-collections/community.docker/pull/88 to stable-1. (#1982) 2021-03-08 08:37:10 +01:00
Felix Fontein
1e1a843ff3 Backport of https://github.com/ansible-collections/community.docker/pull/87 to stable-1. (#1983) 2021-03-08 08:37:04 +01:00
Felix Fontein
3d3e47fc87 Remove part of shippable config that's not needed for bot.
(cherry picked from commit ff4e4c055c)
2021-03-06 14:06:21 +01:00
patchback[bot]
4375c99432 Bugfix/manageiq inventory (#720) (#1962)
* Extending modules with resource_id

* Added documentation

* Revert previous PR

* Added filter for active vm's

* Added changelog fragment

* Update changelogs/fragments/720-cloudforms_inventory.yml

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

Co-authored-by: phospi <phoffmann@spirit21.com>
2021-03-04 08:32:42 +01:00
patchback[bot]
5b2d01566f Fix: nmcli - Ensure slave-type for bond-slave (#1882) (#1960)
* 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>
(cherry picked from commit dec345b818)

Co-authored-by: Ox <oxedions@gmail.com>
2021-03-04 08:27:34 +01:00
patchback[bot]
fcc531ee93 zfs: avoid errors with creation-only properties (#1833) (#1958)
* 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>
(cherry picked from commit ce5aea790d)

Co-authored-by: sam-lunt <samuel.j.lunt@gmail.com>
2021-03-04 08:27:16 +01:00
patchback[bot]
72a1f5bbd2 Adding another example for tss lookup (#1945) (#1947)
* 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>
(cherry picked from commit 677ab8e383)

Co-authored-by: Jim Speir <jimbo80982@gmail.com>
2021-03-03 08:30:36 +01:00
Felix Fontein
b1231d20a8 stable-1: fix docker tests (#1951) 2021-03-03 08:07:12 +01:00
patchback[bot]
9e82a1c994 Actually use option. (#1928) (#1935)
(cherry picked from commit b4c136125e)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-27 23:11:33 +01:00
patchback[bot]
5ffef67f11 Proxmox inventory: Add some sanitization to url parameter (#1914) (#1930)
* 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

(cherry picked from commit 20bd065e77)

Co-authored-by: Jeffrey van Pelt <jeff@vanpelt.one>
2021-02-27 17:27:11 +01:00
patchback[bot]
e68c68d417 bugfix: xfs_quota feedback on projects not initialized has changed (#1596) (#1922)
* 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>
(cherry picked from commit ea65ce8e0d)

Co-authored-by: William Leemans <bushvin@users.noreply.github.com>
2021-02-27 09:57:55 +01:00
Felix Fontein
53cf06bf46 Tidy up sanity checks (2021/Batch 3 - who's counting) (#1885) (#1911)
* fixed validation-modules for plugins/modules/packaging/language/pip_package_info.py

* fixed validation-modules for plugins/modules/packaging/language/maven_artifact.py

* fixed validation-modules for plugins/modules/packaging/language/bundler.py

* fixed validation-modules for plugins/modules/notification/pushbullet.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_handler.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_check.py

* fixed validation-modules for plugins/modules/monitoring/sensu/sensu_client.py

* fixed validation-modules for plugins/modules/monitoring/icinga2_host.py

* fixed validation-modules for plugins/modules/monitoring/datadog/datadog_monitor.py

* fixed validation-modules for plugins/modules/monitoring/datadog/datadog_event.py

* fixed validation-modules for plugins/modules/clustering/znode.py

* fixed validation-modules for plugins/modules/clustering/etcd3.py

* fixed validation-modules for plugins/modules/clustering/consul/consul_session.py

* fixed validation-modules for plugins/modules/clustering/consul/consul_kv.py

* fixed validation-modules for plugins/modules/clustering/consul/consul.py

* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks.py

* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_volume.py

* fixed validation-modules for plugins/modules/cloud/packet/packet_sshkey.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_server.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_private_network.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_monitoring_policy.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_load_balancer.py

* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_firewall_policy.py

* fixed validation-modules for plugins/modules/cloud/webfaction/webfaction_app.py

* fixed validation-modules for plugins/modules/cloud/webfaction/webfaction_db.py

* fixed validation-modules for plugins/modules/cloud/webfaction/webfaction_domain.py

* fixed validation-modules for plugins/modules/cloud/webfaction/webfaction_mailbox.py

* fixed validation-modules for plugins/modules/cloud/webfaction/webfaction_site.py

* fixed validation-modules for plugins/modules/remote_management/lxca/lxca_cmms.py

* fixed validation-modules for plugins/modules/remote_management/lxca/lxca_nodes.py

* missed one "elements" in sensu_handler

* Tidy up batch of sanity checks ignore lines

* missed lines in ignore-2.9.txt

* fixed validation-modules for plugins/modules/clustering/consul/consul_acl.py

* Update ignore-2.9.txt

Removed consul_acl.py from ignore-2.9.txt

* Apply suggestions from code review

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* Update plugins/modules/notification/pushbullet.py

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

* Update plugins/modules/cloud/oneandone/oneandone_monitoring_policy.py

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

* added changelog fragment

* Update plugins/modules/cloud/oneandone/oneandone_monitoring_policy.py

* Update changelogs/fragments/1885-sanity-check-fixes-batch3.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
(cherry picked from commit 76d9fe4ec6)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-26 11:23:29 +00:00
Felix Fontein
49bc3568c6 Next expected release is 1.3.8. 2021-02-25 22:38:04 +01:00
Felix Fontein
f39f4c9071 Force a complete CI run. (#1905)
ci_complete
2021-02-25 17:21:29 +01:00
Felix Fontein
a85fe95747 Release 1.3.7. 2021-02-25 15:58:10 +01:00
Felix Fontein
d7afb48ab6 Update release summary. 2021-02-25 15:57:47 +01:00
patchback[bot]
0cee34ffaa BOTMETA.yml: Remove vfauth as etcd3 maintainer (#1900) (#1903)
(cherry picked from commit 71706031c7)

Co-authored-by: Victor Fauth <victor@fauth.pro>
2021-02-25 15:52:27 +01:00
patchback[bot]
fad7935abc cobbler_sync cobbler_system fix TLS check when validate_certs (#1880) (#1901)
Ref: https://www.python.org/dev/peps/pep-0476/
Issue #1878
add changelog fragment

Co-authored-by: Nicolas Marcq <nicolas.marcq@hpe.com>
(cherry picked from commit 36dea9ab97)

Co-authored-by: Nicolas Marcq <nico.marcq@gmail.com>
2021-02-25 15:17:40 +01:00
Felix Fontein
ac0770ff55 Prepare 1.3.7 release. 2021-02-25 15:03:44 +01:00
patchback[bot]
8c8d4b578a proxmox_kvm: trivial patch for github issue #1875 (#1895) (#1898)
* 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>
(cherry picked from commit bb7ce740fe)

Co-authored-by: Tristan Le Guern <tristan.leguern-presta@deveryware.com>
2021-02-25 13:07:44 +01:00
Felix Fontein
275b979f7c Tidy up sanity checks ignore lines for source_control/* modules (#1893) (#1897)
* 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

(cherry picked from commit cf5e9bf44c)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-25 10:22:12 +01:00
Felix Fontein
0a364b166b Remove unneeded fields (with typos). (#1887) (#1889)
(cherry picked from commit e353390e6c)
2021-02-23 23:48:47 +01:00
patchback[bot]
bcf5c289af fixed Python 3 keys() usage (#1861) (#1890)
* fixed python3 keys()

* added changelog fragment

* Update plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py

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

* Update plugins/cache/redis.py

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

* rolledback redis.py per PR

* Update plugins/modules/monitoring/sensu/sensu_check.py

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

* removed unnecessary ignore lines

* adding memcached and one case in redis is indeed necessary

* Update changelogs/fragments/1861-python3-keys.yml

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

* Update changelogs/fragments/1861-python3-keys.yml

* Update changelogs/fragments/1861-python3-keys.yml

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

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

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-23 23:48:28 +01:00
patchback[bot]
0e4b7aef26 deploy_helper: fix a bug when not defining release on state=clean (#1859) (#1876)
* Fix a bug when not defining release on state=clean

* Add changelog fragment

(cherry picked from commit abfbe2a48d)

Co-authored-by: Ramon de la Fuente <ramon@future500.nl>
2021-02-22 09:32:16 +01:00
patchback[bot]
e0022f0f5b Improve infoblox inventory script dependencies. (#1871) (#1872)
(cherry picked from commit c0f3a63e18)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-21 22:30:49 +01:00
patchback[bot]
aad2b2400e Fixed imc_rest session logout (#1743) (#1868)
* Fixed imc_rest session logout

* Update plugins/modules/remote_management/imc/imc_rest.py

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

* Update changelogs/fragments/1735-imc-sessions.yml

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

* Trying with try/finally

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

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-21 18:08:56 +01:00
patchback[bot]
58317b37b3 Disable flatpack_remote test due to expired key. (#1862) (#1864)
(cherry picked from commit 57f56b02d8)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-20 10:51:27 +01:00
patchback[bot]
14d82733be proxmox_kvm: add integration tests (#1849) (#1853)
(cherry picked from commit 682674dd5f)

Co-authored-by: Tristan Le Guern <tristan.leguern-presta@deveryware.com>
2021-02-18 12:15:26 +01:00
patchback[bot]
58ae8c81ac proxmox_kvm: fix undefined local variable status (#1847) (#1850)
* 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>
(cherry picked from commit 5135587c16)

Co-authored-by: Tristan Le Guern <tristan.leguern-presta@deveryware.com>
2021-02-17 21:43:58 +01:00
Felix Fontein
0aaa5e3d91 Tidy up validations + bug fixes + deprecations (#1830) (#1846)
* 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>
(cherry picked from commit 3778eac1ba)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-17 07:16:16 +01:00
Felix Fontein
1c5149c3de Tidy up all pylint:blacklisted-name ignore lines (#1819) (#1840)
* 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

(cherry picked from commit 03b7b39424)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-16 08:58:51 +01:00
Felix Fontein
0074d352be Tidy up validate-modules:parameter-list-no-elements (batch 1) (#1795) (#1837)
* 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

(cherry picked from commit f33323ca89)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-16 08:03:16 +01:00
patchback[bot]
a5117bdeff proxmox_kvm: 500 error args parameter (#1783) (#1831)
* 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>
(cherry picked from commit 5aac81bdd1)

Co-authored-by: almdudler777 <43605831+almdudler777@users.noreply.github.com>
2021-02-16 07:10:36 +01:00
Felix Fontein
ae2acef507 Added VMID to all returns (#1715) (#1827)
* 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>
(cherry picked from commit 1cce279424)

Co-authored-by: Jeffrey van Pelt <jeff@vanpelt.one>
2021-02-15 22:38:47 +01:00
Felix Fontein
cfd1d2e327 Improved parameter handling on proxmox modules (#1765) (#1803)
* Improved parameter handling on proxmox modules

* removed unused imports

* rollback change in plugins/modules/cloud/misc/proxmox_user_info.py

* added changelog fragment

* Update changelogs/fragments/1765-proxmox-params.yml

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

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

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-15 22:16:29 +01:00
patchback[bot]
767e9076a5 ease limitation for nios_host_record DNS Bypass (#1788) (#1825)
* 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>
(cherry picked from commit 8fae693d9c)

Co-authored-by: shieni <shieni@users.noreply.github.com>
2021-02-15 09:04:50 +01:00
patchback[bot]
4080929c8a Fix undeclared result for nomad_job_info module (#1721) (#1822)
* Fix unassigned variable

* Create 1721-fix-nomad_job_info-no-jobs-failure.yml

* refactor usage of variables in nomad_job_info

* Update changelogs/fragments/1721-fix-nomad_job_info-no-jobs-failure.yml

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

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

Co-authored-by: Víctor Suárez Fernández <15276132+vicsufer@users.noreply.github.com>
2021-02-15 08:56:50 +01:00
patchback[bot]
f8a9ac1048 Tidy up validation for storage/zfs modules (#1766) (#1820)
* 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>
(cherry picked from commit bd372939bc)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-15 08:07:53 +01:00
patchback[bot]
0f91fea501 Implemented fix pointed in issue (#1760) (#1817)
(cherry picked from commit 41bc7816f3)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-14 16:06:03 +01:00
Felix Fontein
21204e1d46 Tidy up validate-modules ignores for cloud/centurylink modules (#1771) (#1812)
* 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

(cherry picked from commit 865acdd4cf)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-13 12:46:52 +01:00
patchback[bot]
e1863a2ff5 Make selective callback work with ansible-core 2.11. (#1807) (#1808)
(cherry picked from commit 367c3c43ff)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-13 12:29:34 +01:00
Felix Fontein
451428af04 Prevented the expansion of parameters in run_command() (#1794) (#1797)
(cherry picked from commit 436bbb0077)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-12 13:01:47 +01:00
Felix Fontein
248128f282 [stable-1] Add ubuntu2004, upgrade CI to be more similar to main (#1792)
* Add Ubuntu 20.04 to CI (#1658)

* Add Ubuntu 20.04 to CI.

* Skip mqtt test on Ubuntu 20.04.

* Use explicit disable instead of aliases.

* Add Ubuntu 20.04 specific config for setup_postgresql_db.

* Fix postgres version.

(cherry picked from commit 4223f48d38)

* Adjust AZP config.

* Remove some tests.

* Make more similar to config fromm main branch.
2021-02-12 08:23:31 +01:00
patchback[bot]
be8022c743 Removed parameter-list-no-elements validation errors from redfish modules (#1761) (#1798)
* 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>
(cherry picked from commit ba4a98b1be)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-12 07:10:42 +01:00
Andrew Klychkov
3a2e614071 [stable-1] Various backports from community.postgres (#1789)
* postgresql modules: various backports from community.postgresql

* Add postgresql_set community/postgresql/pull/52 backport

* Fix

* Update plugins/modules/database/postgresql/postgresql_set.py

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

* Update plugins/modules/database/postgresql/postgresql_set.py

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

* Update changelogs/fragments/1-community-postgresql_backports.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-11 18:54:16 +01:00
Felix Fontein
91acc44c34 [stable-1] Update CI (#1790)
* Update CI (#1782)

* 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.

* More sanity.

* Bump CI to FreeBSD 11.4, 12.2. (#1657)

* Bump CI to FreeBSD 11.4, 12.2.

* Make FreeBSD Python package selection more future-proof.

(cherry picked from commit c1eb0a232c)

* Add macOS 11.1 tests (#1619)

* Add macOS 11.1 tests.

* Hopefully fix virtualenv.sh problems.

(cherry picked from commit 74174f11ff)

* Skip all postgresql tests on FreeBSD.

* Skip kubevirt inventory tests on macOS.
2021-02-11 16:32:47 +01:00
patchback[bot]
2a8f04347d Fix typo in aerospike_migration module. (#1740) (#1784)
(cherry picked from commit 9a6031ab4e)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-11 07:59:45 +01:00
patchback[bot]
42c7d763d8 document what filesystem types are supported by 'resizefs' option (#1753) (#1774)
* document what filesystem types are supported by 'resizefs' option

* add changelog fragment

* remove info about lvol documentation changes in changelog fragment

(cherry picked from commit d1e54d2fd1)

Co-authored-by: quidame <quidame@poivron.org>
2021-02-10 13:14:12 +01:00
patchback[bot]
b33e4224fc azure-pipelines: update container version (#1770) (#1772)
(cherry picked from commit e898e52d1b)

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2021-02-10 10:12:59 +01:00
patchback[bot]
ffca5f1cc9 Tidy up validate-modules ignores for remote_management/ipmi modules (#1767) (#1768)
* 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

(cherry picked from commit 89ffb04dff)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-02-10 07:37:14 +01:00
Felix Fontein
dd8bfe5f0b Next planned release is 1.3.7. 2021-02-09 14:34:06 +01:00
Felix Fontein
b81ba747ba Release 1.3.6. 2021-02-09 13:09:36 +01:00
patchback[bot]
7ab1aa8894 Various fixes for updating existing gitlab users (#1724) (#1756)
* 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>
(cherry picked from commit c03ae754d2)

Co-authored-by: morco <thegreatwiper@web.de>
2021-02-09 12:01:59 +01:00
Felix Fontein
d272f7731c Fix CI (#1752) (#1755)
* 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

(cherry picked from commit 909ac92fe2)
2021-02-09 08:17:25 +01:00
Felix Fontein
d58472ec39 Add 1.3.6 release summary. 2021-02-08 22:22:45 +01:00
patchback[bot]
25d5574089 Fix a bunch of potential security issues (secret leaking) (#1736) (#1750)
* 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.

(cherry picked from commit 29bd5a9486)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-08 16:22:39 +00:00
patchback[bot]
ab43b88d95 Make sure mercurial is also installed on OpenSuSE. (#1734) (#1737)
(cherry picked from commit 701a89eb1c)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-05 08:29:21 +01:00
patchback[bot]
0b13c1eb45 parted: fix regex for version match and partition size output (#1695) (#1731)
* 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>
(cherry picked from commit 43da5b88db)

Co-authored-by: Anatoly Pugachev <matorola@gmail.com>
2021-02-05 07:46:15 +01:00
patchback[bot]
ad5b8a813f Add no_log to some module arguments (#1725) (#1729)
* 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>
(cherry picked from commit ae8edc02e1)

Co-authored-by: David Moreau Simard <dmsimard@redhat.com>
2021-02-04 21:54:09 +01:00
David Moreau Simard
9cccc9f0cd docker swarm - Add no_log to the signing_ca_key argument (#1728)
This will prevent accidental disclosure.

See: CVE-2021-20191
2021-02-04 21:17:43 +01:00
patchback[bot]
b7368b9802 module filesystem: partially fix idempotency issue #1457 (resizefs) (#1478) (#1719)
* 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

(cherry picked from commit aa95d8a5b7)

Co-authored-by: quidame <quidame@poivron.org>
2021-02-03 10:42:21 +01:00
patchback[bot]
be54f11a7d sensu-silence: fix json parsing of sensu API response (#1703) (#1717)
* 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>
(cherry picked from commit b40a5ef09a)

Co-authored-by: Stefan Walluhn <stefan.walluhn@aboutsource.net>
2021-02-02 18:06:35 +01:00
patchback[bot]
07b147d90f Fedora 30 and 31 are EOL and will eventually be removed from devel. (#1705) (#1710)
(cherry picked from commit 6af3c96d8e)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-02-01 19:07:30 +01:00
patchback[bot]
8f0f6ffc43 Add Name and/or Id properties to resource inventory output (#1691) (#1697)
* add Name and/or Id properties to resource inventory output

* add changelog fragment

(cherry picked from commit 00f5f7dfe7)

Co-authored-by: Bill Dodd <billdodd@gmail.com>
2021-01-29 07:40:25 +01:00
patchback[bot]
30622754a9 update scaleway zones (#1690) (#1694)
(cherry picked from commit db656705b0)

Co-authored-by: Nicolas Karolak <nikaro@users.noreply.github.com>
2021-01-28 13:22:19 +01:00
Felix Fontein
6f1e585da5 Backport of https://github.com/ansible-collections/community.docker/pull/76 to stable-1. (#1689) 2021-01-27 19:56:10 +01:00
Felix Fontein
65861d3482 Next planned release is 1.3.6. 2021-01-26 13:39:20 +01:00
Felix Fontein
5a54ddfab9 Release 1.3.5. 2021-01-26 12:40:00 +01:00
Felix Fontein
e1576ca00d Add 1.3.5 release summary. 2021-01-26 09:55:43 +01:00
patchback[bot]
1aa26662ef Add default brew search path for non-Intel / Apple silicon hardware (#1679) (#1680)
* Add default brew search path for non-Intel / Apple silicon hardware

* add changelog fragment

* Update 1679-homebrew_search_path.yml

fix for double-ticks in yaml/rst format

* missing dots and brackets

(cherry picked from commit 2a53edd9bc)

Co-authored-by: Anatoly Pugachev <matorola@gmail.com>
2021-01-26 07:55:56 +01:00
Felix Fontein
4b9696023a Backport of https://github.com/ansible-collections/community.docker/pull/73 to stable-1. (#1678) 2021-01-25 18:03:12 +01:00
Felix Fontein
8a95fe8b00 Backport of https://github.com/ansible-collections/community.docker/pull/66 to stable-1. (#1677) 2021-01-25 17:02:54 +00:00
patchback[bot]
a389969ace dnsmadeeasy: Fix HTTP 400 errors when creating a TXT record (#1654) (#1675)
* dnsmadeeasy: Fix HTTP 400 errors when creating a TXT record

* When creating a record the module fails on monitor API call
* TXT records are surrounded by quotes in the API response

Fixes: #1237

* dnsmadeeasy: Add changelog fragment

* dnsmadeeasy: Fix pylint error

* Update changelogs/fragments/1654-dnsmadeeasy-http-400-fixes.yaml

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

* Update plugins/modules/net_tools/dnsmadeeasy.py

The dictionary might be empty

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

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

Co-authored-by: Orosz Dávid <idawko@gmail.com>
2021-01-25 13:28:02 +01:00
patchback[bot]
3221b25393 fix passwordstore.py to be compatible with gopass. (#1589) (#1674)
* fix passwordstore.py to be compatible with gopass.

...even when used with create=true.

The same output snippet matches for both, `pass` and `gopass`, but while `pass` returns `1` on a non-existant password, `gopass` returns `10`, or `11`, depending on whether a similar named password was stored.

So I'd propose to change `e.returncode == 1` to `e.returncode != 0` to cover both cases here.

What do you think?

* Update passwordstore.py, fix typo

* Add changelog fragment.

* Update changelogs/fragments/1589-passwordstore-fix-passwordstore.py-to-be-compatible-with-gopass.yaml

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

* Update changelogs/fragments/1589-passwordstore-fix-passwordstore.py-to-be-compatible-with-gopass.yaml

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

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

Co-authored-by: Paul Haerle <hello@phaer.org>
2021-01-25 12:59:22 +01:00
patchback[bot]
cc3fefd325 Add CI tests for java_cert and java_keystore (#1666) (#1672)
* Try to run java_cert tests in CI.

* Forgot to add meta/

* Exclude CentOS 6.

* Add basic java_keystore tests.

* Forgot that.

* Without a CN, keytool always claims 'keystore password was incorrect' (sigh).

* Improve/fix tests.
Apparently the module cannot handle changed passwords.

* Update tests/integration/targets/java_keystore/tasks/main.yml

Co-authored-by: Tadej Borovšak <70951+tadeboro@users.noreply.github.com>

* More simpliications.

* Fix typo.

Co-authored-by: Tadej Borovšak <70951+tadeboro@users.noreply.github.com>
(cherry picked from commit b3d3b108bf)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-01-24 17:46:20 +01:00
patchback[bot]
90c278ad87 lldp - use get_bin_path to locate the lldpctl executable (#1643) (#1663)
* lldp - use get_bin_path to locate the lldpctl executable

 * This prevents failed executions

   FAILED! => {"changed": false, "cmd": "lldpctl -f keyvalue",
               "msg": "[Errno 2] No such file or directory", "rc": 2}

   on hosts (servers and switches) with lldpd installed and running.

* Update changelogs/fragments/lldp-use-get_bin_path-to-locate-the-lldpctl-executable.yaml

Specify pull request id and minor formatting tweaks

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

* Update changelogs/fragments/lldp-use-get_bin_path-to-locate-the-lldpctl-executable.yaml

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

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

Co-authored-by: José Pedro Oliveira <jose.p.oliveira.oss@gmail.com>
2021-01-23 12:15:33 +01:00
patchback[bot]
5ece46c56e Fixing return code not showing the command that fails in terraform. (#1632) (#1662)
* Fixing return code not showing the command that fails in terraform.

* Update changelogs/fragments/1632-using_check_rc_in_terraform.yml

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

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

Co-authored-by: Saqib Rokadia <saqib@saqibr.com>
2021-01-23 12:15:17 +01:00
John R Barker
f158b6e6c1 Shippable: Disable no-sanity
We have AZP for testing.
As collection_bot doesn't currently support AZP keep that with Shippable

(cherry picked from commit a207298260)
2021-01-22 17:05:09 +01:00
patchback[bot]
2d84387d84 Fix parted resize example in docs (#1653) (#1655) (#1656)
(cherry picked from commit 144855e820)

Co-authored-by: jake2184 <jake2184@users.noreply.github.com>
2021-01-21 14:43:11 +01:00
patchback[bot]
12618ddbd4 onepassword: find the password field out of the fields list (#1610) (#1651)
* Find the password field out of the fields list

With the command line utility `op` version 1.8, the password field exists, while the fields list is empty.  This will look for the desired field without it being listed in the fields list.

* Add changelog fragment

* Update changelogs/fragments/1610-bugfix-onepassword-lookup-plugin.yaml

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

* Update plugins/lookup/onepassword.py

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

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

Co-authored-by: Roberto Aguilar <r@rreboto.com>
2021-01-20 23:12:41 +01:00
patchback[bot]
7fac03ec56 Improve readability of example. (#1648) (#1649)
(cherry picked from commit 25e246bdc2)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-01-19 08:05:57 +00:00
Joe Louthan
199e53112c Update tss.py - multiline for an example (#1639)
* Update tss.py - multiline for an example 

Extended line runs past the side of the browser window

* Moved multiline to after the msg. 

Cannot believe I missed that again.

* Updated tss.py

Using > as multiline joiner with spaces
2021-01-19 07:00:14 +01:00
Felix Fontein
f8237ce76d Next release will be 1.3.5. 2021-01-14 18:22:59 +01:00
Felix Fontein
8a9d18cc86 Release 1.3.4. 2021-01-14 16:07:29 +01:00
Felix Fontein
b7b69d918a Add release summary. 2021-01-14 16:06:02 +01:00
patchback[bot]
a3f08377b2 bitbucket_pipeline_variable: Hide secured values in console log (#1635) (#1637)
**SECURITY** - CVE-2021-20180

Hide user sensitive information which is marked as ``secured``
while logging in console.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 1d0c5e2ba4)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-14 16:04:27 +01:00
patchback[bot]
4c9c8e0514 npm - handle json decode exception (#1625) (#1636)
* Provide a user friendly message by handling json decode
  exception rather than providing a stacktrace

Fixes: #1614

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

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-14 14:40:33 +01:00
Felix Fontein
3911b83145 Next release will be 1.3.4. 2021-01-13 13:19:40 +01:00
Felix Fontein
20e1d7c08b Release 1.3.3. 2021-01-13 12:31:11 +01:00
Felix Fontein
24aa8afde8 Add release summary. 2021-01-13 12:28:33 +01:00
patchback[bot]
71c6ec0b00 init_reconfigure fails on module cloud/misc/terraform.py (#1620) (#1629)
* fix reconfigure option

If `init_reconfigure` is true, the init fails because it is run as:
`terraform init -input=false - r e c o n f i g u r e`

* changelog fragment

* typo

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

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

Co-authored-by: christophemorio <49184206+christophemorio@users.noreply.github.com>
2021-01-13 11:12:50 +01:00
patchback[bot]
469e32e15b Remove bigmstone (#1626) (#1627)
Removing bigmstone from BOTMETA.

(cherry picked from commit 19fdb29db7)

Co-authored-by: Matthew Stone <dev@mattstone.io>
2021-01-12 17:52:50 +01:00
patchback[bot]
ebfb46aa78 Updated doc. Module not idempotent. delegate_to not needed. (#1587) (#1622)
(cherry picked from commit 63817f7c1b)

Co-authored-by: Vladimir Botka <vbotka@gmail.com>
2021-01-12 12:08:17 +01:00
patchback[bot]
fa2d2d6971 snmp_facts: Hide user sensitive information in console (#1621) (#1623)
**SECURITY** - CVE-2021-20178

Hide user sensitive information like `privkey` and `authkey`
while logging in console.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 3560aeb12f)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-12 12:08:03 +01:00
patchback[bot]
a1429d0266 Skip monit tests on RHEL. (#1615) (#1617)
(cherry picked from commit 637571993a)

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-01-12 07:09:04 +01:00
Felix Fontein
3077ac770f chroot: re-enable connection chroot tests (#1591) (#1602)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit e7b16a96b9)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-07 12:20:28 +01:00
patchback[bot]
7813cd751a hg: Re-enable tests (#1599) (#1600)
* Update license boilerplate
* Change mercurial repository links

Fixes: #840

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 126c397d6c)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-07 07:44:20 +01:00
Felix Fontein
4461c18957 Add kubevirt removal announcement. (#1594) 2021-01-05 18:41:02 -05:00
Felix Fontein
34cf93a538 Next release will be 1.3.3. 2021-01-04 18:26:38 +01:00
Felix Fontein
b56539f17e Release 1.3.2. 2021-01-04 18:26:01 +01:00
Felix Fontein
167d4bae90 Add release summary. 2021-01-04 13:36:21 +01:00
Felix Fontein
de85c11bd1 [stable-1] Add OC, hashi_vault and Google removal announcements (#1560)
* Add removal announcements.

* Remove Latin abbrevation.

* Add hashi_vault removal announcement.
2021-01-04 11:06:49 +01:00
patchback[bot]
d0731b111c Re-enable nomad tests (#1582) (#1586)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit d12951b9c7)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-04 09:18:37 +01:00
patchback[bot]
7cd96ef3b6 changed make parameter from --question to -q (#1574) (#1581)
* changed make parameter from --question to -q

* changelog fragment

* Update changelogs/fragments/1574-make-question.yaml

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

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

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-01-03 13:55:58 +01:00
patchback[bot]
b7a44a593e fix passwordstore.py to be compatible with gopass versions (#1493) (#1580)
* Be compatible to latest gopass versions.
`gopass show` is deprecated.

* add changelog fragment

* Update changelogs/fragments/1493-fix_passwordstore.py_to_be_compatible_with_gopass_versions.yml

Co-authored-by: Eike Waldt <git@yog.wtf>
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 491b622041)

Co-authored-by: Eike Waldt <git@yeoldegrove.de>
2021-01-03 11:48:37 +00:00
patchback[bot]
c413963ecb pamd - fixed bug (#1538) (#1579)
* Fixed bug

- The module was searching back (and forward, in the ``after`` state) for lines that were not comments, assuming it would be a valid rule or an include.

* remove the line, make yamllint happy

* Update changelogs/fragments/1394-pamd-removing-comments.yaml

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

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

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2021-01-03 11:48:07 +00:00
patchback[bot]
4f7d44aa10 monit: add support for all monit services when checking process state (#1532) (#1578)
* add support for all monit service types

* ignore case when performing check

* add changelog

* Escape special characters before matching

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

* escape each element individually

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

Co-authored-by: Graham Herceg <g.a.herceg@gmail.com>
2021-01-03 11:47:54 +00:00
patchback[bot]
56055d4f1e Remove bridge-slave from list of IP based connections (#1517) (#1577)
* Removed the bridge-slave from list of ip based connections since nmcli does not accept IP options for bridge-slave connections.

* Update changelogs/fragments/1517-bridge-slave-from-list-of-ip-based-connections.yml

Thanks for the tip.

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

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

Co-authored-by: momcilo78 <momcilo@majic.rs>
2021-01-03 12:43:56 +01:00
patchback[bot]
3fa4a9c073 Legacy Python certificate validation fixed (#470) (#1576)
* Legacy Python certificate validation fixed

* added changelog fragment

* removed blank line for sanity checks

* Update changelogs/fragments/470-spacewalk-legacy-python-certificate-validation.yaml

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* Update changelogs/fragments/470-spacewalk-legacy-python-certificate-validation.yaml

Co-authored-by: jpe <petz.johannes@afb.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
(cherry picked from commit df9f0741b5)

Co-authored-by: Johannes Petz <PetzJohannes@users.noreply.github.com>
2021-01-03 11:37:40 +01:00
patchback[bot]
1552bae77b syslogger - update syslog.openlog API call for older Python (#1572) (#1573)
* syslogger - update syslog.openlog API call for older Python

Fixes: #953

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

* Update changelogs/fragments/953_syslogger.yml

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

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

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-02 21:05:43 +01:00
patchback[bot]
a9cad80a36 lxc_container: update docs (#1544) (#1570)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit eacbf45632)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-01 17:37:11 +01:00
patchback[bot]
fc79283662 snmp_facts: doc update (#1569) (#1571)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit ba50d114d4)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-01 17:36:50 +01:00
patchback[bot]
0d8ea31781 Scaleway: Update documentation (#1567) (#1568)
Online SAS is rebranded as Scaleway in 2015. Updated
inventory documentation for the same.

Fixes: #814

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 7b529c72b3)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-01-01 13:44:09 +01:00
patchback[bot]
7ac14f964b updated deprecated homebrew cask commands (#1481) (#1565)
* updated deprecated homebrew cask commands

* added methods for brew version deprecation check

* added comments and changelog fragment

* added unit test for version comparison

* switch to use disutils LooseVersion for version comparison

* updated changelog message and minor refactor for building brew command based on version

* added caching logic for retrieval of brew version and updated PR changelog yaml

* Update changelogs/fragments/1481-deprecated-brew-cask-command.yaml

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

* Update plugins/modules/packaging/os/homebrew_cask.py

* Update plugins/modules/packaging/os/homebrew_cask.py

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

* Update plugins/modules/packaging/os/homebrew_cask.py

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

* switch to use subprocess.check_output instead of subprocess.run

* replace subprocess with run_command

* removed unused subprocess import

* removed error handling logic to depend on check_rc=True instead

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

Co-authored-by: Jianhao Tan <jianhao@shopback.com>
2020-12-31 23:07:39 +00:00
patchback[bot]
95d725a3cc launchd: Handle deprecated APIs in plistlib (#1554) (#1563)
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 6c88b69d6f)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-12-30 09:00:33 +01:00
patchback[bot]
95de8bd39d sendgrid: Update docs (#1557) (#1558)
* Updated docs
* Warn user about required Sendgrid Python library version i.e <=1.6.22

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 818cafc580)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-12-29 10:25:40 +01:00
Felix Fontein
ecbdaca971 Backport of 5eef093e99 (#1548) 2020-12-27 15:50:21 +01:00
patchback[bot]
54754f7e81 Add hnakamur to ignore list for LXD modules (see #1543). (#1545) (#1546)
(cherry picked from commit 09e2699d1c)

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-12-27 14:47:40 +01:00
patchback[bot]
bd15741647 jira - some improvements to the module (#1536) (#1547)
* Some improvements to the module

- Fixed examples documentation ().
- Module no longer incorrectly reports change for information gathering operations ().
- Replaced custom parameter validation with ``required_if`` ().
- Added the traceback output to ``fail_json()`` calls deriving from exceptions ().

* added PR URL to changelof frag

* Update changelogs/fragments/jira_improvements.yaml

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

* mentioned issue required for transition in chnagelog

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

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2020-12-27 13:47:33 +00:00
Felix Fontein
fa05ca3f63 Backport of 117f132213 (#1542) 2020-12-26 18:30:07 +00:00
patchback[bot]
29992f1fbf nios_member: fix nios api member_normalize error with python 3 (#1527) (#1534)
* nios_member: fix nios api member_normalize error with python 3

Force a copy of the key to allow change during iteration.

* Update - add changelog fragment

* Update - add changelog fragment

* Update changelogs/fragments/1527-fix-nios-api-member-normalize.yaml

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

Co-authored-by: neatherweb <35084494+neatherweb@users.noreply.github.com>
2020-12-23 08:49:29 +01:00
patchback[bot]
34ab07865f Ensured `changed returns False`. (#1530) (#1531)
* Ensured ``changed`` returns ``False``.

- Added small improvement on the ``_load_scope()`` method.

* yamllint caught it

* Rephrased changelog fragment

(cherry picked from commit 1faf8ef08b)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
2020-12-22 16:15:50 +01:00
patchback[bot]
5fa1fc65ca YAML callback: do not remove non-ASCII Unicode from multi-line string output (#1522) (#1529)
* Do not remove non-ASCII Unicode from multi-line string output.

* Added basic tests.

* Add Unicode test.

* Simplify tests, avoid later Jinja features.

* Refactor.

* Make use diy tests use callback test framework as well.

* Remove color codes.

* Work around stable-2.9 bug.

* Simplify again.

(cherry picked from commit 0a7ed3b019)

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-12-22 09:59:57 +00:00
Felix Fontein
c0bb56c454 Next release will be 1.3.2. 2020-12-21 14:57:57 +01:00
584 changed files with 6483 additions and 4024 deletions

View File

@@ -1,3 +0,0 @@
## Azure Pipelines Configuration
Please see the [Documentation](https://github.com/ansible/community/wiki/Testing:-Azure-Pipelines) for more information.

View File

@@ -1,329 +0,0 @@
trigger:
batch: true
branches:
include:
- main
- stable-*
pr:
autoCancel: true
branches:
include:
- main
- stable-*
schedules:
- cron: 0 9 * * *
displayName: Nightly
always: true
branches:
include:
- main
- stable-*
variables:
- name: checkoutPath
value: ansible_collections/community/general
- name: coverageBranches
value: main
- name: pipelinesCoverage
value: coverage
- name: entryPoint
value: tests/utils/shippable/shippable.sh
- name: fetchDepth
value: 0
resources:
containers:
- container: default
image: quay.io/ansible/azure-pipelines-test-container:1.7.1
pool: Standard
stages:
### Sanity
- stage: Sanity_devel
displayName: Sanity devel
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: devel/sanity/{0}
targets:
- test: 1
- test: 2
- test: 3
- test: 4
- test: extra
- stage: Sanity_2_10
displayName: Sanity 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: 2.10/sanity/{0}
targets:
- test: 1
- test: 2
- test: 3
- test: 4
- stage: Sanity_2_9
displayName: Sanity 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Test {0}
testFormat: 2.9/sanity/{0}
targets:
- test: 1
- test: 2
- test: 3
- test: 4
### Units
- stage: Units_devel
displayName: Units devel
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: devel/units/{0}/1
targets:
- test: 2.6
- test: 2.7
- test: 3.5
- test: 3.6
- test: 3.7
- test: 3.8
- test: 3.9
- stage: Units_2_10
displayName: Units 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: 2.10/units/{0}/1
targets:
- test: 2.6
- test: 2.7
- test: 3.5
- test: 3.6
- test: 3.7
- test: 3.8
- test: 3.9
- stage: Units_2_9
displayName: Units 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: 2.9/units/{0}/1
targets:
- test: 2.6
- test: 2.7
- test: 3.5
- test: 3.6
- test: 3.7
- test: 3.8
## Remote
- stage: Remote_devel
displayName: Remote devel
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: devel/{0}
targets:
- name: OS X 10.11
test: osx/10.11
- name: macOS 10.15
test: macos/10.15
- name: RHEL 7.8
test: rhel/7.8
- name: RHEL 8.2
test: rhel/8.2
- name: FreeBSD 11.1
test: freebsd/11.1
- name: FreeBSD 12.1
test: freebsd/12.1
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Remote_2_10
displayName: Remote 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.10/{0}
targets:
- name: OS X 10.11
test: osx/10.11
- name: RHEL 8.2
test: rhel/8.2
- name: FreeBSD 12.1
test: freebsd/12.1
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Remote_2_9
displayName: Remote 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.9/{0}
targets:
- name: RHEL 8.2
test: rhel/8.2
#- name: FreeBSD 12.0
# test: freebsd/12.0
groups:
- 1
- 2
- 3
- 4
- 5
### Docker
- stage: Docker_devel
displayName: Docker devel
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: devel/linux/{0}
targets:
- name: CentOS 6
test: centos6
- name: CentOS 7
test: centos7
- name: CentOS 8
test: centos8
- name: Fedora 31
test: fedora31
- name: Fedora 32
test: fedora32
- name: openSUSE 15 py2
test: opensuse15py2
- name: openSUSE 15 py3
test: opensuse15
- name: Ubuntu 16.04
test: ubuntu1604
- name: Ubuntu 18.04
test: ubuntu1804
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Docker_2_10
displayName: Docker 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.10/linux/{0}
targets:
#- name: CentOS 8
# test: centos8
- name: Fedora 32
test: fedora32
- name: openSUSE 15 py3
test: opensuse15
- name: Ubuntu 18.04
test: ubuntu1804
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Docker_2_9
displayName: Docker 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.9/linux/{0}
targets:
#- name: CentOS 8
# test: centos8
#- name: Fedora 31
# test: fedora31
#- name: openSUSE 15 py3
# test: opensuse15
- name: Ubuntu 18.04
test: ubuntu1804
groups:
- 1
- 2
- 3
- 4
- 5
### Cloud
- stage: Cloud_devel
displayName: Cloud devel
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: devel/cloud/{0}/1
targets:
- test: 2.7
- test: 3.6
- stage: Cloud_2_10
displayName: Cloud 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: 2.10/cloud/{0}/1
targets:
- test: 3.6
- stage: Cloud_2_9
displayName: Cloud 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: Python {0}
testFormat: 2.9/cloud/{0}/1
targets:
- test: 2.7
- stage: Summary
condition: succeededOrFailed()
dependsOn:
- Sanity_devel
- Sanity_2_9
- Sanity_2_10
- Units_devel
- Units_2_9
- Units_2_10
- Remote_devel
- Remote_2_9
- Remote_2_10
- Docker_devel
- Docker_2_9
- Docker_2_10
- Cloud_devel
- Cloud_2_9
- Cloud_2_10
jobs:
- template: templates/coverage.yml

View File

@@ -1,20 +0,0 @@
#!/usr/bin/env bash
# Aggregate code coverage results for later processing.
set -o pipefail -eu
agent_temp_directory="$1"
PATH="${PWD}/bin:${PATH}"
mkdir "${agent_temp_directory}/coverage/"
options=(--venv --venv-system-site-packages --color -v)
ansible-test coverage combine --export "${agent_temp_directory}/coverage/" "${options[@]}"
if ansible-test coverage analyze targets generate --help >/dev/null 2>&1; then
# Only analyze coverage if the installed version of ansible-test supports it.
# Doing so allows this script to work unmodified for multiple Ansible versions.
ansible-test coverage analyze targets generate "${agent_temp_directory}/coverage/coverage-analyze-targets.json" "${options[@]}"
fi

View File

@@ -1,60 +0,0 @@
#!/usr/bin/env python
"""
Combine coverage data from multiple jobs, keeping the data only from the most recent attempt from each job.
Coverage artifacts must be named using the format: "Coverage $(System.JobAttempt) {StableUniqueNameForEachJob}"
The recommended coverage artifact name format is: Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)
Keep in mind that Azure Pipelines does not enforce unique job display names (only names).
It is up to pipeline authors to avoid name collisions when deviating from the recommended format.
"""
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import os
import re
import shutil
import sys
def main():
"""Main program entry point."""
source_directory = sys.argv[1]
if '/ansible_collections/' in os.getcwd():
output_path = "tests/output"
else:
output_path = "test/results"
destination_directory = os.path.join(output_path, 'coverage')
if not os.path.exists(destination_directory):
os.makedirs(destination_directory)
jobs = {}
count = 0
for name in os.listdir(source_directory):
match = re.search('^Coverage (?P<attempt>[0-9]+) (?P<label>.+)$', name)
label = match.group('label')
attempt = int(match.group('attempt'))
jobs[label] = max(attempt, jobs.get(label, 0))
for label, attempt in jobs.items():
name = 'Coverage {attempt} {label}'.format(label=label, attempt=attempt)
source = os.path.join(source_directory, name)
source_files = os.listdir(source)
for source_file in source_files:
source_path = os.path.join(source, source_file)
destination_path = os.path.join(destination_directory, source_file + '.' + label)
print('"%s" -> "%s"' % (source_path, destination_path))
shutil.copyfile(source_path, destination_path)
count += 1
print('Coverage file count: %d' % count)
print('##vso[task.setVariable variable=coverageFileCount]%d' % count)
print('##vso[task.setVariable variable=outputPath]%s' % output_path)
if __name__ == '__main__':
main()

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env bash
# Check the test results and set variables for use in later steps.
set -o pipefail -eu
if [[ "$PWD" =~ /ansible_collections/ ]]; then
output_path="tests/output"
else
output_path="test/results"
fi
echo "##vso[task.setVariable variable=outputPath]${output_path}"
if compgen -G "${output_path}"'/junit/*.xml' > /dev/null; then
echo "##vso[task.setVariable variable=haveTestResults]true"
fi
if compgen -G "${output_path}"'/bot/ansible-test-*' > /dev/null; then
echo "##vso[task.setVariable variable=haveBotResults]true"
fi
if compgen -G "${output_path}"'/coverage/*' > /dev/null; then
echo "##vso[task.setVariable variable=haveCoverageData]true"
fi

View File

@@ -1,27 +0,0 @@
#!/usr/bin/env bash
# Upload code coverage reports to codecov.io.
# Multiple coverage files from multiple languages are accepted and aggregated after upload.
# Python coverage, as well as PowerShell and Python stubs can all be uploaded.
set -o pipefail -eu
output_path="$1"
curl --silent --show-error https://codecov.io/bash > codecov.sh
for file in "${output_path}"/reports/coverage*.xml; do
name="${file}"
name="${name##*/}" # remove path
name="${name##coverage=}" # remove 'coverage=' prefix if present
name="${name%.xml}" # remove '.xml' suffix
bash codecov.sh \
-f "${file}" \
-n "${name}" \
-X coveragepy \
-X gcov \
-X fix \
-X search \
-X xcode \
|| echo "Failed to upload code coverage report to codecov.io: ${file}"
done

View File

@@ -1,15 +0,0 @@
#!/usr/bin/env bash
# Generate code coverage reports for uploading to Azure Pipelines and codecov.io.
set -o pipefail -eu
PATH="${PWD}/bin:${PATH}"
if ! ansible-test --help >/dev/null 2>&1; then
# Install the devel version of ansible-test for generating code coverage reports.
# This is only used by Ansible Collections, which are typically tested against multiple Ansible versions (in separate jobs).
# Since a version of ansible-test is required that can work the output from multiple older releases, the devel version is used.
pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
fi
ansible-test coverage xml --stub --venv --venv-system-site-packages --color -v

View File

@@ -1,34 +0,0 @@
#!/usr/bin/env bash
# Configure the test environment and run the tests.
set -o pipefail -eu
entry_point="$1"
test="$2"
read -r -a coverage_branches <<< "$3" # space separated list of branches to run code coverage on for scheduled builds
export COMMIT_MESSAGE
export COMPLETE
export COVERAGE
export IS_PULL_REQUEST
if [ "${SYSTEM_PULLREQUEST_TARGETBRANCH:-}" ]; then
IS_PULL_REQUEST=true
COMMIT_MESSAGE=$(git log --format=%B -n 1 HEAD^2)
else
IS_PULL_REQUEST=
COMMIT_MESSAGE=$(git log --format=%B -n 1 HEAD)
fi
COMPLETE=
COVERAGE=
if [ "${BUILD_REASON}" = "Schedule" ]; then
COMPLETE=yes
if printf '%s\n' "${coverage_branches[@]}" | grep -q "^${BUILD_SOURCEBRANCHNAME}$"; then
COVERAGE=yes
fi
fi
"${entry_point}" "${test}" 2>&1 | "$(dirname "$0")/time-command.py"

View File

@@ -1,25 +0,0 @@
#!/usr/bin/env python
"""Prepends a relative timestamp to each input line from stdin and writes it to stdout."""
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import sys
import time
def main():
"""Main program entry point."""
start = time.time()
sys.stdin.reconfigure(errors='surrogateescape')
sys.stdout.reconfigure(errors='surrogateescape')
for line in sys.stdin:
seconds = time.time() - start
sys.stdout.write('%02d:%02d %s' % (seconds // 60, seconds % 60, line))
sys.stdout.flush()
if __name__ == '__main__':
main()

View File

@@ -1,39 +0,0 @@
# This template adds a job for processing code coverage data.
# It will upload results to Azure Pipelines and codecov.io.
# Use it from a job stage that completes after all other jobs have completed.
# This can be done by placing it in a separate summary stage that runs after the test stage(s) have completed.
jobs:
- job: Coverage
displayName: Code Coverage
container: default
workspace:
clean: all
steps:
- checkout: self
fetchDepth: $(fetchDepth)
path: $(checkoutPath)
- task: DownloadPipelineArtifact@2
displayName: Download Coverage Data
inputs:
path: coverage/
patterns: "Coverage */*=coverage.combined"
- bash: .azure-pipelines/scripts/combine-coverage.py coverage/
displayName: Combine Coverage Data
- bash: .azure-pipelines/scripts/report-coverage.sh
displayName: Generate Coverage Report
condition: gt(variables.coverageFileCount, 0)
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: Cobertura
# Azure Pipelines only accepts a single coverage data file.
# That means only Python or PowerShell coverage can be uploaded, but not both.
# Set the "pipelinesCoverage" variable to determine which type is uploaded.
# Use "coverage" for Python and "coverage-powershell" for PowerShell.
summaryFileLocation: "$(outputPath)/reports/$(pipelinesCoverage).xml"
displayName: Publish to Azure Pipelines
condition: gt(variables.coverageFileCount, 0)
- bash: .azure-pipelines/scripts/publish-codecov.sh "$(outputPath)"
displayName: Publish to codecov.io
condition: gt(variables.coverageFileCount, 0)
continueOnError: true

View File

@@ -1,55 +0,0 @@
# This template uses the provided targets and optional groups to generate a matrix which is then passed to the test template.
# If this matrix template does not provide the required functionality, consider using the test template directly instead.
parameters:
# A required list of dictionaries, one per test target.
# Each item in the list must contain a "test" or "name" key.
# Both may be provided. If one is omitted, the other will be used.
- name: targets
type: object
# An optional list of values which will be used to multiply the targets list into a matrix.
# Values can be strings or numbers.
- name: groups
type: object
default: []
# An optional format string used to generate the job name.
# - {0} is the name of an item in the targets list.
- name: nameFormat
type: string
default: "{0}"
# An optional format string used to generate the test name.
# - {0} is the name of an item in the targets list.
- name: testFormat
type: string
default: "{0}"
# An optional format string used to add the group to the job name.
# {0} is the formatted name of an item in the targets list.
# {{1}} is the group -- be sure to include the double "{{" and "}}".
- name: nameGroupFormat
type: string
default: "{0} - {{1}}"
# An optional format string used to add the group to the test name.
# {0} is the formatted test of an item in the targets list.
# {{1}} is the group -- be sure to include the double "{{" and "}}".
- name: testGroupFormat
type: string
default: "{0}/{{1}}"
jobs:
- template: test.yml
parameters:
jobs:
- ${{ if eq(length(parameters.groups), 0) }}:
- ${{ each target in parameters.targets }}:
- name: ${{ format(parameters.nameFormat, coalesce(target.name, target.test)) }}
test: ${{ format(parameters.testFormat, coalesce(target.test, target.name)) }}
- ${{ if not(eq(length(parameters.groups), 0)) }}:
- ${{ each group in parameters.groups }}:
- ${{ each target in parameters.targets }}:
- name: ${{ format(format(parameters.nameGroupFormat, parameters.nameFormat), coalesce(target.name, target.test), group) }}
test: ${{ format(format(parameters.testGroupFormat, parameters.testFormat), coalesce(target.test, target.name), group) }}

View File

@@ -1,45 +0,0 @@
# This template uses the provided list of jobs to create test one or more test jobs.
# It can be used directly if needed, or through the matrix template.
parameters:
# A required list of dictionaries, one per test job.
# Each item in the list must contain a "job" and "name" key.
- name: jobs
type: object
jobs:
- ${{ each job in parameters.jobs }}:
- job: test_${{ replace(replace(replace(job.test, '/', '_'), '.', '_'), '-', '_') }}
displayName: ${{ job.name }}
container: default
workspace:
clean: all
steps:
- checkout: self
fetchDepth: $(fetchDepth)
path: $(checkoutPath)
- bash: .azure-pipelines/scripts/run-tests.sh "$(entryPoint)" "${{ job.test }}" "$(coverageBranches)"
displayName: Run Tests
- bash: .azure-pipelines/scripts/process-results.sh
condition: succeededOrFailed()
displayName: Process Results
- bash: .azure-pipelines/scripts/aggregate-coverage.sh "$(Agent.TempDirectory)"
condition: eq(variables.haveCoverageData, 'true')
displayName: Aggregate Coverage Data
- task: PublishTestResults@2
condition: eq(variables.haveTestResults, 'true')
inputs:
testResultsFiles: "$(outputPath)/junit/*.xml"
displayName: Publish Test Results
- task: PublishPipelineArtifact@1
condition: eq(variables.haveBotResults, 'true')
displayName: Publish Bot Results
inputs:
targetPath: "$(outputPath)/bot/"
artifactName: "Bot $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"
- task: PublishPipelineArtifact@1
condition: eq(variables.haveCoverageData, 'true')
displayName: Publish Coverage Data
inputs:
targetPath: "$(Agent.TempDirectory)/coverage/"
artifactName: "Coverage $(System.JobAttempt) $(System.StageDisplayName) $(System.JobDisplayName)"

39
.github/BOTMETA.yml vendored
View File

@@ -1,5 +1,8 @@
notifications: true
automerge: true automerge: true
files: files:
plugins/:
supershipit: quidame Ajpantuso
changelogs/fragments/: changelogs/fragments/:
support: community support: community
$actions: $actions:
@@ -106,6 +109,8 @@ files:
maintainers: $team_linode maintainers: $team_linode
labels: cloud linode labels: cloud linode
keywords: linode dynamic inventory script keywords: linode dynamic inventory script
$inventories/proxmox.py:
maintainers: $team_virt ilijamt
$inventories/scaleway.py: $inventories/scaleway.py:
maintainers: $team_scaleway maintainers: $team_scaleway
labels: cloud scaleway labels: cloud scaleway
@@ -258,8 +263,10 @@ files:
maintainers: zbal maintainers: zbal
$modules/cloud/lxc/lxc_container.py: $modules/cloud/lxc/lxc_container.py:
maintainers: cloudnull maintainers: cloudnull
$modules/cloud/lxc/lxc_profile.py:
maintainers: conloos
$modules/cloud/lxd/: $modules/cloud/lxd/:
maintainers: hnakamur ignore: hnakamur
$modules/cloud/memset/: $modules/cloud/memset/:
maintainers: glitchcrab maintainers: glitchcrab
$modules/cloud/misc/cloud_init_data_facts.py: $modules/cloud/misc/cloud_init_data_facts.py:
@@ -373,8 +380,10 @@ files:
maintainers: bvitnik maintainers: bvitnik
$modules/clustering/consul/: $modules/clustering/consul/:
maintainers: $team_consul maintainers: $team_consul
ignore: colin-nolan
$modules/clustering/etcd3.py: $modules/clustering/etcd3.py:
maintainers: evrardjp vfauth maintainers: evrardjp
ignore: vfauth
$modules/clustering/nomad/: $modules/clustering/nomad/:
maintainers: chris93111 maintainers: chris93111
$modules/clustering/pacemaker_cluster.py: $modules/clustering/pacemaker_cluster.py:
@@ -522,7 +531,7 @@ files:
$modules/net_tools/dnsmadeeasy.py: $modules/net_tools/dnsmadeeasy.py:
maintainers: briceburg maintainers: briceburg
$modules/net_tools/haproxy.py: $modules/net_tools/haproxy.py:
maintainers: ravibhure maintainers: ravibhure Normo
$modules/net_tools/hetzner_failover_ip.py: $modules/net_tools/hetzner_failover_ip.py:
maintainers: felixfontein maintainers: felixfontein
$modules/net_tools/hetzner_failover_ip_info.py: $modules/net_tools/hetzner_failover_ip_info.py:
@@ -576,7 +585,7 @@ files:
$modules/net_tools/nmcli.py: $modules/net_tools/nmcli.py:
maintainers: alcamie101 maintainers: alcamie101
$modules/net_tools/snmp_facts.py: $modules/net_tools/snmp_facts.py:
maintainers: ogenstad bigmstone ujwalkomarla maintainers: ogenstad ujwalkomarla
$modules/notification/osx_say.py: $modules/notification/osx_say.py:
maintainers: ansible mpdehaan maintainers: ansible mpdehaan
labels: _osx_say labels: _osx_say
@@ -820,7 +829,7 @@ files:
$modules/remote_management/oneview/oneview_fcoe_network.py: $modules/remote_management/oneview/oneview_fcoe_network.py:
maintainers: fgbulsoni maintainers: fgbulsoni
$modules/remote_management/redfish/: $modules/remote_management/redfish/:
maintainers: $team_redfish billdodd maintainers: $team_redfish
ignore: jose-delarosa ignore: jose-delarosa
$modules/remote_management/stacki/stacki_host.py: $modules/remote_management/stacki/stacki_host.py:
maintainers: bsanders bbyhuy maintainers: bsanders bbyhuy
@@ -845,6 +854,8 @@ files:
ignore: erydo ignore: erydo
$modules/source_control/github/github_release.py: $modules/source_control/github/github_release.py:
maintainers: adrianmoisey maintainers: adrianmoisey
$modules/source_control/github/github_repo.py:
maintainers: atorrescogollo
$modules/source_control/github/: $modules/source_control/github/:
maintainers: stpierre maintainers: stpierre
$modules/source_control/gitlab/: $modules/source_control/gitlab/:
@@ -928,7 +939,7 @@ files:
$modules/system/iptables_state.py: $modules/system/iptables_state.py:
maintainers: quidame maintainers: quidame
$modules/system/java_cert.py: $modules/system/java_cert.py:
maintainers: haad maintainers: haad absynth76
$modules/system/java_keystore.py: $modules/system/java_keystore.py:
maintainers: Mogztter maintainers: Mogztter
$modules/system/kernel_blacklist.py: $modules/system/kernel_blacklist.py:
@@ -1011,7 +1022,7 @@ files:
maintainers: ahtik ovcharenko pyykkis maintainers: ahtik ovcharenko pyykkis
labels: ufw labels: ufw
$modules/system/vdo.py: $modules/system/vdo.py:
maintainers: bgurney-rh maintainers: rhawalsh
$modules/system/xfconf.py: $modules/system/xfconf.py:
maintainers: russoz jbenden maintainers: russoz jbenden
labels: xfconf labels: xfconf
@@ -1096,31 +1107,31 @@ macros:
terminals: plugins/terminal terminals: plugins/terminal
team_aix: MorrisA bcoca d-little flynn1973 gforster kairoaraujo marvin-sinister mator molekuul ramooncamacho wtcross team_aix: MorrisA bcoca d-little flynn1973 gforster kairoaraujo marvin-sinister mator molekuul ramooncamacho wtcross
team_bsd: JoergFiedler MacLemon bcoca dch jasperla mekanix opoplawski overhacked tuxillo team_bsd: JoergFiedler MacLemon bcoca dch jasperla mekanix opoplawski overhacked tuxillo
team_consul: colin-nolan sgargan team_consul: sgargan
team_cyberark_conjur: jvanderhoof ryanprior team_cyberark_conjur: jvanderhoof ryanprior
team_docker: DBendit WojciechowskiPiotr akshay196 danihodovic dariko felixfontein jwitko kassiansun tbouvet chouseknecht team_docker: DBendit WojciechowskiPiotr akshay196 danihodovic dariko felixfontein jwitko kassiansun tbouvet chouseknecht
team_e_spirit: MatrixCrawler getjack team_e_spirit: MatrixCrawler getjack
team_flatpak: JayKayy oolongbrothers team_flatpak: JayKayy oolongbrothers
team_gitlab: Lunik Shaps dj-wasabi marwatk waheedi zanssa scodeman team_gitlab: Lunik Shaps dj-wasabi marwatk waheedi zanssa scodeman metanovii
team_google: erjohnso rambleraptor team_google: erjohnso rambleraptor
team_hpux: bcoca davx8342 team_hpux: bcoca davx8342
team_huawei: QijunPan TommyLike edisonxiang freesky-edward hwDCN niuzhenguo xuxiaowei0512 yanzhangi zengchen1024 zhongjun2 team_huawei: QijunPan TommyLike edisonxiang freesky-edward hwDCN niuzhenguo xuxiaowei0512 yanzhangi zengchen1024 zhongjun2
team_ipa: Akasurde Nosmoht fxfitz team_ipa: Akasurde Nosmoht fxfitz justchris1
team_jboss: Wolfant jairojunior wbrefvem team_jboss: Wolfant jairojunior wbrefvem
team_keycloak: eikef ndclt team_keycloak: eikef ndclt
team_kubevirt: machacekondra mmazur pkliczewski team_kubevirt: machacekondra mmazur pkliczewski
team_linode: InTheCloudDan decentral1se displague rmcintosh team_linode: InTheCloudDan decentral1se displague rmcintosh Charliekenney23 LBGarber
team_macos: Akasurde kyleabenson martinm82 danieljaouen indrajitr team_macos: Akasurde kyleabenson martinm82 danieljaouen indrajitr
team_manageiq: abellotti cben gtanzillo yaacov zgalor dkorn evertmulder team_manageiq: abellotti cben gtanzillo yaacov zgalor dkorn evertmulder
team_netapp: amit0701 carchi8py hulquest lmprice lonico ndswartz schmots1 team_netapp: amit0701 carchi8py hulquest lmprice lonico ndswartz schmots1
team_networking: NilashishC Qalthos danielmellado ganeshrn justjais trishnaguha sganesh-infoblox privateip team_networking: NilashishC Qalthos danielmellado ganeshrn justjais trishnaguha sganesh-infoblox privateip
team_opennebula: ilicmilan meerkampdvv rsmontero xorel team_opennebula: ilicmilan meerkampdvv rsmontero xorel nilsding
team_oracle: manojmeda mross22 nalsaber team_oracle: manojmeda mross22 nalsaber
team_postgresql: Andersson007 Dorn- andytom jbscalia kostiantyn-nemchenko matburt nerzhul sebasmannem tcraxs ilicmilan team_postgresql: Andersson007 Dorn- andytom jbscalia kostiantyn-nemchenko matburt nerzhul sebasmannem tcraxs ilicmilan
team_purestorage: bannaych dnix101 genegr lionmax opslounge raekins sdodsley sile16 team_purestorage: bannaych dnix101 genegr lionmax opslounge raekins sdodsley sile16
team_redfish: billdodd mraineri tomasg2012 team_redfish: mraineri tomasg2012 xmadsen renxulei
team_rhn: FlossWare alikins barnabycourt vritant team_rhn: FlossWare alikins barnabycourt vritant
team_scaleway: QuentinBrosse abarbare jerome-quere kindermoumoute remyleone sieben team_scaleway: QuentinBrosse abarbare jerome-quere kindermoumoute remyleone sieben
team_solaris: bcoca fishman jasperla jpdasma mator scathatheworm troy2914 xen0l team_solaris: bcoca fishman jasperla jpdasma mator scathatheworm troy2914 xen0l
team_suse: commel dcermak evrardjp lrupp toabctl AnderEnder alxgu andytom team_suse: commel dcermak evrardjp lrupp toabctl AnderEnder alxgu andytom
team_virt: joshainglis karmab Aversiste team_virt: joshainglis karmab tleguern Thulium-Drake Ajpantuso

View File

@@ -1,49 +0,0 @@
name: "Code scanning - action"
on:
schedule:
- cron: '26 19 * * 1'
jobs:
CodeQL-Build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

81
.gitignore vendored
View File

@@ -1,6 +1,6 @@
# Created by https://www.gitignore.io/api/git,linux,pydev,python,windows,pycharm+all,jupyternotebook,vim,webstorm,emacs,dotenv # Created by https://www.toptal.com/developers/gitignore/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 # Edit at https://www.toptal.com/developers/gitignore?templates=git,linux,pydev,python,windows,pycharm+all,jupyternotebook,vim,webstorm,emacs,dotenv
### dotenv ### ### dotenv ###
.env .env
@@ -88,7 +88,7 @@ flycheck_*.el
.nfs* .nfs*
### PyCharm+all ### ### PyCharm+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff # User-specific stuff
@@ -98,6 +98,9 @@ flycheck_*.el
.idea/**/dictionaries .idea/**/dictionaries
.idea/**/shelf .idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files # Generated files
.idea/**/contentModel.xml .idea/**/contentModel.xml
@@ -118,6 +121,9 @@ flycheck_*.el
# When using Gradle or Maven with auto-import, you should exclude module files, # When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using # since they will be recreated, and may cause churn. Uncomment if using
# auto-import. # auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml # .idea/modules.xml
# .idea/*.iml # .idea/*.iml
# .idea/modules # .idea/modules
@@ -198,7 +204,6 @@ parts/
sdist/ sdist/
var/ var/
wheels/ wheels/
pip-wheel-metadata/
share/python-wheels/ share/python-wheels/
*.egg-info/ *.egg-info/
.installed.cfg .installed.cfg
@@ -225,13 +230,25 @@ htmlcov/
nosetests.xml nosetests.xml
coverage.xml coverage.xml
*.cover *.cover
*.py,cover
.hypothesis/ .hypothesis/
.pytest_cache/ .pytest_cache/
cover/
# Translations # Translations
*.mo *.mo
*.pot *.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff: # Scrapy stuff:
.scrapy .scrapy
@@ -239,9 +256,19 @@ coverage.xml
docs/_build/ docs/_build/
# PyBuilder # PyBuilder
.pybuilder/
target/ target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv # pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
.python-version .python-version
# pipenv # pipenv
@@ -251,12 +278,24 @@ target/
# install all needed dependencies. # install all needed dependencies.
#Pipfile.lock #Pipfile.lock
# celery beat schedule file # PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule celerybeat-schedule
celerybeat.pid
# SageMath parsed files # SageMath parsed files
*.sage.py *.sage.py
# Environments
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings # Spyder project settings
.spyderproject .spyderproject
.spyproject .spyproject
@@ -264,10 +303,6 @@ celerybeat-schedule
# Rope project settings # Rope project settings
.ropeproject .ropeproject
# Mr Developer
.mr.developer.cfg
.project
# mkdocs documentation # mkdocs documentation
/site /site
@@ -279,9 +314,16 @@ dmypy.json
# Pyre type checker # Pyre type checker
.pyre/ .pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
### Vim ### ### Vim ###
# Swap # Swap
[._]*.s[a-v][a-z] [._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p] [._]*.sw[a-p]
[._]s[a-rt-v][a-z] [._]s[a-rt-v][a-z]
[._]ss[a-gi-z] [._]ss[a-gi-z]
@@ -299,11 +341,13 @@ tags
[._]*.un~ [._]*.un~
### WebStorm ### ### WebStorm ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff # User-specific stuff
# AWS User-specific
# Generated files # Generated files
# Sensitive or high-churn files # Sensitive or high-churn files
@@ -314,6 +358,9 @@ tags
# When using Gradle or Maven with auto-import, you should exclude module files, # When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using # since they will be recreated, and may cause churn. Uncomment if using
# auto-import. # auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml # .idea/modules.xml
# .idea/*.iml # .idea/*.iml
# .idea/modules # .idea/modules
@@ -349,15 +396,27 @@ tags
# *.ipr # *.ipr
# Sonarlint plugin # Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/ .idea/**/sonarlint/
# SonarQube Plugin # SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml .idea/**/sonarIssues.xml
# Markdown Navigator plugin # Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml .idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/ .idea/**/markdown-navigator/
# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$
# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml
### Windows ### ### Windows ###
# Windows thumbnail cache files # Windows thumbnail cache files
Thumbs.db Thumbs.db
@@ -384,4 +443,4 @@ $RECYCLE.BIN/
# Windows shortcuts # Windows shortcuts
*.lnk *.lnk
# End of https://www.gitignore.io/api/git,linux,pydev,python,windows,pycharm+all,jupyternotebook,vim,webstorm,emacs,dotenv # End of https://www.toptal.com/developers/gitignore/api/git,linux,pydev,python,windows,pycharm+all,jupyternotebook,vim,webstorm,emacs,dotenv

View File

@@ -5,6 +5,547 @@ Community General Release Notes
.. contents:: Topics .. contents:: Topics
v1.3.14
=======
Release Summary
---------------
Final maintenance release of community.general major version 1.
Major Changes
-------------
- The community.general 1.x.y release stream is now effectively **End of Life**. No more releases will be made, and regular CI runs will stop.
v1.3.13
=======
Release Summary
---------------
Announcement release.
Major Changes
-------------
- The community.general 1.x.y release stream will be **End of Life** on 2022-05-23, which coincides with the latest day that community.general 5.0.0 must be released (see `the Roadmap for Ansible 6 <https://github.com/ansible/ansible/blob/devel/docs/docsite/rst/roadmap/COLLECTIONS_6.rst#release-schedule>`_). At this point, community.general 1.0.0 has been released almost two years ago. It received new features for half a year, bugfixes for another half a year, and has only been receiving major bugfixes or security fixes until then. Thank you very much to everyone who contributed to the 1.x.y releases!
v1.3.12
=======
Release Summary
---------------
Fix check mode support for ``_info`` and ``_facts`` modules.
Bugfixes
--------
- ali_instance_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- docker_stack_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3101).
- docker_stack_task_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3101).
- gcpubsub_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3101).
- gluster_heal_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- idrac_redfish_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- memset_memstore_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- memset_server_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- ome_device_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- oneview_datacenter_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_enclosure_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_ethernet_network_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_fc_network_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_fcoe_network_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_logical_interconnect_group_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_network_set_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_san_manager_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- ovirt_affinity_label_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_api_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_cluster_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_datacenter_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_disk_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_event_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_external_provider_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_group_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_host_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_host_storage_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_network_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_nic_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_permission_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_quota_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_scheduling_policy_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_snapshot_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_storage_domain_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_storage_template_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_storage_vm_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_tag_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_template_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_user_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_vm_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_vmpool_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- purefa_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- rax_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- redfish_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- smartos_image_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- snmp_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_aaa_group_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_ca_host_key_cert_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_network_interface_address_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_proxy_frontend_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_proxy_location_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- xenserver_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- xfconf_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
v1.3.11
=======
Release Summary
---------------
Maintenance release.
Bugfixes
--------
- ovirt* modules - remove bad unnecessary import for current ansible-core development version (https://github.com/ansible-collections/community.general/pull/2381).
v1.3.10
=======
Release Summary
---------------
Last regular bugfix release. There will only be new bugfix releases for security fixes and major bugfixes.
Minor Changes
-------------
- atomic_container - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
- atomic_host - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
- atomic_image - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
- beadm - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- bitbucket_pipeline_variable - removed unreachable code (https://github.com/ansible-collections/community.general/pull/2157).
- hiera lookup - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- ipwcli_dns - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- known_hosts module utils - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- nictagadm - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- ovh_ip_failover - removed unreachable code (https://github.com/ansible-collections/community.general/pull/2157).
- rhevm - removed unreachable code (https://github.com/ansible-collections/community.general/pull/2157).
- smartos_image_info - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- svr4pkg - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- xattr - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- zfs_facts - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- zpool_facts - minor refactor converting multiple statements to a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
Security Fixes
--------------
- java_keystore - pass secret to keytool through an environment variable to not expose it as a commandline argument (https://github.com/ansible-collections/community.general/issues/1668).
Bugfixes
--------
- dimensiondata_network - bug when formatting message, instead of % a simple comma was used (https://github.com/ansible-collections/community.general/pull/2139).
- funcd connection plugin - can now load (https://github.com/ansible-collections/community.general/pull/2235).
- haproxy - fix a bug preventing haproxy from properly entering ``DRAIN`` mode (https://github.com/ansible-collections/community.general/issues/1913).
- hiera lookup plugin - converts the return type of plugin to unicode string (https://github.com/ansible-collections/community.general/pull/2329).
- ipa_user - allow ``sshpubkey`` to permit multiple word comments (https://github.com/ansible-collections/community.general/pull/2159).
- java_keystore - improve error handling and return ``cmd`` as documented. Force ``LANG``, ``LC_ALL`` and ``LC_MESSAGES`` environment variables to ``C`` to rely on ``keytool`` output parsing. Fix pylint's ``unused-variable`` and ``no-else-return`` hints (https://github.com/ansible-collections/community.general/pull/2183).
- java_keystore - use tempfile lib to create temporary files with randomized names, and remove the temporary PKCS#12 keystore as well as other materials (https://github.com/ansible-collections/community.general/issues/1667).
- jenkins_plugin - fixes Python 2 compatibility issue (https://github.com/ansible-collections/community.general/pull/2340).
- kibana_plugin - added missing parameter to ``remove_plugin`` when using ``state=present force=true``, and fix potential quoting errors when invoking ``kibana`` (https://github.com/ansible-collections/community.general/pull/2143).
- module_helper module utils - fixed decorator ``cause_changes`` (https://github.com/ansible-collections/community.general/pull/2203).
- nmap inventory plugin - fix cache and constructed group support (https://github.com/ansible-collections/community.general/issues/2242).
- pkgutil - fixed calls to ``list.extend()`` (https://github.com/ansible-collections/community.general/pull/2161).
- terraform - fix issue that cause the destroy to fail because from Terraform 0.15 on, the ``terraform destroy -force`` option is replaced with ``terraform destroy -auto-approve`` (https://github.com/ansible-collections/community.general/issues/2247).
- terraform - fix issue that cause the execution fail because from Terraform 0.15 on, the ``-var`` and ``-var-file`` options are no longer available on ``terraform validate`` (https://github.com/ansible-collections/community.general/pull/2246).
- terraform - remove uses of ``use_unsafe_shell=True`` (https://github.com/ansible-collections/community.general/pull/2246).
- vmadm - correct type of list elements in ``resolvers`` parameter (https://github.com/ansible-collections/community.general/issues/2135).
- xfconf - module was not honoring check mode when ``state`` was ``absent`` (https://github.com/ansible-collections/community.general/pull/2185).
- zypper, zypper_repository - respect ``PATH`` environment variable when resolving zypper executable path (https://github.com/ansible-collections/community.general/pull/2094).
v1.3.9
======
Release Summary
---------------
Fixes compatibility issues with the latest ansible-core 2.11 beta, and some more bugs.
Minor Changes
-------------
- Restrict dependency to community.kubernetes to < 2.0.0, since community.general will no longer work with the latest git version of community.kubernetes (https://github.com/ansible-collections/community.general/pull/2087).
Bugfixes
--------
- nios* modules - fix modules to work with ansible-core 2.11 (https://github.com/ansible-collections/community.general/pull/2057).
- redfish_config module, redfish_utils module utils - fix IndexError in ``SetManagerNic`` command (https://github.com/ansible-collections/community.general/issues/1692).
- scaleway inventory plugin - fix pagination on scaleway inventory plugin (https://github.com/ansible-collections/community.general/pull/2036).
- stacki_host - replaced ``default`` to environment variables with ``fallback`` to them (https://github.com/ansible-collections/community.general/pull/2072).
v1.3.8
======
Release Summary
---------------
Security bugfix and regular bugfix release.
Minor Changes
-------------
- bundler - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- consul - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- consul_acl - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- consul_session - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- datadog_monitor - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_firewall_policy - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_load_balancer - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_monitoring_policy - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_private_network - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_server - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- profitbricks - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- profitbricks_volume - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- sensu_check - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- sensu_client - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- sensu_handler - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- webfaction_domain - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- webfaction_site - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
Breaking Changes / Porting Guide
--------------------------------
- docker_swarm - if ``join_token`` is specified, a returned join token with the same value will be replaced by ``VALUE_SPECIFIED_IN_NO_LOG_PARAMETER``. Make sure that you do not blindly use the join tokens from the return value of this module when the module is invoked with ``join_token`` specified! This breaking change appears in a minor release since it is necessary to fix a security issue (https://github.com/ansible-collections/community.docker/pull/103).
Security Fixes
--------------
- docker_swarm - the ``join_token`` option is now marked as ``no_log`` so it is no longer written into logs (https://github.com/ansible-collections/community.docker/pull/103).
- na_cdot_user - mark the ``set_password`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/2018).
- sf_account_manager - mark the ``initiator_secret`` and ``target_secret`` parameters as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/2018).
Bugfixes
--------
- Mark various module options with ``no_log=False`` which have a name that potentially could leak secrets, but which do not (https://github.com/ansible-collections/community.general/pull/2001).
- bigpanda - actually use the ``deployment_message`` option (https://github.com/ansible-collections/community.general/pull/1928).
- cloudforms inventory - fixed issue that non-existing (archived) VMs were synced (https://github.com/ansible-collections/community.general/pull/720).
- docker_container - fix healthcheck disabling idempotency issue with strict comparison (https://github.com/ansible-collections/community.docker/issues/85).
- docker_image - prevent module failure when removing image that is removed between inspection and removal (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image - prevent module failure when removing non-existant image by ID (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image_info - prevent module failure when image vanishes between listing and inspection (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image_info - prevent module failure when querying non-existant image by ID (https://github.com/ansible-collections/community.docker/pull/87).
- nmcli - ensure the ``slave-type`` option is passed to ``nmcli`` for type ``bond-slave`` (https://github.com/ansible-collections/community.general/pull/1882).
- proxmox - removed requirement that root password is provided when containter state is ``present`` (https://github.com/ansible-collections/community.general/pull/1999).
- proxmox inventory - added handling of extra trailing slashes in the URL (https://github.com/ansible-collections/community.general/pull/1914).
- proxmox inventory - exclude qemu templates from inclusion to the inventory via pools (https://github.com/ansible-collections/community.general/issues/1986, https://github.com/ansible-collections/community.general/pull/1991).
- xfs_quota - the feedback for initializing project quota using xfs_quota binary from ``xfsprogs`` has changed since the version it was written for (https://github.com/ansible-collections/community.general/pull/1596).
- zfs - some ZFS properties could be passed when the dataset/volume did not exist, but would fail if the dataset already existed, even if the property matched what was specified in the ansible task (https://github.com/ansible-collections/community.general/issues/868, https://github.com/ansible-collections/community.general/pull/1833).
v1.3.7
======
Release Summary
---------------
Regular maintenance and bugfix release.
Minor Changes
-------------
- clc_* modules - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1771).
- dnsimple - elements of list parameters ``record_ids`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- gitlab_runner - elements of list parameters ``tag_list`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- keycloak_client - elements of list parameters ``default_roles``, ``redirect_uris``, ``web_origins`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- librato_annotation - elements of list parameters ``links`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- lxd_container - elements of list parameter ``profiles`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- mail - elements of list parameters ``to``, ``cc``, ``bcc``, ``attach``, ``headers`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- na_ontap_gather_facts - elements of list parameters ``gather_subset`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- nexmo - elements of list parameters ``dest`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- nsupdate - elements of list parameters ``value`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- omapi_host - elements of list parameters ``statements`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- onepassword_info - elements of list parameters ``search_terms`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- packet_device - elements of list parameters ``device_ids``, ``hostnames`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- pagerduty - elements of list parameters ``service`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- plugins/module_utils/oracle/oci_utils.py - elements of list parameter ``key_by`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- proxmox_kvm module - actually implemented ``vmid`` and ``status`` return values. Updated documentation to reflect current situation (https://github.com/ansible-collections/community.general/issues/1410, https://github.com/ansible-collections/community.general/pull/1715).
- pubnub_blocks - elements of list parameters ``event_handlers`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- redfish modules - explicitly setting lists' elements to ``str`` (https://github.com/ansible-collections/community.general/pull/1761).
- redhat_subscription - elements of list parameters ``pool_ids``, ``addons`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- rocketchat - elements of list parameters ``attachments`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- sendgrid - elements of list parameters ``to_addresses``, ``cc``, ``bcc``, ``attachments`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- sl_vm - elements of list parameters ``disks``, ``ssh_keys`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- slack - elements of list parameters ``attachments`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- statusio_maintenance - elements of list parameters ``components``, ``containers`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- twilio - elements of list parameters ``to_numbers`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- vmadm - elements of list parameters ``disks``, ``nics``, ``resolvers``, ``filesystems`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- xml - elements of list parameters ``add_children``, ``set_children`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
Bugfixes
--------
- aerospike_migration - fix typo that caused ``migrate_tx_key`` instead of ``migrate_rx_key`` being used (https://github.com/ansible-collections/community.general/pull/1739).
- alternatives - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- beadm - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- chef_databag lookup plugin - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- cobbler_sync, cobbler_system - fix SSL/TLS certificate check when ``validate_certs`` set to ``false`` (https://github.com/ansible-collections/community.general/pull/1880).
- cronvar - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- dconf - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- deploy_helper - allow ``state=clean`` to be used without defining a ``release`` (https://github.com/ansible-collections/community.general/issues/1852).
- diy callback plugin - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- elasticsearch_plugin - ``state`` parameter choices must use ``list()`` in python3 (https://github.com/ansible-collections/community.general/pull/1830).
- filesystem - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- filesystem - remove ``swap`` from list of FS supported by ``resizefs=yes`` (https://github.com/ansible-collections/community.general/issues/790).
- git_config - prevent ``run_command`` from expanding values (https://github.com/ansible-collections/community.general/issues/1776).
- gitlab_runner - parameter ``registration_token`` was required but is used only when ``state`` is ``present`` (https://github.com/ansible-collections/community.general/issues/1714).
- hipchat - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- idrac_redfish_command - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- idrac_redfish_config - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- idrac_redfish_info - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- imc_rest - explicitly logging out instead of registering the call in ```atexit``` (https://github.com/ansible-collections/community.general/issues/1735).
- infoblox inventory script - make sure that the script also works with Ansible 2.9, and returns a more helpful error when community.general is not installed as part of Ansible 2.10/3 (https://github.com/ansible-collections/community.general/pull/1871).
- interfaces_file - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- iso_extract - use proper alias deprecation mechanism for ``thirsty`` alias of ``force`` (https://github.com/ansible-collections/community.general/pull/1830).
- java_cert - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- kibana_plugin - ``state`` parameter choices must use ``list()`` in python3 (https://github.com/ansible-collections/community.general/pull/1830).
- logstash_plugin - wrapped ``dict.keys()`` with ``list`` for use in ``choices`` setting (https://github.com/ansible-collections/community.general/pull/1830).
- lvg - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- lvol - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- lxc - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- lxc_container - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- lxc_container - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- lxd_container - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- memcached cache plugin - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- net_tools.nios.api module_utils - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- nios_host_record - allow DNS Bypass for views other than default (https://github.com/ansible-collections/community.general/issues/1786).
- nomad_job_info - fix module failure when nomad client returns no jobs (https://github.com/ansible-collections/community.general/pull/1721).
- nsot inventory script - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- oci_vcn - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- oneandone_monitoring_policy - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- parted - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- postgresql_info - fix crash caused by wrong PgSQL version parsing (https://github.com/ansible-collections/community.postgresql/issues/40).
- postgresql_ping - fix crash caused by wrong PgSQL version parsing (https://github.com/ansible-collections/community.postgresql/issues/40).
- postgresql_query - fix datetime.timedelta type handling (https://github.com/ansible-collections/community.postgresql/issues/47).
- postgresql_query - fix decimal handling (https://github.com/ansible-collections/community.postgresql/issues/45).
- postgresql_set - fails in check_mode on non-numeric values containing ``B`` (https://github.com/ansible-collections/community.postgresql/issues/48).
- postgresql_set - return a message instead of traceback when a passed parameter has not been found (https://github.com/ansible-collections/community.postgresql/issues/41).
- proxmox* modules - refactored some parameter validation code into use of ``env_fallback``, ``required_if``, ``required_together``, ``required_one_of`` (https://github.com/ansible-collections/community.general/pull/1765).
- proxmox_kvm - do not add ``args`` if ``proxmox_default_behavior`` is set to no_defaults (https://github.com/ansible-collections/community.general/issues/1641).
- proxmox_kvm - fix parameter ``vmid`` passed twice to ``exit_json`` while creating a virtual machine without cloning (https://github.com/ansible-collections/community.general/issues/1875, https://github.com/ansible-collections/community.general/pull/1895).
- proxmox_kvm - fix undefined local variable ``status`` when the parameter ``state`` is either ``stopped``, ``started``, ``restarted`` or ``absent`` (https://github.com/ansible-collections/community.general/pull/1847).
- proxmox_kvm - stop implicitly adding ``force`` equal to ``false``. Proxmox API requires not implemented parameters otherwise, and assumes ``force`` to be ``false`` by default anyways (https://github.com/ansible-collections/community.general/pull/1783).
- redfish_command - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- redfish_config - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- redhat_subscription - ``mutually_exclusive`` was referring to parameter alias instead of name (https://github.com/ansible-collections/community.general/pull/1795).
- redhat_subscription - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- redis cache plugin - wrapped usages of ``keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- riak - parameters ``wait_for_handoffs`` and ``wait_for_ring`` are ``int`` but the default value was ``false`` (https://github.com/ansible-collections/community.general/pull/1830).
- rundeck_acl_policy - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- runit - removed unused code, and passing command as ``list`` instead of ``str`` to ``run_command()`` (https://github.com/ansible-collections/community.general/pull/1830).
- selective callback plugin - adjust import so that the plugin also works with ansible-core 2.11 (https://github.com/ansible-collections/community.general/pull/1807).
- selective callback plugin - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- sensu_check - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- spotinst_aws_elastigroup - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- statusio_maintenance - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- timezone - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).
- utm_utils module_utils - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- vdo - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- zfs_delegate_admin - the elements of ``users``, ``groups`` and ``permissions`` are now enforced to be strings (https://github.com/ansible-collections/community.general/pull/1766).
v1.3.6
======
Release Summary
---------------
Regular bugfix and security bugfix (potential information leaks in multiple modules, CVE-2021-20191) release.
Minor Changes
-------------
- scaleway modules and inventory plugin - update regions and zones to add the new ones (https://github.com/ansible-collections/community.general/pull/1690).
Breaking Changes / Porting Guide
--------------------------------
- utm_proxy_auth_profile - the ``frontend_cookie_secret`` return value now contains a placeholder string instead of the module's ``frontend_cookie_secret`` parameter (https://github.com/ansible-collections/community.general/pull/1736).
Security Fixes
--------------
- dnsmadeeasy - mark the ``account_key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- docker_swarm - enabled ``no_log`` for the option ``signing_ca_key`` to prevent accidental disclosure (CVE-2021-20191, https://github.com/ansible-collections/community.general/pull/1728).
- gitlab_runner - mark the ``registration_token`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- hwc_ecs_instance - mark the ``admin_pass`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- ibm_sa_host - mark the ``iscsi_chap_secret`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- keycloak_* modules - mark the ``auth_client_secret`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- keycloak_client - mark the ``registration_access_token`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- librato_annotation - mark the ``api_key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- logentries_msg - mark the ``token`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- module_utils/_netapp, na_ontap_gather_facts - enabled ``no_log`` for the options ``api_key`` and ``secret_key`` to prevent accidental disclosure (CVE-2021-20191, https://github.com/ansible-collections/community.general/pull/1725).
- module_utils/identity/keycloak, keycloak_client, keycloak_clienttemplate, keycloak_group - enabled ``no_log`` for the option ``auth_client_secret`` to prevent accidental disclosure (CVE-2021-20191, https://github.com/ansible-collections/community.general/pull/1725).
- nios_nsgroup - mark the ``tsig_key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- oneandone_firewall_policy, oneandone_load_balancer, oneandone_monitoring_policy, oneandone_private_network, oneandone_public_ip - mark the ``auth_token`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- ovirt - mark the ``instance_key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- ovirt - mark the ``instance_rootpw`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- pagerduty_alert - mark the ``api_key``, ``service_key`` and ``integration_key`` parameters as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- pagerduty_change - mark the ``integration_key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- pingdom - mark the ``key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- pulp_repo - mark the ``feed_client_key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- rax_clb_ssl - mark the ``private_key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- redfish_command - mark the ``update_creds.password`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- rollbar_deployment - mark the ``token`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- spotinst_aws_elastigroup - mark the ``multai_token`` and ``token`` parameters as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- stackdriver - mark the ``key`` parameter as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- utm_proxy_auth_profile - enabled ``no_log`` for the option ``frontend_cookie_secret`` to prevent accidental disclosure (CVE-2021-20191, https://github.com/ansible-collections/community.general/pull/1725).
- utm_proxy_auth_profile - mark the ``frontend_cookie_secret`` parameter as ``no_log`` to avoid leakage of secrets. This causes the ``utm_proxy_auth_profile`` return value to no longer containing the correct value, but a placeholder (https://github.com/ansible-collections/community.general/pull/1736).
Bugfixes
--------
- docker connection plugin - fix Docker version parsing, as some docker versions have a leading ``v`` in the output of the command ``docker version --format "{{.Server.Version}}"`` (https://github.com/ansible-collections/community.docker/pull/76).
- filesystem - do not fail when ``resizefs=yes`` and ``fstype=xfs`` if there is nothing to do, even if the filesystem is not mounted. This only covers systems supporting access to unmounted XFS filesystems. Others will still fail (https://github.com/ansible-collections/community.general/issues/1457, https://github.com/ansible-collections/community.general/pull/1478).
- gitlab_user - make updates to the ``isadmin``, ``password`` and ``confirm`` options of an already existing GitLab user work (https://github.com/ansible-collections/community.general/pull/1724).
- parted - change the regex that decodes the partition size to better support different formats that parted uses. Change the regex that validates parted's version string (https://github.com/ansible-collections/community.general/pull/1695).
- redfish_info module, redfish_utils module utils - add ``Name`` and ``Id`` properties to output of Redfish inventory commands (https://github.com/ansible-collections/community.general/issues/1650).
- sensu-silence module - fix json parsing of sensu API responses on Python 3.5 (https://github.com/ansible-collections/community.general/pull/1703).
v1.3.5
======
Release Summary
---------------
Regular bugfix release.
Bugfixes
--------
- dnsmadeeasy - fix HTTP 400 errors when creating a TXT record (https://github.com/ansible-collections/community.general/issues/1237).
- docker_container - allow IPv6 zones (RFC 4007) in bind IPs (https://github.com/ansible-collections/community.docker/pull/66).
- docker_image - fix crash on loading images with versions of Docker SDK for Python before 2.5.0 (https://github.com/ansible-collections/community.docker/issues/72, https://github.com/ansible-collections/community.docker/pull/73).
- homebrew - add default search path for ``brew`` on Apple silicon hardware (https://github.com/ansible-collections/community.general/pull/1679).
- homebrew_cask - add default search path for ``brew`` on Apple silicon hardware (https://github.com/ansible-collections/community.general/pull/1679).
- homebrew_tap - add default search path for ``brew`` on Apple silicon hardware (https://github.com/ansible-collections/community.general/pull/1679).
- lldp - use ``get_bin_path`` to locate the ``lldpctl`` executable (https://github.com/ansible-collections/community.general/pull/1643).
- onepassword lookup plugin - updated to support password items, which place the password field directly in the payload's ``details`` attribute (https://github.com/ansible-collections/community.general/pull/1610).
- passwordstore lookup plugin - fix compatibility with gopass when used with ``create=true``. While pass returns 1 on a non-existent password, gopass returns 10, or 11, depending on whether a similar named password was stored. We now just check standard output and that the return code is not zero (https://github.com/ansible-collections/community.general/pull/1589).
- terraform - improve result code checking when executing terraform commands (https://github.com/ansible-collections/community.general/pull/1632).
v1.3.4
======
Release Summary
---------------
Bugfix/security release that addresses CVE-2021-20180.
Security Fixes
--------------
- bitbucket_pipeline_variable - **CVE-2021-20180** - hide user sensitive information which are marked as ``secured`` from logging into the console (https://github.com/ansible-collections/community.general/pull/1635).
Bugfixes
--------
- npm - handle json decode exception while parsing command line output (https://github.com/ansible-collections/community.general/issues/1614).
v1.3.3
======
Release Summary
---------------
Bugfix/security release that addresses CVE-2021-20178.
Major Changes
-------------
- For community.general 2.0.0, the kubevirt modules will be moved to the `community.kubevirt <https://galaxy.ansible.com/community/kubevirt>`_ collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer do not have to change anything.
If you use Ansible 2.9 and explicitly use kubevirt modules from this collection, you will need to adjust your playbooks and roles to use FQCNs starting with ``community.kubevirt.`` instead of ``community.general.``,
for example replace ``community.general.kubevirt_vm`` in a task by ``community.kubevirt.kubevirt_vm``.
If you use ansible-base and installed ``community.general`` manually and rely on the kubevirt modules, you have to make sure to install the ``community.kubevirt`` collection as well.
If you are using FQCNs, for example ``community.general.kubevirt_vm`` instead of ``kubevirt_vm``, it will continue working, but we still recommend to adjust the FQCNs as well.
Security Fixes
--------------
- snmp_facts - **CVE-2021-20178** - hide user sensitive information such as ``privkey`` and ``authkey`` from logging into the console (https://github.com/ansible-collections/community.general/pull/1621).
Bugfixes
--------
- terraform - fix ``init_reconfigure`` option for proper CLI args (https://github.com/ansible-collections/community.general/pull/1620).
v1.3.2
======
Release Summary
---------------
Regular bugfix release.
Major Changes
-------------
- For community.general 2.0.0, the Google modules will be moved to the `community.google <https://galaxy.ansible.com/community/google>`_ collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer do not have to change anything.
If you use Ansible 2.9 and explicitly use Google modules from this collection, you will need to adjust your playbooks and roles to use FQCNs starting with ``community.google.`` instead of ``community.general.``,
for example replace ``community.general.gcpubsub`` in a task by ``community.google.gcpubsub``.
If you use ansible-base and installed ``community.general`` manually and rely on the Google modules, you have to make sure to install the ``community.google`` collection as well.
If you are using FQCNs, for example ``community.general.gcpubsub`` instead of ``gcpubsub``, it will continue working, but we still recommend to adjust the FQCNs as well.
- For community.general 2.0.0, the OC connection plugin will be moved to the `community.okd <https://galaxy.ansible.com/community/okd>`_ collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer do not have to change anything.
If you use Ansible 2.9 and explicitly use OC connection plugin from this collection, you will need to adjust your playbooks and roles to use FQCNs ``community.okd.oc`` instead of ``community.general.oc``.
If you use ansible-base and installed ``community.general`` manually and rely on the OC connection plugin, you have to make sure to install the ``community.okd`` collection as well.
If you are using FQCNs, in other words ``community.general.oc`` instead of ``oc``, it will continue working, but we still recommend to adjust this FQCN as well.
- For community.general 2.0.0, the hashi_vault lookup plugin will be moved to the `community.hashi_vault <https://galaxy.ansible.com/community/hashi_vault>`_ collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer do not have to change anything.
If you use Ansible 2.9 and explicitly use hashi_vault lookup plugin from this collection, you will need to adjust your playbooks and roles to use FQCNs ``community.hashi_vault.hashi_vault`` instead of ``community.general.hashi_vault``.
If you use ansible-base and installed ``community.general`` manually and rely on the hashi_vault lookup plugin, you have to make sure to install the ``community.hashi_vault`` collection as well.
If you are using FQCNs, in other words ``community.general.hashi_vault`` instead of ``hashi_vault``, it will continue working, but we still recommend to adjust this FQCN as well.
Minor Changes
-------------
- homebrew_cask - Homebrew will be deprecating use of ``brew cask`` commands as of version 2.6.0, see https://brew.sh/2020/12/01/homebrew-2.6.0/. Added logic to stop using ``brew cask`` for brew version >= 2.6.0 (https://github.com/ansible-collections/community.general/pull/1481).
- jira - added the traceback output to ``fail_json()`` calls deriving from exceptions (https://github.com/ansible-collections/community.general/pull/1536).
Bugfixes
--------
- docker_image - if ``push=true`` is used with ``repository``, and the image does not need to be tagged, still push. This can happen if ``repository`` and ``name`` are equal (https://github.com/ansible-collections/community.docker/issues/52, https://github.com/ansible-collections/community.docker/pull/53).
- docker_image - report error when loading a broken archive that contains no image (https://github.com/ansible-collections/community.docker/issues/46, https://github.com/ansible-collections/community.docker/pull/55).
- docker_image - report error when the loaded archive does not contain the specified image (https://github.com/ansible-collections/community.docker/issues/41, https://github.com/ansible-collections/community.docker/pull/55).
- jira - ``fetch`` and ``search`` no longer indicate that something changed (https://github.com/ansible-collections/community.general/pull/1536).
- jira - ensured parameter ``issue`` is mandatory for operation ``transition`` (https://github.com/ansible-collections/community.general/pull/1536).
- jira - module no longer incorrectly reports change for information gathering operations (https://github.com/ansible-collections/community.general/pull/1536).
- jira - replaced custom parameter validation with ``required_if`` (https://github.com/ansible-collections/community.general/pull/1536).
- launchd - handle deprecated APIs like ``readPlist`` and ``writePlist`` in ``plistlib`` (https://github.com/ansible-collections/community.general/issues/1552).
- ldap_search - the module no longer incorrectly reports a change (https://github.com/ansible-collections/community.general/issues/1040).
- make - fixed ``make`` parameter used for check mode when running a non-GNU ``make`` (https://github.com/ansible-collections/community.general/pull/1574).
- monit - add support for all monit service checks (https://github.com/ansible-collections/community.general/pull/1532).
- nios_member - fix Python 3 compatibility with nios api ``member_normalize`` function (https://github.com/ansible-collections/community.general/issues/1526).
- nmcli - remove ``bridge-slave`` from list of IP based connections ((https://github.com/ansible-collections/community.general/issues/1500).
- pamd - added logic to retain the comment line (https://github.com/ansible-collections/community.general/issues/1394).
- passwordstore lookup plugin - always use explicit ``show`` command to retrieve password. This ensures compatibility with ``gopass`` and avoids problems when password names equal ``pass`` commands (https://github.com/ansible-collections/community.general/pull/1493).
- rhn_channel - Python 2.7.5 fails if the certificate should not be validated. Fixed this by creating the correct ``ssl_context`` (https://github.com/ansible-collections/community.general/pull/470).
- sendgrid - update documentation and warn user about sendgrid Python library version (https://github.com/ansible-collections/community.general/issues/1553).
- syslogger - update ``syslog.openlog`` API call for older Python versions, and improve error handling (https://github.com/ansible-collections/community.general/issues/953).
- yaml callback plugin - do not remove non-ASCII Unicode characters from multiline string output (https://github.com/ansible-collections/community.general/issues/1519).
v1.3.1 v1.3.1
====== ======

32
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,32 @@
# 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.
If you are a committer, also refer to the [collection's committer guidelines](https://github.com/ansible-collections/community.general/blob/main/commit-rights.md).
## Issue tracker
Whether you are looking for an opportunity to contribute or you found a bug and already know how to solve it, please go to the [issue tracker](https://github.com/ansible-collections/community.general/issues).
There you can find feature ideas to implement, reports about bugs to solve, or submit an issue to discuss your idea before implementing it which can help choose a right direction at the beginning of your work and potentially save a lot of time and effort.
Also somebody may already have started discussing or working on implementing the same or a similar idea,
so you can cooperate to create a better solution together.
* If you are interested in starting with an easy issue, look for [issues with an `easyfix` label](https://github.com/ansible-collections/community.general/labels/easyfix).
* Often issues that are waiting for contributors to pick up have [the `waiting_on_contributor` label](https://github.com/ansible-collections/community.general/labels/waiting_on_contributor).
## Open pull requests
Look through currently [open pull requests](https://github.com/ansible-collections/community.general/pulls).
You can help by reviewing them. Reviews help move pull requests to merge state. Some good pull requests cannot be merged only due to a lack of reviews. And it is always worth saying that good reviews are often more valuable than pull requests themselves.
Note that reviewing does not only mean code review, but also offering comments on new interfaces added to existing plugins/modules, interfaces of new plugins/modules, improving language (not everyone is a native english speaker), or testing bugfixes and new features!
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.
* 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 respository checkout.
* Make sure your PR includes a [changelog fragment](https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs-how-to). (You must not include a fragment for new modules or new plugins, except for test and filter 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 :) )
You can also read [our Quick-start development guide](https://github.com/ansible/community-docs/blob/main/create_pr_quick_start_guide.rst).
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.

View File

@@ -7,9 +7,11 @@ This repo contains the `community.general` Ansible Collection. The collection in
You can find [documentation for this collection on the Ansible docs site](https://docs.ansible.com/ansible/latest/collections/community/general/). 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.
## Tested with Ansible ## Tested with Ansible
Tested with the current Ansible 2.9 and 2.10 releases and the current development version of Ansible. Ansible versions before 2.9.10 are not supported. Tested with the current Ansible 2.9, ansible-base 2.10 and ansible-core 2.11 releases. Ansible versions before 2.9.10 are not supported.
## External requirements ## External requirements
@@ -48,6 +50,8 @@ export COLLECTIONS_PATH=$(pwd)/collections:$COLLECTIONS_PATH
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). 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).
Also for some notes specific to this collection see [our CONTRIBUTING documentation](https://github.com/ansible-collections/community.general/blob/main/CONTRIBUTING.md).
### Running tests ### Running tests
See [here](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#testing-collections). See [here](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#testing-collections).
@@ -56,10 +60,10 @@ See [here](https://docs.ansible.com/ansible/devel/dev_guide/developing_collectio
We have a dedicated Working Group for Ansible development. We have a dedicated Working Group for Ansible development.
You can find other people interested on the following Freenode IRC channels - You can find other people interested on the following [Libera.chat](https://libera.chat/) IRC channels -
- `#ansible` - For general use questions and support. - `#ansible` - For general use questions and support.
- `#ansible-devel` - For discussions on developer topics and code related to features or bugs. - `#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. - `#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). For more information about communities, meetings and agendas see [Community Wiki](https://github.com/ansible/community/wiki/Community).

View File

@@ -1627,3 +1627,822 @@ releases:
- fix_parsing_array_values_in_osx_defaults.yml - fix_parsing_array_values_in_osx_defaults.yml
- nios_host_record-fix-aliases-removal.yml - nios_host_record-fix-aliases-removal.yml
release_date: '2020-12-21' release_date: '2020-12-21'
1.3.10:
changes:
bugfixes:
- dimensiondata_network - bug when formatting message, instead of % a simple
comma was used (https://github.com/ansible-collections/community.general/pull/2139).
- funcd connection plugin - can now load (https://github.com/ansible-collections/community.general/pull/2235).
- haproxy - fix a bug preventing haproxy from properly entering ``DRAIN`` mode
(https://github.com/ansible-collections/community.general/issues/1913).
- hiera lookup plugin - converts the return type of plugin to unicode string
(https://github.com/ansible-collections/community.general/pull/2329).
- ipa_user - allow ``sshpubkey`` to permit multiple word comments (https://github.com/ansible-collections/community.general/pull/2159).
- java_keystore - improve error handling and return ``cmd`` as documented. Force
``LANG``, ``LC_ALL`` and ``LC_MESSAGES`` environment variables to ``C`` to
rely on ``keytool`` output parsing. Fix pylint's ``unused-variable`` and ``no-else-return``
hints (https://github.com/ansible-collections/community.general/pull/2183).
- java_keystore - use tempfile lib to create temporary files with randomized
names, and remove the temporary PKCS#12 keystore as well as other materials
(https://github.com/ansible-collections/community.general/issues/1667).
- jenkins_plugin - fixes Python 2 compatibility issue (https://github.com/ansible-collections/community.general/pull/2340).
- kibana_plugin - added missing parameter to ``remove_plugin`` when using ``state=present
force=true``, and fix potential quoting errors when invoking ``kibana`` (https://github.com/ansible-collections/community.general/pull/2143).
- module_helper module utils - fixed decorator ``cause_changes`` (https://github.com/ansible-collections/community.general/pull/2203).
- nmap inventory plugin - fix cache and constructed group support (https://github.com/ansible-collections/community.general/issues/2242).
- pkgutil - fixed calls to ``list.extend()`` (https://github.com/ansible-collections/community.general/pull/2161).
- terraform - fix issue that cause the destroy to fail because from Terraform
0.15 on, the ``terraform destroy -force`` option is replaced with ``terraform
destroy -auto-approve`` (https://github.com/ansible-collections/community.general/issues/2247).
- terraform - fix issue that cause the execution fail because from Terraform
0.15 on, the ``-var`` and ``-var-file`` options are no longer available on
``terraform validate`` (https://github.com/ansible-collections/community.general/pull/2246).
- terraform - remove uses of ``use_unsafe_shell=True`` (https://github.com/ansible-collections/community.general/pull/2246).
- vmadm - correct type of list elements in ``resolvers`` parameter (https://github.com/ansible-collections/community.general/issues/2135).
- xfconf - module was not honoring check mode when ``state`` was ``absent``
(https://github.com/ansible-collections/community.general/pull/2185).
- zypper, zypper_repository - respect ``PATH`` environment variable when resolving
zypper executable path (https://github.com/ansible-collections/community.general/pull/2094).
minor_changes:
- atomic_container - using ``get_bin_path()`` before calling ``run_command()``
(https://github.com/ansible-collections/community.general/pull/2144).
- atomic_host - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
- atomic_image - using ``get_bin_path()`` before calling ``run_command()`` (https://github.com/ansible-collections/community.general/pull/2144).
- beadm - minor refactor converting multiple statements to a single list literal
(https://github.com/ansible-collections/community.general/pull/2160).
- bitbucket_pipeline_variable - removed unreachable code (https://github.com/ansible-collections/community.general/pull/2157).
- hiera lookup - minor refactor converting multiple statements to a single list
literal (https://github.com/ansible-collections/community.general/pull/2160).
- ipwcli_dns - minor refactor converting multiple statements to a single list
literal (https://github.com/ansible-collections/community.general/pull/2160).
- known_hosts module utils - minor refactor converting multiple statements to
a single list literal (https://github.com/ansible-collections/community.general/pull/2160).
- nictagadm - minor refactor converting multiple statements to a single list
literal (https://github.com/ansible-collections/community.general/pull/2160).
- ovh_ip_failover - removed unreachable code (https://github.com/ansible-collections/community.general/pull/2157).
- rhevm - removed unreachable code (https://github.com/ansible-collections/community.general/pull/2157).
- smartos_image_info - minor refactor converting multiple statements to a single
list literal (https://github.com/ansible-collections/community.general/pull/2160).
- svr4pkg - minor refactor converting multiple statements to a single list literal
(https://github.com/ansible-collections/community.general/pull/2160).
- xattr - minor refactor converting multiple statements to a single list literal
(https://github.com/ansible-collections/community.general/pull/2160).
- zfs_facts - minor refactor converting multiple statements to a single list
literal (https://github.com/ansible-collections/community.general/pull/2160).
- zpool_facts - minor refactor converting multiple statements to a single list
literal (https://github.com/ansible-collections/community.general/pull/2160).
release_summary: Last regular bugfix release. There will only be new bugfix
releases for security fixes and major bugfixes.
security_fixes:
- java_keystore - pass secret to keytool through an environment variable to
not expose it as a commandline argument (https://github.com/ansible-collections/community.general/issues/1668).
fragments:
- 1.3.10.yml
- 1993-haproxy-fix-draining.yml
- 2094-bugfix-respect-PATH-env-variable-in-zypper-modules.yaml
- 2135-vmadm-resolvers-type-fix.yml
- 2139-dimensiondata_network-str-format.yml
- 2143-kibana_plugin-fixed-function-calls.yml
- 2144-atomic_get_bin_path.yml
- 2157-unreachable-code.yml
- 2159-ipa-user-sshpubkey-multi-word-comments.yaml
- 2160-list-literals.yml
- 2161-pkgutil-list-extend.yml
- 2163-java_keystore_1667_improve_temp_files_storage.yml
- 2177-java_keystore_1668_dont_expose_secrets_on_cmdline.yml
- 2183-java_keystore_improve_error_handling.yml
- 2185-xfconf-absent-check-mode.yml
- 2203-modhelper-cause-changes-deco.yml
- 2246-terraform.yaml
- 2282-nmap-fix-cache-support.yml
- 2329-hiera-lookup-plugin-return-type.yaml
- 2340-jenkins_plugin-py2.yml
- allow_funcd_to_load.yml
release_date: '2021-04-26'
1.3.11:
changes:
bugfixes:
- ovirt* modules - remove bad unnecessary import for current ansible-core development
version (https://github.com/ansible-collections/community.general/pull/2381).
release_summary: Maintenance release.
fragments:
- 1.3.11.yml
- ovirt-fixup.yml
release_date: '2021-06-28'
1.3.12:
changes:
bugfixes:
- ali_instance_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- docker_stack_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3101).
- docker_stack_task_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3101).
- gcpubsub_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3101).
- gluster_heal_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- idrac_redfish_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- memset_memstore_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- memset_server_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- ome_device_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- oneview_datacenter_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_enclosure_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_ethernet_network_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_fc_network_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_fcoe_network_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_logical_interconnect_group_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_network_set_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- oneview_san_manager_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- ovirt_affinity_label_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_api_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_cluster_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_datacenter_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_disk_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_event_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_external_provider_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_group_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_host_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_host_storage_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_network_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_nic_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_permission_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_quota_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_scheduling_policy_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_snapshot_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_storage_domain_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_storage_template_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_storage_vm_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_tag_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_template_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_user_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_vm_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- ovirt_vmpool_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- purefa_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3095).
- rax_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- redfish_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- smartos_image_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- snmp_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_aaa_group_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_ca_host_key_cert_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_network_interface_address_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_proxy_frontend_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- utm_proxy_location_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- xenserver_facts - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
- xfconf_info - added support to check mode (https://github.com/ansible-collections/community.general/pull/3084).
release_summary: Fix check mode support for ``_info`` and ``_facts`` modules.
fragments:
- 1.3.12.yml
- 3084-info-checkmode.yaml
release_date: '2021-08-31'
1.3.13:
changes:
major_changes:
- The community.general 1.x.y release stream will be **End of Life** on 2022-05-23,
which coincides with the latest day that community.general 5.0.0 must be released
(see `the Roadmap for Ansible 6 <https://github.com/ansible/ansible/blob/devel/docs/docsite/rst/roadmap/COLLECTIONS_6.rst#release-schedule>`_).
At this point, community.general 1.0.0 has been released almost two years
ago. It received new features for half a year, bugfixes for another half a
year, and has only been receiving major bugfixes or security fixes until then.
Thank you very much to everyone who contributed to the 1.x.y releases!
release_summary: Announcement release.
fragments:
- 1.3.13.yml
- eol.yml
release_date: '2022-01-31'
1.3.14:
changes:
major_changes:
- The community.general 1.x.y release stream is now effectively **End of Life**.
No more releases will be made, and regular CI runs will stop.
release_summary: 'Final maintenance release of community.general major version
1.
'
fragments:
- 1.3.14.yml
release_date: '2022-05-16'
1.3.2:
changes:
bugfixes:
- docker_image - if ``push=true`` is used with ``repository``, and the image
does not need to be tagged, still push. This can happen if ``repository``
and ``name`` are equal (https://github.com/ansible-collections/community.docker/issues/52,
https://github.com/ansible-collections/community.docker/pull/53).
- docker_image - report error when loading a broken archive that contains no
image (https://github.com/ansible-collections/community.docker/issues/46,
https://github.com/ansible-collections/community.docker/pull/55).
- docker_image - report error when the loaded archive does not contain the specified
image (https://github.com/ansible-collections/community.docker/issues/41,
https://github.com/ansible-collections/community.docker/pull/55).
- jira - ``fetch`` and ``search`` no longer indicate that something changed
(https://github.com/ansible-collections/community.general/pull/1536).
- jira - ensured parameter ``issue`` is mandatory for operation ``transition``
(https://github.com/ansible-collections/community.general/pull/1536).
- jira - module no longer incorrectly reports change for information gathering
operations (https://github.com/ansible-collections/community.general/pull/1536).
- jira - replaced custom parameter validation with ``required_if`` (https://github.com/ansible-collections/community.general/pull/1536).
- launchd - handle deprecated APIs like ``readPlist`` and ``writePlist`` in
``plistlib`` (https://github.com/ansible-collections/community.general/issues/1552).
- ldap_search - the module no longer incorrectly reports a change (https://github.com/ansible-collections/community.general/issues/1040).
- make - fixed ``make`` parameter used for check mode when running a non-GNU
``make`` (https://github.com/ansible-collections/community.general/pull/1574).
- monit - add support for all monit service checks (https://github.com/ansible-collections/community.general/pull/1532).
- nios_member - fix Python 3 compatibility with nios api ``member_normalize``
function (https://github.com/ansible-collections/community.general/issues/1526).
- nmcli - remove ``bridge-slave`` from list of IP based connections ((https://github.com/ansible-collections/community.general/issues/1500).
- pamd - added logic to retain the comment line (https://github.com/ansible-collections/community.general/issues/1394).
- passwordstore lookup plugin - always use explicit ``show`` command to retrieve
password. This ensures compatibility with ``gopass`` and avoids problems when
password names equal ``pass`` commands (https://github.com/ansible-collections/community.general/pull/1493).
- rhn_channel - Python 2.7.5 fails if the certificate should not be validated.
Fixed this by creating the correct ``ssl_context`` (https://github.com/ansible-collections/community.general/pull/470).
- sendgrid - update documentation and warn user about sendgrid Python library
version (https://github.com/ansible-collections/community.general/issues/1553).
- syslogger - update ``syslog.openlog`` API call for older Python versions,
and improve error handling (https://github.com/ansible-collections/community.general/issues/953).
- yaml callback plugin - do not remove non-ASCII Unicode characters from multiline
string output (https://github.com/ansible-collections/community.general/issues/1519).
major_changes:
- 'For community.general 2.0.0, the Google modules will be moved to the `community.google
<https://galaxy.ansible.com/community/google>`_ collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer
do not have to change anything.
If you use Ansible 2.9 and explicitly use Google modules from this collection,
you will need to adjust your playbooks and roles to use FQCNs starting with
``community.google.`` instead of ``community.general.``,
for example replace ``community.general.gcpubsub`` in a task by ``community.google.gcpubsub``.
If you use ansible-base and installed ``community.general`` manually and rely
on the Google modules, you have to make sure to install the ``community.google``
collection as well.
If you are using FQCNs, for example ``community.general.gcpubsub`` instead
of ``gcpubsub``, it will continue working, but we still recommend to adjust
the FQCNs as well.
'
- 'For community.general 2.0.0, the OC connection plugin will be moved to the
`community.okd <https://galaxy.ansible.com/community/okd>`_ collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer
do not have to change anything.
If you use Ansible 2.9 and explicitly use OC connection plugin from this collection,
you will need to adjust your playbooks and roles to use FQCNs ``community.okd.oc``
instead of ``community.general.oc``.
If you use ansible-base and installed ``community.general`` manually and rely
on the OC connection plugin, you have to make sure to install the ``community.okd``
collection as well.
If you are using FQCNs, in other words ``community.general.oc`` instead of
``oc``, it will continue working, but we still recommend to adjust this FQCN
as well.
'
- 'For community.general 2.0.0, the hashi_vault lookup plugin will be moved
to the `community.hashi_vault <https://galaxy.ansible.com/community/hashi_vault>`_
collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer
do not have to change anything.
If you use Ansible 2.9 and explicitly use hashi_vault lookup plugin from this
collection, you will need to adjust your playbooks and roles to use FQCNs
``community.hashi_vault.hashi_vault`` instead of ``community.general.hashi_vault``.
If you use ansible-base and installed ``community.general`` manually and rely
on the hashi_vault lookup plugin, you have to make sure to install the ``community.hashi_vault``
collection as well.
If you are using FQCNs, in other words ``community.general.hashi_vault`` instead
of ``hashi_vault``, it will continue working, but we still recommend to adjust
this FQCN as well.
'
minor_changes:
- homebrew_cask - Homebrew will be deprecating use of ``brew cask`` commands
as of version 2.6.0, see https://brew.sh/2020/12/01/homebrew-2.6.0/. Added
logic to stop using ``brew cask`` for brew version >= 2.6.0 (https://github.com/ansible-collections/community.general/pull/1481).
- jira - added the traceback output to ``fail_json()`` calls deriving from exceptions
(https://github.com/ansible-collections/community.general/pull/1536).
release_summary: Regular bugfix release.
fragments:
- 1.3.2.yml
- 1040-ldap_search-changed-must-be-false.yaml
- 1394-pamd-removing-comments.yaml
- 1481-deprecated-brew-cask-command.yaml
- 1493-fix_passwordstore.py_to_be_compatible_with_gopass_versions.yml
- 1517-bridge-slave-from-list-of-ip-based-connections.yml
- 1522-yaml-callback-unicode.yml
- 1527-fix-nios-api-member-normalize.yaml
- 1532-monit-support-all-services.yaml
- 1552_launchd.yml
- 1553_sendgrid.yml
- 1574-make-question.yaml
- 470-spacewalk-legacy-python-certificate-validation.yaml
- 953_syslogger.yml
- community.docker-53-docker_image-tag-push.yml
- community.docker-55-docker_image-loading.yml
- google-migration.yml
- hashi_vault-migration.yml
- jira_improvements.yaml
- oc-migration.yml
release_date: '2021-01-04'
1.3.3:
changes:
bugfixes:
- terraform - fix ``init_reconfigure`` option for proper CLI args (https://github.com/ansible-collections/community.general/pull/1620).
major_changes:
- 'For community.general 2.0.0, the kubevirt modules will be moved to the `community.kubevirt
<https://galaxy.ansible.com/community/kubevirt>`_ collection.
A redirection will be inserted so that users using ansible-base 2.10 or newer
do not have to change anything.
If you use Ansible 2.9 and explicitly use kubevirt modules from this collection,
you will need to adjust your playbooks and roles to use FQCNs starting with
``community.kubevirt.`` instead of ``community.general.``,
for example replace ``community.general.kubevirt_vm`` in a task by ``community.kubevirt.kubevirt_vm``.
If you use ansible-base and installed ``community.general`` manually and rely
on the kubevirt modules, you have to make sure to install the ``community.kubevirt``
collection as well.
If you are using FQCNs, for example ``community.general.kubevirt_vm`` instead
of ``kubevirt_vm``, it will continue working, but we still recommend to adjust
the FQCNs as well.
'
release_summary: Bugfix/security release that addresses CVE-2021-20178.
security_fixes:
- snmp_facts - **CVE-2021-20178** - hide user sensitive information such as
``privkey`` and ``authkey`` from logging into the console (https://github.com/ansible-collections/community.general/pull/1621).
fragments:
- 1.3.3.yml
- 1620-terraform_init_reconfigure_fix.yml
- kubevirt-migration.yml
- snmp_facts.yml
release_date: '2021-01-13'
1.3.4:
changes:
bugfixes:
- npm - handle json decode exception while parsing command line output (https://github.com/ansible-collections/community.general/issues/1614).
release_summary: Bugfix/security release that addresses CVE-2021-20180.
security_fixes:
- bitbucket_pipeline_variable - **CVE-2021-20180** - hide user sensitive information
which are marked as ``secured`` from logging into the console (https://github.com/ansible-collections/community.general/pull/1635).
fragments:
- 1.3.4.yml
- 1614_npm.yml
- cve_bitbucket_pipeline_variable.yml
release_date: '2021-01-14'
1.3.5:
changes:
bugfixes:
- dnsmadeeasy - fix HTTP 400 errors when creating a TXT record (https://github.com/ansible-collections/community.general/issues/1237).
- docker_container - allow IPv6 zones (RFC 4007) in bind IPs (https://github.com/ansible-collections/community.docker/pull/66).
- docker_image - fix crash on loading images with versions of Docker SDK for
Python before 2.5.0 (https://github.com/ansible-collections/community.docker/issues/72,
https://github.com/ansible-collections/community.docker/pull/73).
- homebrew - add default search path for ``brew`` on Apple silicon hardware
(https://github.com/ansible-collections/community.general/pull/1679).
- homebrew_cask - add default search path for ``brew`` on Apple silicon hardware
(https://github.com/ansible-collections/community.general/pull/1679).
- homebrew_tap - add default search path for ``brew`` on Apple silicon hardware
(https://github.com/ansible-collections/community.general/pull/1679).
- lldp - use ``get_bin_path`` to locate the ``lldpctl`` executable (https://github.com/ansible-collections/community.general/pull/1643).
- onepassword lookup plugin - updated to support password items, which place
the password field directly in the payload's ``details`` attribute (https://github.com/ansible-collections/community.general/pull/1610).
- passwordstore lookup plugin - fix compatibility with gopass when used with
``create=true``. While pass returns 1 on a non-existent password, gopass returns
10, or 11, depending on whether a similar named password was stored. We now
just check standard output and that the return code is not zero (https://github.com/ansible-collections/community.general/pull/1589).
- terraform - improve result code checking when executing terraform commands
(https://github.com/ansible-collections/community.general/pull/1632).
release_summary: Regular bugfix release.
fragments:
- 1.3.5.yml
- 1589-passwordstore-fix-passwordstore.py-to-be-compatible-with-gopass.yaml
- 1610-bugfix-onepassword-lookup-plugin.yaml
- 1632-using_check_rc_in_terraform.yml
- 1654-dnsmadeeasy-http-400-fixes.yaml
- 1679-homebrew_search_path.yml
- community.docker-66-ipv6-zones.yml
- community.docker-73-docker_image-fix-old-docker-py-version.yml
- lldp-use-get_bin_path-to-locate-the-lldpctl-executable.yaml
release_date: '2021-01-26'
1.3.6:
changes:
breaking_changes:
- utm_proxy_auth_profile - the ``frontend_cookie_secret`` return value now contains
a placeholder string instead of the module's ``frontend_cookie_secret`` parameter
(https://github.com/ansible-collections/community.general/pull/1736).
bugfixes:
- docker connection plugin - fix Docker version parsing, as some docker versions
have a leading ``v`` in the output of the command ``docker version --format
"{{.Server.Version}}"`` (https://github.com/ansible-collections/community.docker/pull/76).
- filesystem - do not fail when ``resizefs=yes`` and ``fstype=xfs`` if there
is nothing to do, even if the filesystem is not mounted. This only covers
systems supporting access to unmounted XFS filesystems. Others will still
fail (https://github.com/ansible-collections/community.general/issues/1457,
https://github.com/ansible-collections/community.general/pull/1478).
- gitlab_user - make updates to the ``isadmin``, ``password`` and ``confirm``
options of an already existing GitLab user work (https://github.com/ansible-collections/community.general/pull/1724).
- parted - change the regex that decodes the partition size to better support
different formats that parted uses. Change the regex that validates parted's
version string (https://github.com/ansible-collections/community.general/pull/1695).
- redfish_info module, redfish_utils module utils - add ``Name`` and ``Id``
properties to output of Redfish inventory commands (https://github.com/ansible-collections/community.general/issues/1650).
- sensu-silence module - fix json parsing of sensu API responses on Python 3.5
(https://github.com/ansible-collections/community.general/pull/1703).
minor_changes:
- scaleway modules and inventory plugin - update regions and zones to add the
new ones (https://github.com/ansible-collections/community.general/pull/1690).
release_summary: Regular bugfix and security bugfix (potential information leaks
in multiple modules, CVE-2021-20191) release.
security_fixes:
- dnsmadeeasy - mark the ``account_key`` parameter as ``no_log`` to avoid leakage
of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- docker_swarm - enabled ``no_log`` for the option ``signing_ca_key`` to prevent
accidental disclosure (CVE-2021-20191, https://github.com/ansible-collections/community.general/pull/1728).
- gitlab_runner - mark the ``registration_token`` parameter as ``no_log`` to
avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- hwc_ecs_instance - mark the ``admin_pass`` parameter as ``no_log`` to avoid
leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- ibm_sa_host - mark the ``iscsi_chap_secret`` parameter as ``no_log`` to avoid
leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- keycloak_* modules - mark the ``auth_client_secret`` parameter as ``no_log``
to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- keycloak_client - mark the ``registration_access_token`` parameter as ``no_log``
to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- librato_annotation - mark the ``api_key`` parameter as ``no_log`` to avoid
leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- logentries_msg - mark the ``token`` parameter as ``no_log`` to avoid leakage
of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- module_utils/_netapp, na_ontap_gather_facts - enabled ``no_log`` for the options
``api_key`` and ``secret_key`` to prevent accidental disclosure (CVE-2021-20191,
https://github.com/ansible-collections/community.general/pull/1725).
- module_utils/identity/keycloak, keycloak_client, keycloak_clienttemplate,
keycloak_group - enabled ``no_log`` for the option ``auth_client_secret``
to prevent accidental disclosure (CVE-2021-20191, https://github.com/ansible-collections/community.general/pull/1725).
- nios_nsgroup - mark the ``tsig_key`` parameter as ``no_log`` to avoid leakage
of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- oneandone_firewall_policy, oneandone_load_balancer, oneandone_monitoring_policy,
oneandone_private_network, oneandone_public_ip - mark the ``auth_token`` parameter
as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- ovirt - mark the ``instance_key`` parameter as ``no_log`` to avoid leakage
of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- ovirt - mark the ``instance_rootpw`` parameter as ``no_log`` to avoid leakage
of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- pagerduty_alert - mark the ``api_key``, ``service_key`` and ``integration_key``
parameters as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- pagerduty_change - mark the ``integration_key`` parameter as ``no_log`` to
avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- pingdom - mark the ``key`` parameter as ``no_log`` to avoid leakage of secrets
(https://github.com/ansible-collections/community.general/pull/1736).
- pulp_repo - mark the ``feed_client_key`` parameter as ``no_log`` to avoid
leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- rax_clb_ssl - mark the ``private_key`` parameter as ``no_log`` to avoid leakage
of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- redfish_command - mark the ``update_creds.password`` parameter as ``no_log``
to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- rollbar_deployment - mark the ``token`` parameter as ``no_log`` to avoid leakage
of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- spotinst_aws_elastigroup - mark the ``multai_token`` and ``token`` parameters
as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/1736).
- stackdriver - mark the ``key`` parameter as ``no_log`` to avoid leakage of
secrets (https://github.com/ansible-collections/community.general/pull/1736).
- utm_proxy_auth_profile - enabled ``no_log`` for the option ``frontend_cookie_secret``
to prevent accidental disclosure (CVE-2021-20191, https://github.com/ansible-collections/community.general/pull/1725).
- utm_proxy_auth_profile - mark the ``frontend_cookie_secret`` parameter as
``no_log`` to avoid leakage of secrets. This causes the ``utm_proxy_auth_profile``
return value to no longer containing the correct value, but a placeholder
(https://github.com/ansible-collections/community.general/pull/1736).
fragments:
- 1.3.6.yml
- 1478-filesystem-fix-1457-resizefs-idempotency.yml
- 1690-scaleway-regions.yaml
- 1691-add-name-and-id-props-to-redfish-inventory-output.yml
- 1695-parted-updatedregex.yaml
- 1703-sensu_silence-fix_json_parsing.yml
- 1724-various-fixes-for-updating-existing-gitlab-user.yml
- CVE-2021-20191_no_log.yml
- CVE-2021-20191_no_log_docker.yml
- community.docker-76-leading-v-support-in-docker-version.yml
- no_log-fixes.yml
release_date: '2021-02-09'
1.3.7:
changes:
bugfixes:
- aerospike_migration - fix typo that caused ``migrate_tx_key`` instead of ``migrate_rx_key``
being used (https://github.com/ansible-collections/community.general/pull/1739).
- 'alternatives - internal refactoring: replaced uses of ``_`` with ``dummy``
(https://github.com/ansible-collections/community.general/pull/1819).'
- 'beadm - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- chef_databag lookup plugin - wrapped usages of ``dict.keys()`` in ``list()``
for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- cobbler_sync, cobbler_system - fix SSL/TLS certificate check when ``validate_certs``
set to ``false`` (https://github.com/ansible-collections/community.general/pull/1880).
- 'cronvar - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- 'dconf - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- deploy_helper - allow ``state=clean`` to be used without defining a ``release``
(https://github.com/ansible-collections/community.general/issues/1852).
- diy callback plugin - wrapped usages of ``dict.keys()`` in ``list()`` for
Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- elasticsearch_plugin - ``state`` parameter choices must use ``list()`` in
python3 (https://github.com/ansible-collections/community.general/pull/1830).
- 'filesystem - internal refactoring: replaced uses of ``_`` with ``dummy``
(https://github.com/ansible-collections/community.general/pull/1819).'
- filesystem - remove ``swap`` from list of FS supported by ``resizefs=yes``
(https://github.com/ansible-collections/community.general/issues/790).
- git_config - prevent ``run_command`` from expanding values (https://github.com/ansible-collections/community.general/issues/1776).
- gitlab_runner - parameter ``registration_token`` was required but is used
only when ``state`` is ``present`` (https://github.com/ansible-collections/community.general/issues/1714).
- 'hipchat - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- idrac_redfish_command - wrapped usages of ``dict.keys()`` in ``list()`` for
Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- idrac_redfish_config - wrapped usages of ``dict.keys()`` in ``list()`` for
Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- idrac_redfish_info - wrapped usages of ``dict.keys()`` in ``list()`` for Python
3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- imc_rest - explicitly logging out instead of registering the call in ```atexit```
(https://github.com/ansible-collections/community.general/issues/1735).
- infoblox inventory script - make sure that the script also works with Ansible
2.9, and returns a more helpful error when community.general is not installed
as part of Ansible 2.10/3 (https://github.com/ansible-collections/community.general/pull/1871).
- 'interfaces_file - internal refactoring: replaced uses of ``_`` with ``dummy``
(https://github.com/ansible-collections/community.general/pull/1819).'
- iso_extract - use proper alias deprecation mechanism for ``thirsty`` alias
of ``force`` (https://github.com/ansible-collections/community.general/pull/1830).
- 'java_cert - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- kibana_plugin - ``state`` parameter choices must use ``list()`` in python3
(https://github.com/ansible-collections/community.general/pull/1830).
- logstash_plugin - wrapped ``dict.keys()`` with ``list`` for use in ``choices``
setting (https://github.com/ansible-collections/community.general/pull/1830).
- 'lvg - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- 'lvol - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- 'lxc - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- 'lxc_container - internal refactoring: replaced uses of ``_`` with ``dummy``
(https://github.com/ansible-collections/community.general/pull/1819).'
- lxc_container - wrapped usages of ``dict.keys()`` in ``list()`` for Python
3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- lxd_container - wrapped usages of ``dict.keys()`` in ``list()`` for Python
3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- memcached cache plugin - wrapped usages of ``dict.keys()`` in ``list()`` for
Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- net_tools.nios.api module_utils - wrapped usages of ``dict.keys()`` in ``list()``
for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- nios_host_record - allow DNS Bypass for views other than default (https://github.com/ansible-collections/community.general/issues/1786).
- nomad_job_info - fix module failure when nomad client returns no jobs (https://github.com/ansible-collections/community.general/pull/1721).
- nsot inventory script - wrapped usages of ``dict.keys()`` in ``list()`` for
Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- oci_vcn - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility
(https://github.com/ansible-collections/community.general/pull/1861).
- oneandone_monitoring_policy - wrapped usages of ``dict.keys()`` in ``list()``
for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- 'parted - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- postgresql_info - fix crash caused by wrong PgSQL version parsing (https://github.com/ansible-collections/community.postgresql/issues/40).
- postgresql_ping - fix crash caused by wrong PgSQL version parsing (https://github.com/ansible-collections/community.postgresql/issues/40).
- postgresql_query - fix datetime.timedelta type handling (https://github.com/ansible-collections/community.postgresql/issues/47).
- postgresql_query - fix decimal handling (https://github.com/ansible-collections/community.postgresql/issues/45).
- postgresql_set - fails in check_mode on non-numeric values containing ``B``
(https://github.com/ansible-collections/community.postgresql/issues/48).
- postgresql_set - return a message instead of traceback when a passed parameter
has not been found (https://github.com/ansible-collections/community.postgresql/issues/41).
- proxmox* modules - refactored some parameter validation code into use of ``env_fallback``,
``required_if``, ``required_together``, ``required_one_of`` (https://github.com/ansible-collections/community.general/pull/1765).
- proxmox_kvm - do not add ``args`` if ``proxmox_default_behavior`` is set to
no_defaults (https://github.com/ansible-collections/community.general/issues/1641).
- proxmox_kvm - fix parameter ``vmid`` passed twice to ``exit_json`` while creating
a virtual machine without cloning (https://github.com/ansible-collections/community.general/issues/1875,
https://github.com/ansible-collections/community.general/pull/1895).
- proxmox_kvm - fix undefined local variable ``status`` when the parameter ``state``
is either ``stopped``, ``started``, ``restarted`` or ``absent`` (https://github.com/ansible-collections/community.general/pull/1847).
- proxmox_kvm - stop implicitly adding ``force`` equal to ``false``. Proxmox
API requires not implemented parameters otherwise, and assumes ``force`` to
be ``false`` by default anyways (https://github.com/ansible-collections/community.general/pull/1783).
- redfish_command - wrapped usages of ``dict.keys()`` in ``list()`` for Python
3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- redfish_config - wrapped usages of ``dict.keys()`` in ``list()`` for Python
3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- redhat_subscription - ``mutually_exclusive`` was referring to parameter alias
instead of name (https://github.com/ansible-collections/community.general/pull/1795).
- redhat_subscription - wrapped usages of ``dict.keys()`` in ``list()`` for
Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- redis cache plugin - wrapped usages of ``keys()`` in ``list()`` for Python
3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- riak - parameters ``wait_for_handoffs`` and ``wait_for_ring`` are ``int``
but the default value was ``false`` (https://github.com/ansible-collections/community.general/pull/1830).
- 'rundeck_acl_policy - internal refactoring: replaced uses of ``_`` with ``dummy``
(https://github.com/ansible-collections/community.general/pull/1819).'
- runit - removed unused code, and passing command as ``list`` instead of ``str``
to ``run_command()`` (https://github.com/ansible-collections/community.general/pull/1830).
- selective callback plugin - adjust import so that the plugin also works with
ansible-core 2.11 (https://github.com/ansible-collections/community.general/pull/1807).
- selective callback plugin - wrapped usages of ``dict.keys()`` in ``list()``
for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- sensu_check - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3
compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- spotinst_aws_elastigroup - wrapped usages of ``dict.keys()`` in ``list()``
for Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- 'statusio_maintenance - internal refactoring: replaced uses of ``_`` with
``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- 'timezone - internal refactoring: replaced uses of ``_`` with ``dummy`` (https://github.com/ansible-collections/community.general/pull/1819).'
- utm_utils module_utils - wrapped usages of ``dict.keys()`` in ``list()`` for
Python 3 compatibility (https://github.com/ansible-collections/community.general/pull/1861).
- vdo - wrapped usages of ``dict.keys()`` in ``list()`` for Python 3 compatibility
(https://github.com/ansible-collections/community.general/pull/1861).
- zfs_delegate_admin - the elements of ``users``, ``groups`` and ``permissions``
are now enforced to be strings (https://github.com/ansible-collections/community.general/pull/1766).
minor_changes:
- clc_* modules - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1771).
- dnsimple - elements of list parameters ``record_ids`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- gitlab_runner - elements of list parameters ``tag_list`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- keycloak_client - elements of list parameters ``default_roles``, ``redirect_uris``,
``web_origins`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- librato_annotation - elements of list parameters ``links`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- lxd_container - elements of list parameter ``profiles`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- mail - elements of list parameters ``to``, ``cc``, ``bcc``, ``attach``, ``headers``
are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- na_ontap_gather_facts - elements of list parameters ``gather_subset`` are
now validated (https://github.com/ansible-collections/community.general/pull/1795).
- nexmo - elements of list parameters ``dest`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- nsupdate - elements of list parameters ``value`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- omapi_host - elements of list parameters ``statements`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- onepassword_info - elements of list parameters ``search_terms`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- packet_device - elements of list parameters ``device_ids``, ``hostnames``
are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- pagerduty - elements of list parameters ``service`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- plugins/module_utils/oracle/oci_utils.py - elements of list parameter ``key_by``
are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- proxmox_kvm module - actually implemented ``vmid`` and ``status`` return values.
Updated documentation to reflect current situation (https://github.com/ansible-collections/community.general/issues/1410,
https://github.com/ansible-collections/community.general/pull/1715).
- pubnub_blocks - elements of list parameters ``event_handlers`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- redfish modules - explicitly setting lists' elements to ``str`` (https://github.com/ansible-collections/community.general/pull/1761).
- redhat_subscription - elements of list parameters ``pool_ids``, ``addons``
are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- rocketchat - elements of list parameters ``attachments`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- sendgrid - elements of list parameters ``to_addresses``, ``cc``, ``bcc``,
``attachments`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- sl_vm - elements of list parameters ``disks``, ``ssh_keys`` are now validated
(https://github.com/ansible-collections/community.general/pull/1795).
- slack - elements of list parameters ``attachments`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- statusio_maintenance - elements of list parameters ``components``, ``containers``
are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- twilio - elements of list parameters ``to_numbers`` are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- vmadm - elements of list parameters ``disks``, ``nics``, ``resolvers``, ``filesystems``
are now validated (https://github.com/ansible-collections/community.general/pull/1795).
- xml - elements of list parameters ``add_children``, ``set_children`` are now
validated (https://github.com/ansible-collections/community.general/pull/1795).
release_summary: Regular maintenance and bugfix release.
fragments:
- 1-community-postgresql_backports.yml
- 1.3.7.yml
- 1714-gitlab_runner-required-reg-token.yml
- 1715-proxmox_kvm-add-vmid-to-returns.yml
- 1721-fix-nomad_job_info-no-jobs-failure.yml
- 1735-imc-sessions.yml
- 1740-aerospike_migration.yml
- 1753-document-fstypes-supported-by-resizefs.yml
- 1761-redfish-tidy-up-validation.yml
- 1765-proxmox-params.yml
- 1766-zfs-fixed-sanity.yml
- 1771-centurylink-validation-elements.yml
- 1776-git_config-tilde_value.yml
- 1783-proxmox-kvm-fix-args-500-error.yaml
- 1788-ease-nios_host_record-dns-bypass-check.yml
- 1795-list-elements-batch1.yml
- 1819-tidyup-pylint-blacklistnames.yml
- 1830-valmod_docmissingtype_batch1.yml
- 1847-proxmox-kvm-fix-status.yml
- 1852-deploy-helper-fix-state-is-clean-without-release.yaml
- 1861-python3-keys.yml
- 1871-infoblox-inventory.yml
- 1880-fix_cobbler_system_ssl.yml
- 1895-proxmox-kvm-fix-issue-1875.yml
- selective-core-2.11.yml
release_date: '2021-02-25'
1.3.8:
changes:
breaking_changes:
- docker_swarm - if ``join_token`` is specified, a returned join token with
the same value will be replaced by ``VALUE_SPECIFIED_IN_NO_LOG_PARAMETER``.
Make sure that you do not blindly use the join tokens from the return value
of this module when the module is invoked with ``join_token`` specified! This
breaking change appears in a minor release since it is necessary to fix a
security issue (https://github.com/ansible-collections/community.docker/pull/103).
bugfixes:
- Mark various module options with ``no_log=False`` which have a name that potentially
could leak secrets, but which do not (https://github.com/ansible-collections/community.general/pull/2001).
- bigpanda - actually use the ``deployment_message`` option (https://github.com/ansible-collections/community.general/pull/1928).
- cloudforms inventory - fixed issue that non-existing (archived) VMs were synced
(https://github.com/ansible-collections/community.general/pull/720).
- docker_container - fix healthcheck disabling idempotency issue with strict
comparison (https://github.com/ansible-collections/community.docker/issues/85).
- docker_image - prevent module failure when removing image that is removed
between inspection and removal (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image - prevent module failure when removing non-existant image by
ID (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image_info - prevent module failure when image vanishes between listing
and inspection (https://github.com/ansible-collections/community.docker/pull/87).
- docker_image_info - prevent module failure when querying non-existant image
by ID (https://github.com/ansible-collections/community.docker/pull/87).
- nmcli - ensure the ``slave-type`` option is passed to ``nmcli`` for type ``bond-slave``
(https://github.com/ansible-collections/community.general/pull/1882).
- proxmox - removed requirement that root password is provided when containter
state is ``present`` (https://github.com/ansible-collections/community.general/pull/1999).
- proxmox inventory - added handling of extra trailing slashes in the URL (https://github.com/ansible-collections/community.general/pull/1914).
- proxmox inventory - exclude qemu templates from inclusion to the inventory
via pools (https://github.com/ansible-collections/community.general/issues/1986,
https://github.com/ansible-collections/community.general/pull/1991).
- xfs_quota - the feedback for initializing project quota using xfs_quota binary
from ``xfsprogs`` has changed since the version it was written for (https://github.com/ansible-collections/community.general/pull/1596).
- zfs - some ZFS properties could be passed when the dataset/volume did not
exist, but would fail if the dataset already existed, even if the property
matched what was specified in the ansible task (https://github.com/ansible-collections/community.general/issues/868,
https://github.com/ansible-collections/community.general/pull/1833).
minor_changes:
- bundler - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- consul - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- consul_acl - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- consul_session - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- datadog_monitor - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_firewall_policy - elements of list parameters are now validated
(https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_load_balancer - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_monitoring_policy - elements of list parameters are now validated
(https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_private_network - elements of list parameters are now validated
(https://github.com/ansible-collections/community.general/pull/1885).
- oneandone_server - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- profitbricks - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- profitbricks_volume - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- sensu_check - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- sensu_client - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- sensu_handler - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- webfaction_domain - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
- webfaction_site - elements of list parameters are now validated (https://github.com/ansible-collections/community.general/pull/1885).
release_summary: Security bugfix and regular bugfix release.
security_fixes:
- docker_swarm - the ``join_token`` option is now marked as ``no_log`` so it
is no longer written into logs (https://github.com/ansible-collections/community.docker/pull/103).
- na_cdot_user - mark the ``set_password`` parameter as ``no_log`` to avoid
leakage of secrets (https://github.com/ansible-collections/community.general/pull/2018).
- sf_account_manager - mark the ``initiator_secret`` and ``target_secret`` parameters
as ``no_log`` to avoid leakage of secrets (https://github.com/ansible-collections/community.general/pull/2018).
fragments:
- 1.3.8.yml
- 1596-xfs_quota-feedback_on_projects_not_initialized_has_changed.yml
- 1833-zfs-creation-only-properties.yaml
- 1882-fix-nmcli-ensure-slave-type-for-bond-slave.yml
- 1885-sanity-check-fixes-batch3.yml
- 1914-add-sanitization-to-url.yml
- 1928-bigpanda-message.yml
- 1991-proxmox-inventory-fix-template-in-pool.yml
- 1999-proxmox-fix-issue-1955.yml
- 2001-no_log-false.yml
- 720-cloudforms_inventory.yml
- community.docker-103-docker_swarm-no_log.yml
- community.docker-87-docker_image-load-image-ids.yml
- community.docker-88-docker_container-healthcheck.yml
- missing-no_log-again.yml
release_date: '2021-03-15'
1.3.9:
changes:
bugfixes:
- nios* modules - fix modules to work with ansible-core 2.11 (https://github.com/ansible-collections/community.general/pull/2057).
- redfish_config module, redfish_utils module utils - fix IndexError in ``SetManagerNic``
command (https://github.com/ansible-collections/community.general/issues/1692).
- scaleway inventory plugin - fix pagination on scaleway inventory plugin (https://github.com/ansible-collections/community.general/pull/2036).
- stacki_host - replaced ``default`` to environment variables with ``fallback``
to them (https://github.com/ansible-collections/community.general/pull/2072).
minor_changes:
- Restrict dependency to community.kubernetes to < 2.0.0, since community.general
will no longer work with the latest git version of community.kubernetes (https://github.com/ansible-collections/community.general/pull/2087).
release_summary: Fixes compatibility issues with the latest ansible-core 2.11
beta, and some more bugs.
fragments:
- 1.3.9.yml
- 2036-scaleway-inventory.yml
- 2040-fix-index-error-in-redfish-set-manager-nic.yml
- 2057-nios-devel.yml
- 2072-stacki-host-params-fallback.yml
- 2087-restrict-kubernetes-dependency.yml
release_date: '2021-03-23'

View File

@@ -0,0 +1,2 @@
bugfixes:
- Include ``simplified_bsd.txt`` license file for various module utils, the ``lxca_common`` docs fragment, and the ``utm_utils`` unit tests.

73
commit-rights.md Normal file
View File

@@ -0,0 +1,73 @@
Committers Guidelines for community.general
===========================================
This document is based on the [Ansible committer guidelines](https://github.com/ansible/ansible/blob/b57444af14062ec96e0af75fdfc2098c74fe2d9a/docs/docsite/rst/community/committer_guidelines.rst) ([latest version](https://docs.ansible.com/ansible/devel/community/committer_guidelines.html)).
These are the guidelines for people with commit privileges on the Ansible Community General Collection GitHub repository. Please read the guidelines before you commit.
These guidelines apply to everyone. At the same time, this is NOT a process document. So just use good judgment. You have been given commit access because we trust your judgment.
That said, use the trust wisely.
If you abuse the trust and break components and builds, and so on, the trust level falls and you may be asked not to commit or you may lose your commit privileges.
Our workflow on GitHub
----------------------
As a committer, you may already know this, but our workflow forms a lot of our team policies. Please ensure you are aware of the following workflow steps:
* Fork the repository upon which you want to do some work to your own personal repository
* Work on the specific branch upon which you need to commit
* Create a Pull Request back to the collection repository and await reviews
* Adjust code as necessary based on the Comments provided
* Ask someone from the other committers to do a final review and merge
Sometimes, committers merge their own pull requests. This section is a set of guidelines. If you are changing a comma in a doc or making a very minor change, you can use your best judgement. This is another trust thing. The process is critical for any major change, but for little things or getting something done quickly, use your best judgement and make sure people on the team are aware of your work.
Roles
-----
* Release managers: Merge pull requests to `stable-X` branches, create tags to do releases.
* Committers: Fine to do PRs for most things, but we should have a timebox. Hanging PRs may merge on the judgement of these devs.
* Module maintainers: Module maintainers own specific modules and have indirect commit access through the current module PR mechanisms. This is primary [ansibullbot](https://github.com/ansibullbot)'s `shipit` mechanism.
General rules
-------------
Individuals with direct commit access to this collection repository are entrusted with powers that allow them to do a broad variety of things--probably more than we can write down. Rather than rules, treat these as general *guidelines*, individuals with this power are expected to use their best judgement.
* Do NOTs:
- Do not commit directly.
- Do not merge your own PRs. Someone else should have a chance to review and approve the PR merge. You have a small amount of leeway here for very minor changes.
- Do not forget about non-standard / alternate environments. Consider the alternatives. Yes, people have bad/unusual/strange environments (like binaries from multiple init systems installed), but they are the ones who need us the most.
- Do not drag your community team members down. Discuss the technical merits of any pull requests you review. Avoid negativity and personal comments. For more guidance on being a good community member, read the [Ansible Community Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html).
- Do not forget about the maintenance burden. High-maintenance features may not be worth adding.
- Do not break playbooks. Always keep backwards compatibility in mind.
- Do not forget to keep it simple. Complexity breeds all kinds of problems.
- Do not merge to branches other than `main`, especially not to `stable-X`, if you do not have explicit permission to do so.
- Do not create tags. Tags are used in the release process, and should only be created by the people responsible for managing the stable branches.
* Do:
- Squash, avoid merges whenever possible, use GitHub's squash commits or cherry pick if needed (bisect thanks you).
- Be active. Committers who have no activity on the project (through merges, triage, commits, and so on) will have their permissions suspended.
- Consider backwards compatibility (goes back to "do not break existing playbooks").
- Write tests. PRs with tests are looked at with more priority than PRs without tests that should have them included. While not all changes require tests, be sure to add them for bug fixes or functionality changes.
- Discuss with other committers, specially when you are unsure of something.
- Document! If your PR is a new feature or a change to behavior, make sure you've updated all associated documentation or have notified the right people to do so.
- Consider scope, sometimes a fix can be generalized.
- Keep it simple, then things are maintainable, debuggable and intelligible.
Committers are expected to continue to follow the same community and contribution guidelines followed by the rest of the Ansible community.
People
------
Individuals who have been asked to become a part of this group have generally been contributing in significant ways to the community.general collection for some time. Should they agree, they are requested to add their names and GitHub IDs to this file, in the section below, through a pull request. Doing so indicates that these individuals agree to act in the ways that their fellow committers trust that they will act.
| Name | GitHub ID | IRC Nick | Other |
| ------------------- | -------------------- | ------------------ | -------------------- |
| Alexei Znamensky | russoz | russoz | |
| Andrew Klychkov | andersson007 | andersson007_ | |
| Felix Fontein | felixfontein | felixfontein | |
| John R Barker | gundalow | gundalow | |

View File

@@ -1,6 +1,6 @@
namespace: community namespace: community
name: general name: general
version: 1.3.1 version: 1.3.14
readme: README.md readme: README.md
authors: authors:
- Ansible (https://github.com/ansible) - Ansible (https://github.com/ansible)
@@ -10,7 +10,7 @@ tags: [community]
# NOTE: No more dependencies can be added to this list # NOTE: No more dependencies can be added to this list
dependencies: dependencies:
ansible.netcommon: '>=1.0.0' ansible.netcommon: '>=1.0.0'
community.kubernetes: '>=1.0.0' community.kubernetes: '>=1.0.0,<2.0.0'
google.cloud: '>=1.0.0' google.cloud: '>=1.0.0'
repository: https://github.com/ansible-collections/community.general repository: https://github.com/ansible-collections/community.general
documentation: https://docs.ansible.com/ansible/latest/collections/community/general/ documentation: https://docs.ansible.com/ansible/latest/collections/community/general/

View File

@@ -161,7 +161,7 @@ class CacheModuleKeys(MutableSet):
self._cache.set(self.PREFIX, self._keyset) self._cache.set(self.PREFIX, self._keyset)
def remove_by_timerange(self, s_min, s_max): def remove_by_timerange(self, s_min, s_max):
for k in self._keyset.keys(): for k in list(self._keyset.keys()):
t = self._keyset[k] t = self._keyset[k]
if s_min < t < s_max: if s_min < t < s_max:
del self._keyset[k] del self._keyset[k]

View File

@@ -216,14 +216,12 @@ class CacheModule(BaseCacheModule):
self._db.zrem(self._keys_set, key) self._db.zrem(self._keys_set, key)
def flush(self): def flush(self):
for key in self.keys(): for key in list(self.keys()):
self.delete(key) self.delete(key)
def copy(self): def copy(self):
# TODO: there is probably a better way to do this in redis # TODO: there is probably a better way to do this in redis
ret = dict() ret = dict([(k, self.get(k)) for k in self.keys()])
for key in self.keys():
ret[key] = self.get(key)
return ret return ret
def __getstate__(self): def __getstate__(self):

View File

@@ -1013,7 +1013,7 @@ class CallbackModule(Default):
for attr in _stats_attributes: for attr in _stats_attributes:
_ret[self.DIY_NS]['stats'].update({attr: _get_value(obj=stats, attr=attr)}) _ret[self.DIY_NS]['stats'].update({attr: _get_value(obj=stats, attr=attr)})
_ret[self.DIY_NS].update({'top_level_var_names': _ret.keys()}) _ret[self.DIY_NS].update({'top_level_var_names': list(_ret.keys())})
return _ret return _ret

View File

@@ -173,8 +173,7 @@ class CallbackModule(CallbackBase):
# Displays info about playbook being started by a person on an # Displays info about playbook being started by a person on an
# inventory, as well as Tags, Skip Tags and Limits # inventory, as well as Tags, Skip Tags and Limits
if not self.printed_playbook: if not self.printed_playbook:
self.playbook_name, _ = os.path.splitext( self.playbook_name, dummy = os.path.splitext(os.path.basename(self.play.playbook.filename))
os.path.basename(self.play.playbook.filename))
host_list = self.play.playbook.inventory.host_list host_list = self.play.playbook.inventory.host_list
inventory = os.path.basename(os.path.realpath(host_list)) inventory = os.path.basename(os.path.realpath(host_list))
self.send_msg("%s: Playbook initiated by %s against %s" % self.send_msg("%s: Playbook initiated by %s against %s" %

View File

@@ -41,7 +41,16 @@ import difflib
from ansible import constants as C from ansible import constants as C
from ansible.plugins.callback import CallbackBase from ansible.plugins.callback import CallbackBase
from ansible.module_utils._text import to_text from ansible.module_utils._text import to_text
from ansible.utils.color import codeCodes
try:
codeCodes = C.COLOR_CODES
except AttributeError:
# This constant was moved to ansible.constants in
# https://github.com/ansible/ansible/commit/1202dd000f10b0e8959019484f1c3b3f9628fc67
# (will be included in ansible-core 2.11.0). For older Ansible/ansible-base versions,
# we include from the original location.
from ansible.utils.color import codeCodes
DONT_COLORIZE = False DONT_COLORIZE = False
COLORS = { COLORS = {
@@ -58,7 +67,7 @@ COLORS = {
def dict_diff(prv, nxt): def dict_diff(prv, nxt):
"""Return a dict of keys that differ with another config object.""" """Return a dict of keys that differ with another config object."""
keys = set(prv.keys() + nxt.keys()) keys = set(list(prv.keys()) + list(nxt.keys()))
result = {} result = {}
for k in keys: for k in keys:
if prv.get(k) != nxt.get(k): if prv.get(k) != nxt.get(k):

View File

@@ -50,7 +50,7 @@ def my_represent_scalar(self, tag, value, style=None):
# ...no trailing space # ...no trailing space
value = value.rstrip() value = value.rstrip()
# ...and non-printable characters # ...and non-printable characters
value = ''.join(x for x in value if x in string.printable) value = ''.join(x for x in value if x in string.printable or ord(x) >= 0xA0)
# ...tabs prevent blocks from expanding # ...tabs prevent blocks from expanding
value = value.expandtabs() value = value.expandtabs()
# ...and odd bits of whitespace # ...and odd bits of whitespace

View File

@@ -116,7 +116,9 @@ class Connection(ConnectionBase):
@staticmethod @staticmethod
def _sanitize_version(version): def _sanitize_version(version):
return re.sub(u'[^0-9a-zA-Z.]', u'', version) version = re.sub(u'[^0-9a-zA-Z.]', u'', version)
version = re.sub(u'^v', u'', version)
return version
def _old_docker_version(self): def _old_docker_version(self):
cmd_args = [] cmd_args = []

View File

@@ -37,12 +37,13 @@ import tempfile
import shutil import shutil
from ansible.errors import AnsibleError from ansible.errors import AnsibleError
from ansible.plugins.connection import ConnectionBase
from ansible.utils.display import Display from ansible.utils.display import Display
display = Display() display = Display()
class Connection(object): class Connection(ConnectionBase):
''' Func-based connections ''' ''' Func-based connections '''
has_pipelining = False has_pipelining = False

View File

@@ -86,7 +86,7 @@ class Connection(ConnectionBase):
write_fds = [] write_fds = []
while len(read_fds) > 0 or len(write_fds) > 0: while len(read_fds) > 0 or len(write_fds) > 0:
try: try:
ready_reads, ready_writes, _ = select.select(read_fds, write_fds, []) ready_reads, ready_writes, dummy = select.select(read_fds, write_fds, [])
except select.error as e: except select.error as e:
if e.args[0] == errno.EINTR: if e.args[0] == errno.EINTR:
continue continue

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright (C) 2017 Lenovo, Inc. # Copyright (C) 2017 Lenovo, Inc.
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -13,12 +13,32 @@ class ModuleDocFragment(object):
DOCUMENTATION = r''' DOCUMENTATION = r'''
options: options:
config: config:
description: description:
- Path to a .json configuration file containing the OneView client configuration. - Path to a .json configuration file containing the OneView client configuration.
The configuration file is optional and when used should be present in the host running the ansible commands. The configuration file is optional and when used should be present in the host running the ansible commands.
If the file path is not provided, the configuration will be loaded from environment variables. If the file path is not provided, the configuration will be loaded from environment variables.
For links to example configuration files or how to use the environment variables verify the notes section. For links to example configuration files or how to use the environment variables verify the notes section.
type: path type: path
api_version:
description:
- OneView API Version.
type: int
image_streamer_hostname:
description:
- IP address or hostname for the HPE Image Streamer REST API.
type: str
hostname:
description:
- IP address or hostname for the appliance.
type: str
username:
description:
- Username for API authentication.
type: str
password:
description:
- Password for API authentication.
type: str
requirements: requirements:
- python >= 2.7.9 - python >= 2.7.9

View File

@@ -20,4 +20,5 @@ class ModuleDocFragment(object):
identify an instance of the resource. By default, all the attributes of a resource except identify an instance of the resource. By default, all the attributes of a resource except
I(freeform_tags) are used to uniquely identify a resource. I(freeform_tags) are used to uniquely identify a resource.
type: list type: list
elements: str
""" """

View File

@@ -32,12 +32,10 @@ DOCUMENTATION = r'''
description: Populate inventory with instances in this region. description: Populate inventory with instances in this region.
default: [] default: []
type: list type: list
required: false
types: types:
description: Populate inventory with instances with this type. description: Populate inventory with instances with this type.
default: [] default: []
type: list type: list
required: false
''' '''
EXAMPLES = r''' EXAMPLES = r'''

View File

@@ -72,6 +72,25 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
self._nmap = None self._nmap = None
super(InventoryModule, self).__init__() super(InventoryModule, self).__init__()
def _populate(self, hosts):
# Use constructed if applicable
strict = self.get_option('strict')
for host in hosts:
hostname = host['name']
self.inventory.add_host(hostname)
for var, value in host.items():
self.inventory.set_variable(hostname, var, value)
# Composed variables
self._set_composite_vars(self.get_option('compose'), host, hostname, strict=strict)
# Complex groups based on jinja2 conditionals, hosts that meet the conditional are added to group
self._add_host_to_composed_groups(self.get_option('groups'), host, hostname, strict=strict)
# Create groups based on variable values and add the corresponding hosts to it
self._add_host_to_keyed_groups(self.get_option('keyed_groups'), host, hostname, strict=strict)
def verify_file(self, path): def verify_file(self, path):
valid = False valid = False
@@ -83,7 +102,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
return valid return valid
def parse(self, inventory, loader, path, cache=False): def parse(self, inventory, loader, path, cache=True):
try: try:
self._nmap = get_bin_path('nmap') self._nmap = get_bin_path('nmap')
@@ -94,75 +113,101 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
self._read_config_data(path) self._read_config_data(path)
# setup command cache_key = self.get_cache_key(path)
cmd = [self._nmap]
if not self._options['ports']:
cmd.append('-sP')
if self._options['ipv4'] and not self._options['ipv6']: # cache may be True or False at this point to indicate if the inventory is being refreshed
cmd.append('-4') # get the user's cache option too to see if we should save the cache if it is changing
elif self._options['ipv6'] and not self._options['ipv4']: user_cache_setting = self.get_option('cache')
cmd.append('-6')
elif not self._options['ipv6'] and not self._options['ipv4']:
raise AnsibleParserError('One of ipv4 or ipv6 must be enabled for this plugin')
if self._options['exclude']: # read if the user has caching enabled and the cache isn't being refreshed
cmd.append('--exclude') attempt_to_read_cache = user_cache_setting and cache
cmd.append(','.join(self._options['exclude'])) # update if the user has caching enabled and the cache is being refreshed; update this value to True if the cache has expired below
cache_needs_update = user_cache_setting and not cache
cmd.append(self._options['address'])
try:
# execute
p = Popen(cmd, stdout=PIPE, stderr=PIPE)
stdout, stderr = p.communicate()
if p.returncode != 0:
raise AnsibleParserError('Failed to run nmap, rc=%s: %s' % (p.returncode, to_native(stderr)))
# parse results
host = None
ip = None
ports = []
if attempt_to_read_cache:
try: try:
t_stdout = to_text(stdout, errors='surrogate_or_strict') results = self._cache[cache_key]
except UnicodeError as e: except KeyError:
raise AnsibleParserError('Invalid (non unicode) input returned: %s' % to_native(e)) # This occurs if the cache_key is not in the cache or if the cache_key expired, so the cache needs to be updated
cache_needs_update = True
for line in t_stdout.splitlines(): if cache_needs_update:
hits = self.find_host.match(line) # setup command
if hits: cmd = [self._nmap]
if host is not None: if not self._options['ports']:
self.inventory.set_variable(host, 'ports', ports) cmd.append('-sP')
# if dns only shows arpa, just use ip instead as hostname if self._options['ipv4'] and not self._options['ipv6']:
if hits.group(1).endswith('.in-addr.arpa'): cmd.append('-4')
host = hits.group(2) elif self._options['ipv6'] and not self._options['ipv4']:
else: cmd.append('-6')
host = hits.group(1) elif not self._options['ipv6'] and not self._options['ipv4']:
raise AnsibleParserError('One of ipv4 or ipv6 must be enabled for this plugin')
# if no reverse dns exists, just use ip instead as hostname if self._options['exclude']:
if hits.group(2) is not None: cmd.append('--exclude')
ip = hits.group(2) cmd.append(','.join(self._options['exclude']))
else:
ip = hits.group(1)
if host is not None: cmd.append(self._options['address'])
# update inventory try:
self.inventory.add_host(host) # execute
self.inventory.set_variable(host, 'ip', ip) p = Popen(cmd, stdout=PIPE, stderr=PIPE)
ports = [] stdout, stderr = p.communicate()
continue if p.returncode != 0:
raise AnsibleParserError('Failed to run nmap, rc=%s: %s' % (p.returncode, to_native(stderr)))
host_ports = self.find_port.match(line) # parse results
if host is not None and host_ports: host = None
ports.append({'port': host_ports.group(1), 'protocol': host_ports.group(2), 'state': host_ports.group(3), 'service': host_ports.group(4)}) ip = None
continue ports = []
results = []
# TODO: parse more data, OS? try:
t_stdout = to_text(stdout, errors='surrogate_or_strict')
except UnicodeError as e:
raise AnsibleParserError('Invalid (non unicode) input returned: %s' % to_native(e))
# if any leftovers for line in t_stdout.splitlines():
if host and ports: hits = self.find_host.match(line)
self.inventory.set_variable(host, 'ports', ports) if hits:
if host is not None and ports:
results[-1]['ports'] = ports
except Exception as e: # if dns only shows arpa, just use ip instead as hostname
raise AnsibleParserError("failed to parse %s: %s " % (to_native(path), to_native(e))) if hits.group(1).endswith('.in-addr.arpa'):
host = hits.group(2)
else:
host = hits.group(1)
# if no reverse dns exists, just use ip instead as hostname
if hits.group(2) is not None:
ip = hits.group(2)
else:
ip = hits.group(1)
if host is not None:
# update inventory
results.append(dict())
results[-1]['name'] = host
results[-1]['ip'] = ip
ports = []
continue
host_ports = self.find_port.match(line)
if host is not None and host_ports:
ports.append({'port': host_ports.group(1),
'protocol': host_ports.group(2),
'state': host_ports.group(3),
'service': host_ports.group(4)})
continue
# if any leftovers
if host and ports:
results[-1]['ports'] = ports
except Exception as e:
raise AnsibleParserError("failed to parse %s: %s " % (to_native(path), to_native(e)))
self._cache[cache_key] = results
self._populate(results)

View File

@@ -2,18 +2,16 @@
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
DOCUMENTATION = ''' DOCUMENTATION = r'''
name: online name: online
plugin_type: inventory plugin_type: inventory
author: author:
- Remy Leone (@sieben) - Remy Leone (@sieben)
short_description: Online inventory source short_description: Scaleway (previously Online SAS or Online.net) inventory source
description: description:
- Get inventory hosts from Online - Get inventory hosts from Scaleway (previously Online SAS or Online.net).
options: options:
plugin: plugin:
description: token that ensures this is a source file for the 'online' plugin. description: token that ensures this is a source file for the 'online' plugin.
@@ -45,7 +43,7 @@ DOCUMENTATION = '''
- rpn - rpn
''' '''
EXAMPLES = ''' EXAMPLES = r'''
# online_inventory.yml file in YAML format # online_inventory.yml file in YAML format
# Example command line: ansible-inventory --list -i online_inventory.yml # Example command line: ansible-inventory --list -i online_inventory.yml

View File

@@ -212,10 +212,8 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
if config == 'rootfs' or config.startswith(('virtio', 'sata', 'ide', 'scsi')): if config == 'rootfs' or config.startswith(('virtio', 'sata', 'ide', 'scsi')):
value = ('disk_image=' + value) value = ('disk_image=' + value)
if isinstance(value, int) or ',' not in value: if not (isinstance(value, int) or ',' not in value):
value = value # split off strings with commas to a dict
# split off strings with commas to a dict
else:
# skip over any keys that cannot be processed # skip over any keys that cannot be processed
try: try:
value = dict(key.split("=") for key in value.split(",")) value = dict(key.split("=") for key in value.split(","))
@@ -327,7 +325,8 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
for member in self._get_members_per_pool(pool['poolid']): for member in self._get_members_per_pool(pool['poolid']):
if member.get('name'): if member.get('name'):
self.inventory.add_child(pool_group, member['name']) if not member.get('template'):
self.inventory.add_child(pool_group, member['name'])
def parse(self, inventory, loader, path, cache=True): def parse(self, inventory, loader, path, cache=True):
if not HAS_REQUESTS: if not HAS_REQUESTS:
@@ -340,7 +339,7 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
self._read_config_data(path) self._read_config_data(path)
# get connection host # get connection host
self.proxmox_url = self.get_option('url') self.proxmox_url = self.get_option('url').rstrip('/')
self.proxmox_user = self.get_option('user') self.proxmox_user = self.get_option('user')
self.proxmox_password = self.get_option('password') self.proxmox_password = self.get_option('password')
self.cache_key = self.get_cache_key(path) self.cache_key = self.get_cache_key(path)

View File

@@ -24,6 +24,8 @@ DOCUMENTATION = '''
default: default:
- ams1 - ams1
- par1 - par1
- par2
- waw1
tags: tags:
description: Filter results on a specific tag description: Filter results on a specific tag
type: list type: list

View File

@@ -11,6 +11,8 @@ DOCUMENTATION = '''
plugin_type: inventory plugin_type: inventory
short_description: StackPath Edge Computing inventory source short_description: StackPath Edge Computing inventory source
version_added: 1.2.0 version_added: 1.2.0
author:
- UNKNOWN (@shayrybak)
extends_documentation_fragment: extends_documentation_fragment:
- inventory_cache - inventory_cache
- constructed - constructed

View File

@@ -217,7 +217,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
yield host not in v yield host not in v
yield True yield True
return all([found_host for found_host in find_host(host, inventory)]) return all(find_host(host, inventory))
def verify_file(self, path): def verify_file(self, path):

View File

@@ -81,7 +81,7 @@ class LookupModule(LookupBase):
) )
if args: if args:
raise AnsibleError( raise AnsibleError(
"unrecognized arguments to with_sequence: %r" % args.keys() "unrecognized arguments to with_sequence: %r" % list(args.keys())
) )
def run(self, terms, variables=None, **kwargs): def run(self, terms, variables=None, **kwargs):

View File

@@ -31,7 +31,9 @@ EXAMPLES = r"""
- name: Template files (explicitly skip directories in order to use the 'src' attribute) - name: Template files (explicitly skip directories in order to use the 'src' attribute)
ansible.builtin.template: ansible.builtin.template:
src: '{{ item.src }}' src: '{{ item.src }}'
dest: /web/{{ item.path }} # Your template files should be stored with a .j2 file extension,
# but should not be deployed with it. splitext|first removes it.
dest: /web/{{ item.path | splitext | first }}
mode: '{{ item.mode }}' mode: '{{ item.mode }}'
with_community.general.filetree: web/ with_community.general.filetree: web/
when: item.state == 'file' when: item.state == 'file'
@@ -41,6 +43,7 @@ EXAMPLES = r"""
src: '{{ item.src }}' src: '{{ item.src }}'
dest: /web/{{ item.path }} dest: /web/{{ item.path }}
state: link state: link
follow: false # avoid corrupting target files if the link already exists
force: yes force: yes
mode: '{{ item.mode }}' mode: '{{ item.mode }}'
with_community.general.filetree: web/ with_community.general.filetree: web/

View File

@@ -63,6 +63,7 @@ import os
from ansible.plugins.lookup import LookupBase from ansible.plugins.lookup import LookupBase
from ansible.utils.cmd_functions import run_cmd from ansible.utils.cmd_functions import run_cmd
from ansible.module_utils._text import to_text
ANSIBLE_HIERA_CFG = os.getenv('ANSIBLE_HIERA_CFG', '/etc/hiera.yaml') ANSIBLE_HIERA_CFG = os.getenv('ANSIBLE_HIERA_CFG', '/etc/hiera.yaml')
ANSIBLE_HIERA_BIN = os.getenv('ANSIBLE_HIERA_BIN', '/usr/bin/hiera') ANSIBLE_HIERA_BIN = os.getenv('ANSIBLE_HIERA_BIN', '/usr/bin/hiera')
@@ -78,13 +79,11 @@ class Hiera(object):
rc, output, err = run_cmd("{0} -c {1} {2}".format( rc, output, err = run_cmd("{0} -c {1} {2}".format(
ANSIBLE_HIERA_BIN, ANSIBLE_HIERA_CFG, hiera_key[0])) ANSIBLE_HIERA_BIN, ANSIBLE_HIERA_CFG, hiera_key[0]))
return output.strip() return to_text(output.strip())
class LookupModule(LookupBase): class LookupModule(LookupBase):
def run(self, terms, variables=''): def run(self, terms, variables=''):
hiera = Hiera() hiera = Hiera()
ret = [] ret = [hiera.get(terms)]
ret.append(hiera.get(terms))
return ret return ret

View File

@@ -187,8 +187,63 @@ class OnePass(object):
return rc, out, err return rc, out, err
def _parse_field(self, data_json, field_name, section_title=None): def _parse_field(self, data_json, field_name, section_title=None):
"""
Retrieves the desired field from the `op` response payload
When the item is a `password` type, the password is a key within the `details` key:
$ op get item 'test item' | jq
{
[...]
"templateUuid": "005",
"details": {
"notesPlain": "",
"password": "foobar",
"passwordHistory": [],
"sections": [
{
"name": "linked items",
"title": "Related Items"
}
]
},
[...]
}
However, when the item is a `login` type, the password is within a fields array:
$ op get item 'test item' | jq
{
[...]
"details": {
"fields": [
{
"designation": "username",
"name": "username",
"type": "T",
"value": "foo"
},
{
"designation": "password",
"name": "password",
"type": "P",
"value": "bar"
}
],
[...]
},
[...]
"""
data = json.loads(data_json) data = json.loads(data_json)
if section_title is None: if section_title is None:
# https://github.com/ansible-collections/community.general/pull/1610:
# check the details dictionary for `field_name` and return it immediately if it exists
# when the entry is a "password" instead of a "login" item, the password field is a key
# in the `details` dictionary:
if field_name in data['details']:
return data['details'][field_name]
# when the field is not found above, iterate through the fields list in the object details
for field_data in data['details'].get('fields', []): for field_data in data['details'].get('fields', []):
if field_data.get('name', '').lower() == field_name.lower(): if field_data.get('name', '').lower() == field_name.lower():
return field_data.get('value', '') return field_data.get('value', '')

View File

@@ -204,7 +204,7 @@ class LookupModule(LookupBase):
def check_pass(self): def check_pass(self):
try: try:
self.passoutput = to_text( self.passoutput = to_text(
check_output2(["pass", self.passname], env=self.env), check_output2(["pass", "show", self.passname], env=self.env),
errors='surrogate_or_strict' errors='surrogate_or_strict'
).splitlines() ).splitlines()
self.password = self.passoutput[0] self.password = self.passoutput[0]
@@ -214,7 +214,7 @@ class LookupModule(LookupBase):
name, value = line.split(':', 1) name, value = line.split(':', 1)
self.passdict[name.strip()] = value.strip() self.passdict[name.strip()] = value.strip()
except (subprocess.CalledProcessError) as e: except (subprocess.CalledProcessError) as e:
if e.returncode == 1 and 'not in the password store' in e.output: if e.returncode != 0 and 'not in the password store' in e.output:
# if pass returns 1 and return string contains 'is not in the password store.' # if pass returns 1 and return string contains 'is not in the password store.'
# We need to determine if this is valid or Error. # We need to determine if this is valid or Error.
if not self.paramvals['create']: if not self.paramvals['create']:

View File

@@ -75,7 +75,34 @@ EXAMPLES = r"""
vars: vars:
secret: "{{ lookup('community.general.tss', 1) }}" secret: "{{ lookup('community.general.tss', 1) }}"
tasks: tasks:
- ansible.builtin.debug: msg="the password is {{ (secret['items'] | items2dict(key_name='slug', value_name='itemValue'))['password'] }}" - ansible.builtin.debug:
msg: >
the password is {{
(secret['items']
| items2dict(key_name='slug',
value_name='itemValue'))['password']
}}
- hosts: localhost
vars:
secret: >-
{{
lookup(
'community.general.tss',
102,
base_url='https://secretserver.domain.com/SecretServer/',
username='user.name',
password='password'
)
}}
tasks:
- ansible.builtin.debug:
msg: >
the password is {{
(secret['items']
| items2dict(key_name='slug',
value_name='itemValue'))['password']
}}
""" """
from ansible.errors import AnsibleError, AnsibleOptionsError from ansible.errors import AnsibleError, AnsibleOptionsError

View File

@@ -142,8 +142,8 @@ def aws_cvs_host_argument_spec():
return dict( return dict(
api_url=dict(required=True, type='str'), api_url=dict(required=True, type='str'),
validate_certs=dict(required=False, type='bool', default=True), validate_certs=dict(required=False, type='bool', default=True),
api_key=dict(required=True, type='str'), api_key=dict(required=True, type='str', no_log=True),
secret_key=dict(required=True, type='str') secret_key=dict(required=True, type='str', no_log=True)
) )

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c) 2017-present Alibaba Group Holding Limited. He Guimin <heguimin36@163.com> # Copyright (c) 2017-present Alibaba Group Holding Limited. He Guimin <heguimin36@163.com>
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -130,7 +130,7 @@ class CloudRetry(object):
try: try:
return f(*args, **kwargs) return f(*args, **kwargs)
except Exception as e: except Exception as e:
if isinstance(e, cls.base_class): if isinstance(e, cls.base_class): # pylint: disable=isinstance-second-argument-not-valid-type
response_code = cls.status_code_from_exception(e) response_code = cls.status_code_from_exception(e)
if cls.found(response_code, catch_extra_error_codes): if cls.found(response_code, catch_extra_error_codes):
msg = "{0}: Retrying in {1} seconds...".format(str(e), delay) msg = "{0}: Retrying in {1} seconds...".format(str(e), delay)

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c) 2014, Toshio Kuratomi <tkuratomi@ansible.com> # Copyright (c) 2014, Toshio Kuratomi <tkuratomi@ansible.com>
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -636,6 +636,9 @@ class AnsibleDockerClient(Client):
if len(images) == 1: if len(images) == 1:
try: try:
inspection = self.inspect_image(images[0]['Id']) inspection = self.inspect_image(images[0]['Id'])
except NotFound:
self.log("Image %s:%s not found." % (name, tag))
return None
except Exception as exc: except Exception as exc:
self.fail("Error inspecting image %s:%s - %s" % (name, tag, str(exc))) self.fail("Error inspecting image %s:%s - %s" % (name, tag, str(exc)))
return inspection return inspection
@@ -643,7 +646,7 @@ class AnsibleDockerClient(Client):
self.log("Image %s:%s not found." % (name, tag)) self.log("Image %s:%s not found." % (name, tag))
return None return None
def find_image_by_id(self, image_id): def find_image_by_id(self, image_id, accept_missing_image=False):
''' '''
Lookup an image (by ID) and return the inspection results. Lookup an image (by ID) and return the inspection results.
''' '''
@@ -653,6 +656,11 @@ class AnsibleDockerClient(Client):
self.log("Find image %s (by ID)" % image_id) self.log("Find image %s (by ID)" % image_id)
try: try:
inspection = self.inspect_image(image_id) inspection = self.inspect_image(image_id)
except NotFound as exc:
if not accept_missing_image:
self.fail("Error inspecting image ID %s - %s" % (image_id, str(exc)))
self.log("Image %s not found." % image_id)
return None
except Exception as exc: except Exception as exc:
self.fail("Error inspecting image ID %s - %s" % (image_id, str(exc))) self.fail("Error inspecting image ID %s - %s" % (image_id, str(exc)))
return inspection return inspection

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c), Franck Cuny <franck.cuny@gmail.com>, 2014 # Copyright (c), Franck Cuny <franck.cuny@gmail.com>, 2014
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c), Franck Cuny <franck.cuny@gmail.com>, 2014 # Copyright (c), Franck Cuny <franck.cuny@gmail.com>, 2014
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c), Franck Cuny <franck.cuny@gmail.com>, 2014 # Copyright (c), Franck Cuny <franck.cuny@gmail.com>, 2014
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -1,5 +1,5 @@
# Copyright: (c) 2018, Ansible Project # Copyright: (c) 2018, Ansible Project
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type

View File

@@ -8,7 +8,7 @@
# #
# Copyright (c), Felix Fontein <felix@fontein.de>, 2019 # Copyright (c), Felix Fontein <felix@fontein.de>, 2019
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type

View File

@@ -1,5 +1,5 @@
# Copyright (c), Google Inc, 2017 # Copyright (c), Google Inc, 2017
# Simplified BSD License (see licenses/simplified_bsd.txt or # Simplified BSD License (see simplified_bsd.txt or
# https://opensource.org/licenses/BSD-2-Clause) # https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)

View File

@@ -1,7 +1,7 @@
# Copyright (C) 2018 IBM CORPORATION # Copyright (C) 2018 IBM CORPORATION
# Author(s): Tzur Eliyahu <tzure@il.ibm.com> # Author(s): Tzur Eliyahu <tzure@il.ibm.com>
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type

View File

@@ -55,10 +55,10 @@ def keycloak_argument_spec():
:return: argument_spec dict :return: argument_spec dict
""" """
return dict( return dict(
auth_keycloak_url=dict(type='str', aliases=['url'], required=True), auth_keycloak_url=dict(type='str', aliases=['url'], required=True, no_log=False),
auth_client_id=dict(type='str', default='admin-cli'), auth_client_id=dict(type='str', default='admin-cli'),
auth_realm=dict(type='str', required=True), auth_realm=dict(type='str', required=True),
auth_client_secret=dict(type='str', default=None), auth_client_secret=dict(type='str', default=None, no_log=True),
auth_username=dict(type='str', aliases=['username'], required=True), auth_username=dict(type='str', aliases=['username'], required=True),
auth_password=dict(type='str', aliases=['password'], required=True, no_log=True), auth_password=dict(type='str', aliases=['password'], required=True, no_log=True),
validate_certs=dict(type='bool', default=True) validate_certs=dict(type='bool', default=True)

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright: (c) 2017, Ansible Project # Copyright: (c) 2017, Ansible Project
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type

View File

@@ -7,7 +7,7 @@
# #
# Copyright (c) 2016 Thomas Krahn (@Nosmoht) # Copyright (c) 2016 Thomas Krahn (@Nosmoht)
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c), Michael DeHaan <michael.dehaan@gmail.com>, 2012-2013 # Copyright (c), Michael DeHaan <michael.dehaan@gmail.com>, 2012-2013
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
@@ -87,11 +87,12 @@ def not_in_host_file(self, host):
user_host_file = "~/.ssh/known_hosts" user_host_file = "~/.ssh/known_hosts"
user_host_file = os.path.expanduser(user_host_file) user_host_file = os.path.expanduser(user_host_file)
host_file_list = [] host_file_list = [
host_file_list.append(user_host_file) user_host_file,
host_file_list.append("/etc/ssh/ssh_known_hosts") "/etc/ssh/ssh_known_hosts",
host_file_list.append("/etc/ssh/ssh_known_hosts2") "/etc/ssh/ssh_known_hosts2",
host_file_list.append("/etc/openssh/ssh_known_hosts") "/etc/openssh/ssh_known_hosts",
]
hfiles_not_found = 0 hfiles_not_found = 0
for hf in host_file_list: for hf in host_file_list:

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c), Luke Murphy @decentral1se # Copyright (c), Luke Murphy @decentral1se
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -8,7 +8,7 @@
# still belong to the author of the module, and may assign their own license # still belong to the author of the module, and may assign their own license
# to the complete work. # to the complete work.
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -7,7 +7,7 @@
# still belong to the author of the module, and may assign their own license # still belong to the author of the module, and may assign their own license
# to the complete work. # to the complete work.
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c) 2018, Simon Weald <ansible@simonweald.com> # Copyright (c) 2018, Simon Weald <ansible@simonweald.com>
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Copyright: (c) 2018, Ansible Project # Copyright: (c) 2018, Ansible Project
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
@@ -81,18 +81,27 @@ class ArgFormat(object):
return [str(p) for p in func(value)] return [str(p) for p in func(value)]
def cause_changes(func, on_success=True, on_failure=False): def cause_changes(on_success=None, on_failure=None):
@wraps(func)
def wrapper(self, *args, **kwargs): def deco(func):
try: if on_success is None and on_failure is None:
func(*args, **kwargs) return func
if on_success:
self.changed = True @wraps(func)
except Exception as e: def wrapper(*args, **kwargs):
if on_failure: try:
self.changed = True self = args[0]
raise func(*args, **kwargs)
return wrapper if on_success is not None:
self.changed = on_success
except Exception:
if on_failure is not None:
self.changed = on_failure
raise
return wrapper
return deco
def module_fails_on_exception(func): def module_fails_on_exception(func):
@@ -259,7 +268,7 @@ class CmdMixin(object):
def _calculate_args(self, extra_params=None, params=None): def _calculate_args(self, extra_params=None, params=None):
def add_arg_formatted_param(_cmd_args, arg_format, _value): def add_arg_formatted_param(_cmd_args, arg_format, _value):
args = [x for x in arg_format.to_text(_value)] args = list(arg_format.to_text(_value))
return _cmd_args + args return _cmd_args + args
def find_format(_param): def find_format(_param):

View File

@@ -6,7 +6,7 @@
# #
# (c) 2018 Red Hat Inc. # (c) 2018 Red Hat Inc.
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
@@ -18,6 +18,7 @@ from ansible.module_utils._text import to_native
from ansible.module_utils.six import iteritems from ansible.module_utils.six import iteritems
from ansible.module_utils._text import to_text from ansible.module_utils._text import to_text
from ansible.module_utils.basic import env_fallback from ansible.module_utils.basic import env_fallback
from ansible.module_utils.common.validation import check_type_dict
try: try:
from infoblox_client.connector import Connector from infoblox_client.connector import Connector
@@ -144,7 +145,7 @@ def member_normalize(member_spec):
'pre_provisioning', 'network_setting', 'v6_network_setting', 'pre_provisioning', 'network_setting', 'v6_network_setting',
'ha_port_setting', 'lan_port_setting', 'lan2_physical_setting', 'ha_port_setting', 'lan_port_setting', 'lan2_physical_setting',
'lan_ha_port_setting', 'mgmt_network_setting', 'v6_mgmt_network_setting'] 'lan_ha_port_setting', 'mgmt_network_setting', 'v6_mgmt_network_setting']
for key in member_spec.keys(): for key in list(member_spec.keys()):
if key in member_elements and member_spec[key] is not None: if key in member_elements and member_spec[key] is not None:
member_spec[key] = member_spec[key][0] member_spec[key] = member_spec[key][0]
if isinstance(member_spec[key], dict): if isinstance(member_spec[key], dict):
@@ -251,13 +252,10 @@ class WapiModule(WapiBase):
else: else:
proposed_object[key] = self.module.params[key] proposed_object[key] = self.module.params[key]
# If configure_by_dns is set to False, then delete the default dns set in the param else throw exception # If configure_by_dns is set to False and view is 'default', then delete the default dns
if not proposed_object.get('configure_for_dns') and proposed_object.get('view') == 'default'\ if not proposed_object.get('configure_for_dns') and proposed_object.get('view') == 'default'\
and ib_obj_type == NIOS_HOST_RECORD: and ib_obj_type == NIOS_HOST_RECORD:
del proposed_object['view'] del proposed_object['view']
elif not proposed_object.get('configure_for_dns') and proposed_object.get('view') != 'default'\
and ib_obj_type == NIOS_HOST_RECORD:
self.module.fail_json(msg='DNS Bypass is not allowed if DNS view is set other than \'default\'')
if ib_obj_ref: if ib_obj_ref:
if len(ib_obj_ref) > 1: if len(ib_obj_ref) > 1:
@@ -393,11 +391,11 @@ class WapiModule(WapiBase):
if 'ipv4addrs' in proposed_object: if 'ipv4addrs' in proposed_object:
if 'nios_next_ip' in proposed_object['ipv4addrs'][0]['ipv4addr']: if 'nios_next_ip' in proposed_object['ipv4addrs'][0]['ipv4addr']:
ip_range = self.module._check_type_dict(proposed_object['ipv4addrs'][0]['ipv4addr'])['nios_next_ip'] ip_range = check_type_dict(proposed_object['ipv4addrs'][0]['ipv4addr'])['nios_next_ip']
proposed_object['ipv4addrs'][0]['ipv4addr'] = NIOS_NEXT_AVAILABLE_IP + ':' + ip_range proposed_object['ipv4addrs'][0]['ipv4addr'] = NIOS_NEXT_AVAILABLE_IP + ':' + ip_range
elif 'ipv4addr' in proposed_object: elif 'ipv4addr' in proposed_object:
if 'nios_next_ip' in proposed_object['ipv4addr']: if 'nios_next_ip' in proposed_object['ipv4addr']:
ip_range = self.module._check_type_dict(proposed_object['ipv4addr'])['nios_next_ip'] ip_range = check_type_dict(proposed_object['ipv4addr'])['nios_next_ip']
proposed_object['ipv4addr'] = NIOS_NEXT_AVAILABLE_IP + ':' + ip_range proposed_object['ipv4addr'] = NIOS_NEXT_AVAILABLE_IP + ':' + ip_range
return proposed_object return proposed_object
@@ -479,7 +477,7 @@ class WapiModule(WapiBase):
if ('name' in obj_filter): if ('name' in obj_filter):
# gets and returns the current object based on name/old_name passed # gets and returns the current object based on name/old_name passed
try: try:
name_obj = self.module._check_type_dict(obj_filter['name']) name_obj = check_type_dict(obj_filter['name'])
old_name = name_obj['old_name'] old_name = name_obj['old_name']
new_name = name_obj['new_name'] new_name = name_obj['new_name']
except TypeError: except TypeError:
@@ -493,12 +491,12 @@ class WapiModule(WapiBase):
else: else:
test_obj_filter = dict([('name', old_name)]) test_obj_filter = dict([('name', old_name)])
# get the object reference # get the object reference
ib_obj = self.get_object(ib_obj_type, test_obj_filter, return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, test_obj_filter, return_fields=list(ib_spec.keys()))
if ib_obj: if ib_obj:
obj_filter['name'] = new_name obj_filter['name'] = new_name
else: else:
test_obj_filter['name'] = new_name test_obj_filter['name'] = new_name
ib_obj = self.get_object(ib_obj_type, test_obj_filter, return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, test_obj_filter, return_fields=list(ib_spec.keys()))
update = True update = True
return ib_obj, update, new_name return ib_obj, update, new_name
if (ib_obj_type == NIOS_HOST_RECORD): if (ib_obj_type == NIOS_HOST_RECORD):
@@ -515,7 +513,7 @@ class WapiModule(WapiBase):
test_obj_filter['name'] = test_obj_filter['name'].lower() test_obj_filter['name'] = test_obj_filter['name'].lower()
# resolves issue where multiple a_records with same name and different IP address # resolves issue where multiple a_records with same name and different IP address
try: try:
ipaddr_obj = self.module._check_type_dict(obj_filter['ipv4addr']) ipaddr_obj = check_type_dict(obj_filter['ipv4addr'])
ipaddr = ipaddr_obj['old_ipv4addr'] ipaddr = ipaddr_obj['old_ipv4addr']
except TypeError: except TypeError:
ipaddr = obj_filter['ipv4addr'] ipaddr = obj_filter['ipv4addr']
@@ -524,7 +522,7 @@ class WapiModule(WapiBase):
# resolves issue where multiple txt_records with same name and different text # resolves issue where multiple txt_records with same name and different text
test_obj_filter = obj_filter test_obj_filter = obj_filter
try: try:
text_obj = self.module._check_type_dict(obj_filter['text']) text_obj = check_type_dict(obj_filter['text'])
txt = text_obj['old_text'] txt = text_obj['old_text']
except TypeError: except TypeError:
txt = obj_filter['text'] txt = obj_filter['text']
@@ -532,32 +530,32 @@ class WapiModule(WapiBase):
# check if test_obj_filter is empty copy passed obj_filter # check if test_obj_filter is empty copy passed obj_filter
else: else:
test_obj_filter = obj_filter test_obj_filter = obj_filter
ib_obj = self.get_object(ib_obj_type, test_obj_filter.copy(), return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, test_obj_filter.copy(), return_fields=list(ib_spec.keys()))
elif (ib_obj_type == NIOS_A_RECORD): elif (ib_obj_type == NIOS_A_RECORD):
# resolves issue where multiple a_records with same name and different IP address # resolves issue where multiple a_records with same name and different IP address
test_obj_filter = obj_filter test_obj_filter = obj_filter
try: try:
ipaddr_obj = self.module._check_type_dict(obj_filter['ipv4addr']) ipaddr_obj = check_type_dict(obj_filter['ipv4addr'])
ipaddr = ipaddr_obj['old_ipv4addr'] ipaddr = ipaddr_obj['old_ipv4addr']
except TypeError: except TypeError:
ipaddr = obj_filter['ipv4addr'] ipaddr = obj_filter['ipv4addr']
test_obj_filter['ipv4addr'] = ipaddr test_obj_filter['ipv4addr'] = ipaddr
ib_obj = self.get_object(ib_obj_type, test_obj_filter.copy(), return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, test_obj_filter.copy(), return_fields=list(ib_spec.keys()))
elif (ib_obj_type == NIOS_TXT_RECORD): elif (ib_obj_type == NIOS_TXT_RECORD):
# resolves issue where multiple txt_records with same name and different text # resolves issue where multiple txt_records with same name and different text
test_obj_filter = obj_filter test_obj_filter = obj_filter
try: try:
text_obj = self.module._check_type_dict(obj_filter['text']) text_obj = check_type_dict(obj_filter['text'])
txt = text_obj['old_text'] txt = text_obj['old_text']
except TypeError: except TypeError:
txt = obj_filter['text'] txt = obj_filter['text']
test_obj_filter['text'] = txt test_obj_filter['text'] = txt
ib_obj = self.get_object(ib_obj_type, test_obj_filter.copy(), return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, test_obj_filter.copy(), return_fields=list(ib_spec.keys()))
elif (ib_obj_type == NIOS_ZONE): elif (ib_obj_type == NIOS_ZONE):
# del key 'restart_if_needed' as nios_zone get_object fails with the key present # del key 'restart_if_needed' as nios_zone get_object fails with the key present
temp = ib_spec['restart_if_needed'] temp = ib_spec['restart_if_needed']
del ib_spec['restart_if_needed'] del ib_spec['restart_if_needed']
ib_obj = self.get_object(ib_obj_type, obj_filter.copy(), return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, obj_filter.copy(), return_fields=list(ib_spec.keys()))
# reinstate restart_if_needed if ib_obj is none, meaning there's no existing nios_zone ref # reinstate restart_if_needed if ib_obj is none, meaning there's no existing nios_zone ref
if not ib_obj: if not ib_obj:
ib_spec['restart_if_needed'] = temp ib_spec['restart_if_needed'] = temp
@@ -565,12 +563,12 @@ class WapiModule(WapiBase):
# del key 'create_token' as nios_member get_object fails with the key present # del key 'create_token' as nios_member get_object fails with the key present
temp = ib_spec['create_token'] temp = ib_spec['create_token']
del ib_spec['create_token'] del ib_spec['create_token']
ib_obj = self.get_object(ib_obj_type, obj_filter.copy(), return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, obj_filter.copy(), return_fields=list(ib_spec.keys()))
if temp: if temp:
# reinstate 'create_token' key # reinstate 'create_token' key
ib_spec['create_token'] = temp ib_spec['create_token'] = temp
else: else:
ib_obj = self.get_object(ib_obj_type, obj_filter.copy(), return_fields=ib_spec.keys()) ib_obj = self.get_object(ib_obj_type, obj_filter.copy(), return_fields=list(ib_spec.keys()))
return ib_obj, update, new_name return ib_obj, update, new_name
def on_update(self, proposed_object, ib_spec): def on_update(self, proposed_object, ib_spec):

View File

@@ -4,7 +4,7 @@
# still belong to the author of the module, and may assign their own license # still belong to the author of the module, and may assign their own license
# to the complete work. # to the complete work.
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# Copyright (2016-2017) Hewlett Packard Enterprise Development LP # Copyright (2016-2017) Hewlett Packard Enterprise Development LP
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
@@ -201,7 +201,7 @@ class OneViewModuleBase(object):
resource_client = None resource_client = None
def __init__(self, additional_arg_spec=None, validate_etag_support=False): def __init__(self, additional_arg_spec=None, validate_etag_support=False, supports_check_mode=False):
""" """
OneViewModuleBase constructor. OneViewModuleBase constructor.
@@ -210,7 +210,7 @@ class OneViewModuleBase(object):
""" """
argument_spec = self._build_argument_spec(additional_arg_spec, validate_etag_support) argument_spec = self._build_argument_spec(additional_arg_spec, validate_etag_support)
self.module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=False) self.module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=supports_check_mode)
self._check_hpe_oneview_sdk() self._check_hpe_oneview_sdk()
self._create_oneview_client() self._create_oneview_client()

View File

@@ -1,4 +1,4 @@
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -1,7 +1,7 @@
# #
# Copyright 2018 www.privaz.io Valletech AB # Copyright 2018 www.privaz.io Valletech AB
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -104,7 +104,7 @@ def get_common_arg_spec(supports_create=False, supports_wait=False):
if supports_create: if supports_create:
common_args.update( common_args.update(
key_by=dict(type="list"), key_by=dict(type="list", elements="str", no_log=False),
force_create=dict(type="bool", default=False), force_create=dict(type="bool", default=False),
) )

View File

@@ -7,7 +7,7 @@
# Copyright (c), Ted Timmons <ted@timmons.me>, 2017. # Copyright (c), Ted Timmons <ted@timmons.me>, 2017.
# Most of this was originally added by other creators in the postgresql_user module. # Most of this was originally added by other creators in the postgresql_user module.
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -7,7 +7,7 @@
# to the complete work. # to the complete work.
# #
# Copyright (c), Simon Dodsley <simon@purestorage.com>,2017 # Copyright (c), Simon Dodsley <simon@purestorage.com>,2017
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c), Michael DeHaan <michael.dehaan@gmail.com>, 2012-2013 # Copyright (c), Michael DeHaan <michael.dehaan@gmail.com>, 2012-2013
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -469,7 +469,7 @@ class RedfishUtils(object):
controller_results = [] controller_results = []
# Get these entries, but does not fail if not found # Get these entries, but does not fail if not found
properties = ['CacheSummary', 'FirmwareVersion', 'Identifiers', properties = ['CacheSummary', 'FirmwareVersion', 'Identifiers',
'Location', 'Manufacturer', 'Model', 'Name', 'Location', 'Manufacturer', 'Model', 'Name', 'Id',
'PartNumber', 'SerialNumber', 'SpeedGbps', 'Status'] 'PartNumber', 'SerialNumber', 'SpeedGbps', 'Status']
key = "StorageControllers" key = "StorageControllers"
@@ -1700,7 +1700,7 @@ class RedfishUtils(object):
chassis_results = [] chassis_results = []
# Get these entries, but does not fail if not found # Get these entries, but does not fail if not found
properties = ['ChassisType', 'PartNumber', 'AssetTag', properties = ['Name', 'Id', 'ChassisType', 'PartNumber', 'AssetTag',
'Manufacturer', 'IndicatorLED', 'SerialNumber', 'Model'] 'Manufacturer', 'IndicatorLED', 'SerialNumber', 'Model']
# Go through list # Go through list
@@ -1724,7 +1724,7 @@ class RedfishUtils(object):
fan_results = [] fan_results = []
key = "Thermal" key = "Thermal"
# Get these entries, but does not fail if not found # Get these entries, but does not fail if not found
properties = ['FanName', 'Reading', 'ReadingUnits', 'Status'] properties = ['Name', 'FanName', 'Reading', 'ReadingUnits', 'Status']
# Go through list # Go through list
for chassis_uri in self.chassis_uris: for chassis_uri in self.chassis_uris:
@@ -1836,8 +1836,8 @@ class RedfishUtils(object):
cpu_results = [] cpu_results = []
key = "Processors" key = "Processors"
# Get these entries, but does not fail if not found # Get these entries, but does not fail if not found
properties = ['Id', 'Manufacturer', 'Model', 'MaxSpeedMHz', 'TotalCores', properties = ['Id', 'Name', 'Manufacturer', 'Model', 'MaxSpeedMHz',
'TotalThreads', 'Status'] 'TotalCores', 'TotalThreads', 'Status']
# Search for 'key' entry and extract URI from it # Search for 'key' entry and extract URI from it
response = self.get_request(self.root_uri + systems_uri) response = self.get_request(self.root_uri + systems_uri)
@@ -1886,7 +1886,7 @@ class RedfishUtils(object):
memory_results = [] memory_results = []
key = "Memory" key = "Memory"
# Get these entries, but does not fail if not found # Get these entries, but does not fail if not found
properties = ['SerialNumber', 'MemoryDeviceType', 'PartNumber', properties = ['Id', 'SerialNumber', 'MemoryDeviceType', 'PartNumber',
'MemoryLocation', 'RankCount', 'CapacityMiB', 'OperatingMemoryModes', 'Status', 'Manufacturer', 'Name'] 'MemoryLocation', 'RankCount', 'CapacityMiB', 'OperatingMemoryModes', 'Status', 'Manufacturer', 'Name']
# Search for 'key' entry and extract URI from it # Search for 'key' entry and extract URI from it
@@ -1943,7 +1943,7 @@ class RedfishUtils(object):
nic_results = [] nic_results = []
key = "EthernetInterfaces" key = "EthernetInterfaces"
# Get these entries, but does not fail if not found # Get these entries, but does not fail if not found
properties = ['Description', 'FQDN', 'IPv4Addresses', 'IPv6Addresses', properties = ['Name', 'Id', 'Description', 'FQDN', 'IPv4Addresses', 'IPv6Addresses',
'NameServers', 'MACAddress', 'PermanentMACAddress', 'NameServers', 'MACAddress', 'PermanentMACAddress',
'SpeedMbps', 'MTUSize', 'AutoNeg', 'Status'] 'SpeedMbps', 'MTUSize', 'AutoNeg', 'Status']
@@ -2368,7 +2368,7 @@ class RedfishUtils(object):
properties = ['Status', 'HostName', 'PowerState', 'Model', 'Manufacturer', properties = ['Status', 'HostName', 'PowerState', 'Model', 'Manufacturer',
'PartNumber', 'SystemType', 'AssetTag', 'ServiceTag', 'PartNumber', 'SystemType', 'AssetTag', 'ServiceTag',
'SerialNumber', 'SKU', 'BiosVersion', 'MemorySummary', 'SerialNumber', 'SKU', 'BiosVersion', 'MemorySummary',
'ProcessorSummary', 'TrustedModules'] 'ProcessorSummary', 'TrustedModules', 'Name', 'Id']
response = self.get_request(self.root_uri + systems_uri) response = self.get_request(self.root_uri + systems_uri)
if response['ret'] is False: if response['ret'] is False:
@@ -2676,6 +2676,10 @@ class RedfishUtils(object):
need_change = True need_change = True
# type is list # type is list
if isinstance(set_value, list): if isinstance(set_value, list):
if len(set_value) != len(cur_value):
# if arrays are not the same len, no need to check each element
need_change = True
continue
for i in range(len(set_value)): for i in range(len(set_value)):
for subprop in payload[property][i].keys(): for subprop in payload[property][i].keys():
if subprop not in target_ethernet_current_setting[property][i]: if subprop not in target_ethernet_current_setting[property][i]:

View File

@@ -6,7 +6,7 @@
# #
# Copyright (c), James Laska # Copyright (c), James Laska
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -4,7 +4,7 @@
# Version 1.3 # Version 1.3
# Copyright (C) 2019 Dell Inc. or its subsidiaries. All Rights Reserved. # Copyright (C) 2019 Dell Inc. or its subsidiaries. All Rights Reserved.
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -5,7 +5,7 @@
# own license to the complete work. # own license to the complete work.
# #
# Copyright (C) 2017 Lenovo, Inc. # Copyright (C) 2017 Lenovo, Inc.
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
# #
# Contains LXCA common class # Contains LXCA common class
# Lenovo xClarity Administrator (LXCA) # Lenovo xClarity Administrator (LXCA)

View File

@@ -8,7 +8,7 @@
# Copyright: (c) 2020, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru> # Copyright: (c) 2020, Andrew Klychkov (@Andersson007) <aaklychkov@mail.ru>
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -39,7 +39,7 @@ class ScalewayException(Exception):
R_LINK_HEADER = r'''<[^>]+>;\srel="(first|previous|next|last)" R_LINK_HEADER = r'''<[^>]+>;\srel="(first|previous|next|last)"
(,<[^>]+>;\srel="(first|previous|next|last)")*''' (,<[^>]+>;\srel="(first|previous|next|last)")*'''
# Specify a single relation, for iteration and string extraction purposes # Specify a single relation, for iteration and string extraction purposes
R_RELATION = r'<(?P<target_IRI>[^>]+)>; rel="(?P<relation>first|previous|next|last)"' R_RELATION = r'</?(?P<target_IRI>[^>]+)>; rel="(?P<relation>first|previous|next|last)"'
def parse_pagination_link(header): def parse_pagination_link(header):
@@ -169,8 +169,14 @@ SCALEWAY_LOCATION = {
'par1': {'name': 'Paris 1', 'country': 'FR', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/fr-par-1'}, 'par1': {'name': 'Paris 1', 'country': 'FR', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/fr-par-1'},
'EMEA-FR-PAR1': {'name': 'Paris 1', 'country': 'FR', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/fr-par-1'}, 'EMEA-FR-PAR1': {'name': 'Paris 1', 'country': 'FR', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/fr-par-1'},
'par2': {'name': 'Paris 2', 'country': 'FR', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/fr-par-2'},
'EMEA-FR-PAR2': {'name': 'Paris 2', 'country': 'FR', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/fr-par-2'},
'ams1': {'name': 'Amsterdam 1', 'country': 'NL', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/nl-ams-1'}, 'ams1': {'name': 'Amsterdam 1', 'country': 'NL', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/nl-ams-1'},
'EMEA-NL-EVS': {'name': 'Amsterdam 1', 'country': 'NL', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/nl-ams-1'} 'EMEA-NL-EVS': {'name': 'Amsterdam 1', 'country': 'NL', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/nl-ams-1'},
'waw1': {'name': 'Warsaw 1', 'country': 'PL', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/pl-waw-1'},
'EMEA-PL-WAW1': {'name': 'Warsaw 1', 'country': 'PL', "api_endpoint": 'https://api.scaleway.com/instance/v1/zones/pl-waw-1'},
} }
SCALEWAY_ENDPOINT = "https://api.scaleway.com" SCALEWAY_ENDPOINT = "https://api.scaleway.com"
@@ -178,9 +184,12 @@ SCALEWAY_ENDPOINT = "https://api.scaleway.com"
SCALEWAY_REGIONS = [ SCALEWAY_REGIONS = [
"fr-par", "fr-par",
"nl-ams", "nl-ams",
"pl-waw",
] ]
SCALEWAY_ZONES = [ SCALEWAY_ZONES = [
"fr-par-1", "fr-par-1",
"fr-par-2",
"nl-ams-1", "nl-ams-1",
"pl-waw-1",
] ]

View File

@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# (c) 2018 Luca 'remix_tj' Lorenzetto # (c) 2018 Luca 'remix_tj' Lorenzetto
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -1,5 +1,5 @@
# Copyright: (c) 2018, Hewlett Packard Enterprise Development LP # Copyright: (c) 2018, Hewlett Packard Enterprise Development LP
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -9,7 +9,7 @@
# Copyright (c) 2016, Adfinis SyGroup AG # Copyright (c) 2016, Adfinis SyGroup AG
# Tobias Rueetschi <tobias.ruetschi@adfinis-sygroup.ch> # Tobias Rueetschi <tobias.ruetschi@adfinis-sygroup.ch>
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -6,7 +6,7 @@
# #
# Copyright: (c) 2018, Johannes Brunswicker <johannes.brunswicker@gmail.com> # Copyright: (c) 2018, Johannes Brunswicker <johannes.brunswicker@gmail.com>
# #
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
@@ -84,7 +84,7 @@ class UTM:
raise UTMModuleConfigurationError( raise UTMModuleConfigurationError(
"The keys " + to_native( "The keys " + to_native(
self.change_relevant_keys) + " to check are not in the modules keys:\n" + to_native( self.change_relevant_keys) + " to check are not in the modules keys:\n" + to_native(
module.params.keys())) list(module.params.keys())))
def execute(self): def execute(self):
try: try:

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# Copyright: (c) 2019, Sandeep Kasargod <sandeep@vexata.com> # Copyright: (c) 2019, Sandeep Kasargod <sandeep@vexata.com>
# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) # Simplified BSD License (see simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause)
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type

View File

@@ -382,7 +382,10 @@ def main():
filters=dict(type='dict') filters=dict(type='dict')
) )
) )
module = AnsibleModule(argument_spec=argument_spec) module = AnsibleModule(
argument_spec=argument_spec,
supports_check_mode=True,
)
if module._name in ('ali_instance_facts', 'community.general.ali_instance_facts'): if module._name in ('ali_instance_facts', 'community.general.ali_instance_facts'):
module.deprecate("The 'ali_instance_facts' module has been renamed to 'ali_instance_info'", module.deprecate("The 'ali_instance_facts' module has been renamed to 'ali_instance_info'",
version='3.0.0', collection_name='community.general') # was Ansible 2.13 version='3.0.0', collection_name='community.general') # was Ansible 2.13

View File

@@ -102,7 +102,8 @@ def do_install(module, mode, rootfs, container, image, values_list, backend):
system_list = ["--system"] if mode == 'system' else [] system_list = ["--system"] if mode == 'system' else []
user_list = ["--user"] if mode == 'user' else [] user_list = ["--user"] if mode == 'user' else []
rootfs_list = ["--rootfs=%s" % rootfs] if rootfs else [] rootfs_list = ["--rootfs=%s" % rootfs] if rootfs else []
args = ['atomic', 'install', "--storage=%s" % backend, '--name=%s' % container] + system_list + user_list + rootfs_list + values_list + [image] atomic_bin = module.get_bin_path('atomic')
args = [atomic_bin, 'install', "--storage=%s" % backend, '--name=%s' % container] + system_list + user_list + rootfs_list + values_list + [image]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc != 0: if rc != 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -112,7 +113,8 @@ def do_install(module, mode, rootfs, container, image, values_list, backend):
def do_update(module, container, image, values_list): def do_update(module, container, image, values_list):
args = ['atomic', 'containers', 'update', "--rebase=%s" % image] + values_list + [container] atomic_bin = module.get_bin_path('atomic')
args = [atomic_bin, 'containers', 'update', "--rebase=%s" % image] + values_list + [container]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc != 0: if rc != 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -122,7 +124,8 @@ def do_update(module, container, image, values_list):
def do_uninstall(module, name, backend): def do_uninstall(module, name, backend):
args = ['atomic', 'uninstall', "--storage=%s" % backend, name] atomic_bin = module.get_bin_path('atomic')
args = [atomic_bin, 'uninstall', "--storage=%s" % backend, name]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc != 0: if rc != 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -130,7 +133,8 @@ def do_uninstall(module, name, backend):
def do_rollback(module, name): def do_rollback(module, name):
args = ['atomic', 'containers', 'rollback', name] atomic_bin = module.get_bin_path('atomic')
args = [atomic_bin, 'containers', 'rollback', name]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc != 0: if rc != 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -148,14 +152,12 @@ def core(module):
backend = module.params['backend'] backend = module.params['backend']
state = module.params['state'] state = module.params['state']
atomic_bin = module.get_bin_path('atomic')
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C') module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
out = {}
err = {}
rc = 0
values_list = ["--set=%s" % x for x in values] if values else [] values_list = ["--set=%s" % x for x in values] if values else []
args = ['atomic', 'containers', 'list', '--no-trunc', '-n', '--all', '-f', 'backend=%s' % backend, '-f', 'container=%s' % name] args = [atomic_bin, 'containers', 'list', '--no-trunc', '-n', '--all', '-f', 'backend=%s' % backend, '-f', 'container=%s' % name]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc != 0: if rc != 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -194,9 +196,7 @@ def main():
module.fail_json(msg="values is supported only with user or system mode") module.fail_json(msg="values is supported only with user or system mode")
# Verify that the platform supports atomic command # Verify that the platform supports atomic command
rc, out, err = module.run_command('atomic -v', check_rc=False) dummy = module.get_bin_path('atomic', required=True)
if rc != 0:
module.fail_json(msg="Error in running atomic command", err=err)
try: try:
core(module) core(module)

View File

@@ -57,18 +57,14 @@ from ansible.module_utils._text import to_native
def core(module): def core(module):
revision = module.params['revision'] revision = module.params['revision']
args = [] atomic_bin = module.get_bin_path('atomic', required=True)
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C') module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
if revision == 'latest': if revision == 'latest':
args = ['atomic', 'host', 'upgrade'] args = [atomic_bin, 'host', 'upgrade']
else: else:
args = ['atomic', 'host', 'deploy', revision] args = [atomic_bin, 'host', 'deploy', revision]
out = {}
err = {}
rc = 0
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)

View File

@@ -73,7 +73,8 @@ from ansible.module_utils._text import to_native
def do_upgrade(module, image): def do_upgrade(module, image):
args = ['atomic', 'update', '--force', image] atomic_bin = module.get_bin_path('atomic')
args = [atomic_bin, 'update', '--force', image]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc != 0: # something went wrong emit the msg if rc != 0: # something went wrong emit the msg
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -91,20 +92,21 @@ def core(module):
is_upgraded = False is_upgraded = False
module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C') module.run_command_environ_update = dict(LANG='C', LC_ALL='C', LC_MESSAGES='C')
atomic_bin = module.get_bin_path('atomic')
out = {} out = {}
err = {} err = {}
rc = 0 rc = 0
if backend: if backend:
if state == 'present' or state == 'latest': if state == 'present' or state == 'latest':
args = ['atomic', 'pull', "--storage=%s" % backend, image] args = [atomic_bin, 'pull', "--storage=%s" % backend, image]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc < 0: if rc < 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
else: else:
out_run = "" out_run = ""
if started: if started:
args = ['atomic', 'run', "--storage=%s" % backend, image] args = [atomic_bin, 'run', "--storage=%s" % backend, image]
rc, out_run, err = module.run_command(args, check_rc=False) rc, out_run, err = module.run_command(args, check_rc=False)
if rc < 0: if rc < 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -112,7 +114,7 @@ def core(module):
changed = "Extracting" in out or "Copying blob" in out changed = "Extracting" in out or "Copying blob" in out
module.exit_json(msg=(out + out_run), changed=changed) module.exit_json(msg=(out + out_run), changed=changed)
elif state == 'absent': elif state == 'absent':
args = ['atomic', 'images', 'delete', "--storage=%s" % backend, image] args = [atomic_bin, 'images', 'delete', "--storage=%s" % backend, image]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
if rc < 0: if rc < 0:
module.fail_json(rc=rc, msg=err) module.fail_json(rc=rc, msg=err)
@@ -126,11 +128,11 @@ def core(module):
is_upgraded = do_upgrade(module, image) is_upgraded = do_upgrade(module, image)
if started: if started:
args = ['atomic', 'run', image] args = [atomic_bin, 'run', image]
else: else:
args = ['atomic', 'install', image] args = [atomic_bin, 'install', image]
elif state == 'absent': elif state == 'absent':
args = ['atomic', 'uninstall', image] args = [atomic_bin, 'uninstall', image]
rc, out, err = module.run_command(args, check_rc=False) rc, out, err = module.run_command(args, check_rc=False)
@@ -155,9 +157,7 @@ def main():
) )
# Verify that the platform supports atomic command # Verify that the platform supports atomic command
rc, out, err = module.run_command('atomic -v', check_rc=False) dummy = module.get_bin_path('atomic', required=True)
if rc != 0:
module.fail_json(msg="Error in running atomic command", err=err)
try: try:
core(module) core(module)

View File

@@ -32,6 +32,7 @@ options:
- A list of recipient email ids to notify the alert. - A list of recipient email ids to notify the alert.
This is required for state 'present' This is required for state 'present'
type: list type: list
elements: str
metric: metric:
description: description:
- The metric on which to measure the condition that will trigger the alert. - The metric on which to measure the condition that will trigger the alert.
@@ -220,7 +221,7 @@ class ClcAlertPolicy:
name=dict(), name=dict(),
id=dict(), id=dict(),
alias=dict(required=True), alias=dict(required=True),
alert_recipients=dict(type='list'), alert_recipients=dict(type='list', elements='str'),
metric=dict( metric=dict(
choices=[ choices=[
'cpu', 'cpu',

View File

@@ -18,6 +18,7 @@ options:
- A list of server Ids to deploy the blue print package. - A list of server Ids to deploy the blue print package.
type: list type: list
required: True required: True
elements: str
package_id: package_id:
description: description:
- The package id of the blue print. - The package id of the blue print.
@@ -164,7 +165,7 @@ class ClcBlueprintPackage:
:return: the package dictionary object :return: the package dictionary object
""" """
argument_spec = dict( argument_spec = dict(
server_ids=dict(type='list', required=True), server_ids=dict(type='list', elements='str', required=True),
package_id=dict(required=True), package_id=dict(required=True),
package_params=dict(type='dict', default={}), package_params=dict(type='dict', default={}),
wait=dict(default=True), # @FIXME should be bool? wait=dict(default=True), # @FIXME should be bool?

View File

@@ -29,17 +29,20 @@ options:
- The list of source addresses for traffic on the originating firewall. - The list of source addresses for traffic on the originating firewall.
This is required when state is 'present' This is required when state is 'present'
type: list type: list
elements: str
destination: destination:
description: description:
- The list of destination addresses for traffic on the terminating firewall. - The list of destination addresses for traffic on the terminating firewall.
This is required when state is 'present' This is required when state is 'present'
type: list type: list
elements: str
ports: ports:
description: description:
- The list of ports associated with the policy. - The list of ports associated with the policy.
TCP and UDP can take in single ports or port ranges. TCP and UDP can take in single ports or port ranges.
- "Example: C(['any', 'icmp', 'TCP/123', 'UDP/123', 'TCP/123-456', 'UDP/123-456'])." - "Example: C(['any', 'icmp', 'TCP/123', 'UDP/123', 'TCP/123-456', 'UDP/123-456'])."
type: list type: list
elements: str
firewall_policy_id: firewall_policy_id:
description: description:
- Id of the firewall policy. This is required to update or delete an existing firewall policy - Id of the firewall policy. This is required to update or delete an existing firewall policy
@@ -217,9 +220,9 @@ class ClcFirewallPolicy:
source_account_alias=dict(required=True), source_account_alias=dict(required=True),
destination_account_alias=dict(), destination_account_alias=dict(),
firewall_policy_id=dict(), firewall_policy_id=dict(),
ports=dict(type='list'), ports=dict(type='list', elements='str'),
source=dict(type='list'), source=dict(type='list', elements='str'),
destination=dict(type='list'), destination=dict(type='list', elements='str'),
wait=dict(default=True), # @FIXME type=bool wait=dict(default=True), # @FIXME type=bool
state=dict(default='present', choices=['present', 'absent']), state=dict(default='present', choices=['present', 'absent']),
enabled=dict(default=True, choices=[True, False]) enabled=dict(default=True, choices=[True, False])

View File

@@ -53,6 +53,7 @@ options:
- A list of nodes that needs to be added to the load balancer pool - A list of nodes that needs to be added to the load balancer pool
type: list type: list
default: [] default: []
elements: dict
status: status:
description: description:
- The status of the loadbalancer - The status of the loadbalancer
@@ -869,7 +870,7 @@ class ClcLoadBalancer:
port=dict(choices=[80, 443]), port=dict(choices=[80, 443]),
method=dict(choices=['leastConnection', 'roundRobin']), method=dict(choices=['leastConnection', 'roundRobin']),
persistence=dict(choices=['standard', 'sticky']), persistence=dict(choices=['standard', 'sticky']),
nodes=dict(type='list', default=[]), nodes=dict(type='list', default=[], elements='dict'),
status=dict(default='enabled', choices=['enabled', 'disabled']), status=dict(default='enabled', choices=['enabled', 'disabled']),
state=dict( state=dict(
default='present', default='present',

View File

@@ -18,6 +18,7 @@ options:
- A list of server Ids to modify. - A list of server Ids to modify.
type: list type: list
required: True required: True
elements: str
cpu: cpu:
description: description:
- How many CPUs to update on the server - How many CPUs to update on the server
@@ -396,7 +397,7 @@ class ClcModifyServer:
:return: argument spec dictionary :return: argument spec dictionary
""" """
argument_spec = dict( argument_spec = dict(
server_ids=dict(type='list', required=True), server_ids=dict(type='list', required=True, elements='str'),
state=dict(default='present', choices=['present', 'absent']), state=dict(default='present', choices=['present', 'absent']),
cpu=dict(), cpu=dict(),
memory=dict(), memory=dict(),

View File

@@ -23,11 +23,13 @@ options:
description: description:
- A list of ports to expose. This is required when state is 'present' - A list of ports to expose. This is required when state is 'present'
type: list type: list
elements: int
server_ids: server_ids:
description: description:
- A list of servers to create public ips on. - A list of servers to create public ips on.
type: list type: list
required: True required: True
elements: str
state: state:
description: description:
- Determine whether to create or delete public IPs. If present module will not create a second public ip if one - Determine whether to create or delete public IPs. If present module will not create a second public ip if one
@@ -193,9 +195,9 @@ class ClcPublicIp(object):
:return: argument spec dictionary :return: argument spec dictionary
""" """
argument_spec = dict( argument_spec = dict(
server_ids=dict(type='list', required=True), server_ids=dict(type='list', required=True, elements='str'),
protocol=dict(default='TCP', choices=['TCP', 'UDP', 'ICMP']), protocol=dict(default='TCP', choices=['TCP', 'UDP', 'ICMP']),
ports=dict(type='list'), ports=dict(type='list', elements='int'),
wait=dict(type='bool', default=True), wait=dict(type='bool', default=True),
state=dict(default='present', choices=['present', 'absent']), state=dict(default='present', choices=['present', 'absent']),
) )

View File

@@ -17,6 +17,7 @@ options:
description: description:
- The list of additional disks for the server - The list of additional disks for the server
type: list type: list
elements: dict
default: [] default: []
add_public_ip: add_public_ip:
description: description:
@@ -66,6 +67,7 @@ options:
- The list of custom fields to set on the server. - The list of custom fields to set on the server.
type: list type: list
default: [] default: []
elements: dict
description: description:
description: description:
- The description to set for the server. - The description to set for the server.
@@ -111,6 +113,7 @@ options:
description: description:
- The list of blue print packages to run on the server after its created. - The list of blue print packages to run on the server after its created.
type: list type: list
elements: dict
default: [] default: []
password: password:
description: description:
@@ -130,6 +133,7 @@ options:
description: description:
- A list of ports to allow on the firewall to the servers public ip, if add_public_ip is set to True. - A list of ports to allow on the firewall to the servers public ip, if add_public_ip is set to True.
type: list type: list
elements: dict
default: [] default: []
secondary_dns: secondary_dns:
description: description:
@@ -141,6 +145,7 @@ options:
A list of server Ids to insure are started, stopped, or absent. A list of server Ids to insure are started, stopped, or absent.
type: list type: list
default: [] default: []
elements: str
source_server_password: source_server_password:
description: description:
- The password for the source server if a clone is specified. - The password for the source server if a clone is specified.
@@ -575,8 +580,8 @@ class ClcServer:
type=dict(default='standard', choices=['standard', 'hyperscale', 'bareMetal']), type=dict(default='standard', choices=['standard', 'hyperscale', 'bareMetal']),
primary_dns=dict(default=None), primary_dns=dict(default=None),
secondary_dns=dict(default=None), secondary_dns=dict(default=None),
additional_disks=dict(type='list', default=[]), additional_disks=dict(type='list', default=[], elements='dict'),
custom_fields=dict(type='list', default=[]), custom_fields=dict(type='list', default=[], elements='dict'),
ttl=dict(default=None), ttl=dict(default=None),
managed_os=dict(type='bool', default=False), managed_os=dict(type='bool', default=False),
description=dict(default=None), description=dict(default=None),
@@ -586,7 +591,7 @@ class ClcServer:
anti_affinity_policy_name=dict(default=None), anti_affinity_policy_name=dict(default=None),
alert_policy_id=dict(default=None), alert_policy_id=dict(default=None),
alert_policy_name=dict(default=None), alert_policy_name=dict(default=None),
packages=dict(type='list', default=[]), packages=dict(type='list', default=[], elements='dict'),
state=dict( state=dict(
default='present', default='present',
choices=[ choices=[
@@ -597,7 +602,7 @@ class ClcServer:
count=dict(type='int', default=1), count=dict(type='int', default=1),
exact_count=dict(type='int', default=None), exact_count=dict(type='int', default=None),
count_group=dict(), count_group=dict(),
server_ids=dict(type='list', default=[]), server_ids=dict(type='list', default=[], elements='str'),
add_public_ip=dict(type='bool', default=False), add_public_ip=dict(type='bool', default=False),
public_ip_protocol=dict( public_ip_protocol=dict(
default='TCP', default='TCP',
@@ -605,7 +610,7 @@ class ClcServer:
'TCP', 'TCP',
'UDP', 'UDP',
'ICMP']), 'ICMP']),
public_ip_ports=dict(type='list', default=[]), public_ip_ports=dict(type='list', default=[], elements='dict'),
configuration_id=dict(default=None), configuration_id=dict(default=None),
os_type=dict(default=None, os_type=dict(default=None,
choices=[ choices=[

Some files were not shown because too many files have changed in this diff Show More