1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

76 commits

Author SHA1 Message Date
Mike Hume
1a13287788
Add sops lookup plugin (#374)
* add sops lookup plugin

* fix pylint

* fix undefined encrypted_file variable

* decode sops output as text by default

* add variable to control decrypted content print in logs

* use Sops class decryption method

* lookup should return text, use appropriate ansible facility

* use ansible.module_utils._text.to_native

As required by Ansible documentation on [raising errors][raising-errors]
from plugins, use to_native to wrap errors to ensure string compatibility
between Python versions.

[raising-errors]: https://docs.ansible.com/ansible/latest/dev_guide/developing_plugins.html#id3

* use with_items instead of with_file in sops lookup documentation

[with_file][with-file], per Ansible documentation, returns the content of
the file. As sops is not able to decrypt a string by itself but requires
the file is passed as argument, passing the content breaks the lookup
plugin as reported by [here][bug-report].

[with_items][with-items] should be used instead.

[with-file]: https://docs.ansible.com/ansible/2.4/playbooks_loops.html#looping-over-files
[with-items]: https://docs.ansible.com/ansible/2.4/playbooks_loops.html#standard-loops
[bug-report]: https://github.com/ansible/ansible/pull/59639#issuecomment-540803722

* uniform sops exception handling between plugins

* Apply suggestions from code review

Co-Authored-By: Felix Fontein <felix@fontein.de>

* remove sops lookup plugin print option

Is no longer possible to print the decrypted secrets directly from this
plugin, but `debug` module can be used instead.

* add github handle to author

* add setup_sops integration target

* extract sops module

* add lookup_sops integration tests

* use sops module

* Update plugins/module_utils/sops.py

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

* Update plugins/module_utils/sops.py

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

* Update plugins/lookup/sops.py

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

* Update plugins/module_utils/sops.py

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

* Update plugins/module_utils/sops.py

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

* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml

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

* Update plugins/module_utils/sops.py

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

* Update test/integration/targets/lookup_sops/files/simple.sops.yaml

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

* Adding aliases file

* Emtpy spaces

* Update plugins/lookup/sops.py

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

* Update plugins/lookup/sops.py

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

* Update plugins/lookup/sops.py

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

* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml

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

* Update plugins/lookup/sops.py

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

* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml

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

* Update test/integration/targets/lookup_sops/tasks/ubuntu.yml

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

* gpg -> gnupg2

* with_items -> loop

* Move error logic to module_utils.

* Make Sops.decrypt() also handle errors and decode output.

* Improve error handling.

* Improve example formatting.

* Reorganize tests.

* Add test.

* Remove version_added.

Co-authored-by: Edoardo Tenani <edoardo.tenani@protonmail.com>
Co-authored-by: Edoardo Tenani <edoardo.tenani@gmail.com>
Co-authored-by: Edoardo T <endorama@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-06-06 21:36:28 +02:00
Martin Budsjö
77c29a1542
Added 'extra_install_args' module option to allow extra upgrade/install specific zypper arguments (#382)
* Added 'extra_install_args' option to allow extra upgrade/install

Example zypper args for this is

* --allow-vendor-change
* --replacefiles and
* --force-resolution

* Fix comment issue..

* Change extra_install_args option to a list.

Improved doc.

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

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

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

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

* Switch from using extra_install_args to individual module options.

* Fix syntax errors and limit 'allow-vendor-change' to 'dist-upgrade'

* Removed un-needed import

* Added changelog fragment

* Added tests for zypper replacefiles and allow_vendor_change options

* Removed dist-upgrade as it changes the test environment.

And it is hard to undo.

* Added proper test of replacefiles zypper option

Buiding two rpm packages containing same file path but with different content.
Making sure we fail to install them without the replacefiles options and that we succeed
using it.

* Make sure to create directory before writing files

* Fix indentation of ignore_errors

* Correct genereated rpm file name

* Improved duplicate file assertions

* Ensure no previous netcat package still exists.

* Corrected naming of example task.

* Fix variable name typo.

* Fix proper duplicate_content access

* Make sure to clean up duplicate rpms after tests.

* Removed debug

* Removed version_added of option allow_vendor_change and replacefiles

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-06-05 08:01:21 +02:00
Diane Wang
13c0639d9d
files: add a new module iso_create (#397)
* add a new module iso_create

* add elements in argument spec

* remove changelog for new module

* change the path of test file

* comment out pip check task in test case

* comment out install pip in test case

* move pip install task and add skip python2.6
2020-06-03 10:00:07 +03:00
Andrew Klychkov
c2bf9ea9fb
Mysql db unsafe passwd (#428)
* mysql_db: add new parameter unsafe_login_password

* add CI tests

* add changelog fragment
2020-06-02 09:17:54 +03:00
cassio-santos
9de5c0c53c
LVG: add new parameter pvresize (#422)
* enabling resize in pv.

* change pvresize default behavior to false

* includes changelog on pvresize

* punctuation fix

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

* fixes typo and changes pvresize_cmd location

* Update changelogs/fragments/442-add-new-parameter-pvresize.yaml

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

* Update plugins/modules/system/lvg.py

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

* rebase and add EXAMPLE for pvresize

* fix wrongly submited merge conflict

* Update plugins/modules/system/lvg.py

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

* adding tests

* add test for check_mode

* fix identation

* Update tests/integration/targets/lvg/tasks/test_pvresize.yml

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

* Update tests/integration/targets/lvg/tasks/test_pvresize.yml

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

* fix identation

Co-authored-by: CASSIO ALVES <cassioalves@bocombbm.com.br>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: cassio alves <cassio@localhost.localdomain>
2020-05-29 22:16:23 +03:00
Felix Fontein
fcca0fdfc2
Re-enable xfs_quota test. (#429) 2020-05-28 20:48:55 +02:00
Alvaro A
ece18b756b
gitlab_project_variable: added support for variable_type (#181)
* gitlab_project_variable: added support for variable_type

* gitlab_project_variable: Added integration tests for variable_type file.

* Changed test case variable name, ansible was masking the output.
2020-05-25 03:18:19 -07:00
Felix Fontein
6bb6089999
Remove more remains of intersight_info. (#396) 2020-05-22 07:59:41 +02:00
Sam Doran
f585aa065a
inventory_docker_swarm test - Remove exit code from trap (#391)
Setting the exit code in a trap overrides the exit code that caused the
trap to be called. This means if the test failed and called the trap,
the test will exit with 0 rather than the failure exit code.
2020-05-21 21:48:41 +02:00
Anatoly Pugachev
b41b46593e
Use 'xargs -r' in pipe, instead of plain 'xargs' (#383) 2020-05-20 12:59:35 +02:00
Felix Fontein
6fca49f445
Don't die when docker CLI doesn't want to work with docker daemon (#366)
* Don't die when docker CLI doesn't want to work with docker daemon.

* Allow more 'docker volume ls' failures

* More.

* Fix more failures.

* Forgot ignore_errors.

* Another one.

* More places.

* Try to install newer docker on RHEL8.

* Also restrict docker-ce-cli.
2020-05-20 06:40:04 +00:00
Felix Fontein
0399127d11
Time filter improvements (#359)
* Adjust target directory so that ansible-test knows what to run when filters change.

* Divide by multiple instead of multiplying with product of 1/factor to improve numerical robustness.

* Allow to say what a year or month is (in days).

* Add changelog fragment announcing the time filters.

* Make sure unknown keyword args result in errors.

* Fix formatting screw-up.
2020-05-19 11:18:49 +02:00
René Moser
945296f314
filter: add new time convert filter (#347)
* filter: add new time convert filters

The plugin include:
- to_seconds
- to_minutes
- to_hours

* refactor and extend

* more UX improvements

* Apply suggestions from code review

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

* even more UX improvments

* fix indentation

* fix for py3

* enable aix in ci

* simplify

* add to_months, use 360d as year.

* rearrange tests

* year back to 365 days

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-05-18 09:54:23 +02:00
Felix Fontein
31ba39cac4
Add Fedora 32 to CI; drop Fedora 30 which is soon EOL (#327)
* Add Fedora 32 to CI; drop Fedora 30 which is soon EOL.

* Docker only supports Fedora up to 31; fortunately the 31 package seems to work for 32 too.

* Also skip for Fedora 32, as it apparently has a similar problem to Fedora 31.

ci_complete
2020-05-15 18:51:49 +02:00
Pavlo Bashynskyi
80d41583d1
Add info command to redis module (#286)
* Add info command to redis module

* Fix sanity test

* Create a separate redis_info module

* Type of arguments in documentation was determined

* Add redis_info test

* Fix sanity test

* Add integration test

* Add integration platforms (centos7/8,fedora30/31,opensuse15+py2,ubuntu1604/1804)

* Add centos6 support

* Fix suggestions

* Add contact email
2020-05-12 20:18:24 +03:00
Andrew Klychkov
afe2946cce
postgresql_set: add trust_input parameter (#302)
* postgresql_set: add trust_input parameter

* add changelog fragment

* fix CI
2020-05-12 10:03:40 +03:00
Andrew Klychkov
31085fffb7
postgresql_ping: add session_role and trust_input parameters (#312)
* postgresql_ping: add session_role and trust_input parameters

* add changelog fragment
2020-05-12 09:34:28 +03:00
Andrew Klychkov
fce150fcf7
postgresql_copy: add trust_input parameter (#313)
* postgresql_copy: add trust_input parameter

* add changelog fragment
2020-05-12 09:33:42 +03:00
Felix Fontein
2319d928c4
Disable etcd3 tests. (#323) 2020-05-11 21:37:04 +02:00
Thomas O'Donnell
571837b199
Add trust_input to postgresql_user_obj_stat_info (#310)
Have added a trust_input option to the postgresql_user_obj_stat_info
module. This only checks the session_role since all other options are
passed as parameters.
2020-05-10 15:56:19 +03:00
Andrew Klychkov
acc7bc1ea6
postgresql_info: add the trust_input parameter (#308)
* postgresql_info: add the trust_input parameter

* add changelog fragment
2020-05-09 11:24:20 +03:00
Andrew Klychkov
156d90ce90
postgresql_table: add the trust_input parameter (#307)
* postgresql_table: add the trust_input parameter

* add changelog fragment
2020-05-09 11:23:33 +03:00
Andrew Klychkov
55c1ece888
postgresql modules: improve trust_input parameter's documentation, improve CI tests (#309)
* postgresql modules: improve trust_input parameter's documentation, improve CI tests

* fix CI
2020-05-09 09:25:12 +03:00
Thomas O'Donnell
f887aff159
Add trust_input option to postgresql_slot module (#298)
* Add trust_input option to postgresql_slot module

Have added a trust_input option to the postgresql_slot module. This
only checks the session_role since all other options are passed as
parameters.

* Add Changelog fragment

* Update docs following PR review
2020-05-07 18:26:15 +03:00
Andrew Klychkov
c47a2128ca
postgresql_query: add trust_input parameter (#294)
* postgresql_query: add trust_input parameter

* add changelog fragment

* fix CI
2020-05-07 12:49:53 +03:00
Thomas O'Donnell
e4dd15a746
postgresql_sequence: add trust_input option (#295)
* Add trust_input option to postgresql_sequence

Have added the trust_input option to the postgresql_sequence module.

* Add changelog fragment

Have added a changelog fragment for these changes.
2020-05-07 09:07:49 +03:00
Andrew Klychkov
19cad71f25
postgresql_lang: add trust_input parameter (#272)
* postgresql_lan: add trust_input parameter

* add changelog fragment
2020-05-05 16:37:08 +03:00
Andrew Klychkov
e6b6c05bf7
postgresql_publication: add trust_input and session_role parameters (#279)
* postgresql_publication: add trust_input and session_role parameters

* add changelog fragment
2020-05-05 16:36:14 +03:00
Andrew Klychkov
30e84111f0
postgresql_subscription: add trust_input and session_role parameters (#280)
* postgresql_subscription: add trust_input and session_role parameters

* add changelog fragment
2020-05-05 16:35:34 +03:00
Andrew Klychkov
4c14956280
postgresql_idx: add trust_input parameter (#264)
* postgresql_idx: add trust_input parameter

* add changelog fragment
2020-05-05 16:33:06 +03:00
Thomas O'Donnell
6c1c1604fb
Add optional input check to postgresql_ext (#282)
* Add optional input check to postgresql_ext

Have added a new trust_input check to the postgresql_ext module that
allows for checking the input that is passed to the module.

* Add changelog fragment

* Update tests/integration/targets/postgresql_ext/tasks/postgresql_ext_initial.yml

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

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-05-05 15:04:33 +03:00
Andrew Klychkov
01eee507f2
postgresql_tablespace: add trust_input parameter (#240)
* postgresql_tablespace: add trust_input parameter

* add changelog fragment
2020-05-01 14:10:13 +03:00
Andrew Klychkov
c68f17f09b
postgresql_schema: add trust_input parameter (#259)
* postgresql_schema: add trust_input parameter

* add changelog fragment
2020-05-01 14:09:23 +03:00
Felix Fontein
72eed6a4b6
Fix bad boolean. (#258)
Triggered by ansible/ansible#67625.
2020-04-30 22:56:46 +02:00
Andrew Klychkov
8a45044ea7
postgresql_owner: fix CI test formatting, return some disappeared comments to place (#246) 2020-04-29 09:07:28 +03:00
Brian Scholer
eaa484eb37
hashi_vault refresh - Add AWS login methods, bugfixes, cleanup (#23)
* hashi_vault refresh from PR in ansible/ansible/#66735

* Duplicate AWS doc fragments, remove version_added

* Restore FQCNames

* Fully qualify examples

* Add changelog for #23 hash_vault refresh

* Reduce examples below 160 chars

* Address review feedback

* Update changelogs/fragments/23-hashi-vault-lookup-refresh.yaml

Use review suggestion

Co-Authored-By: flowerysong <junk+github@flowerysong.com>

Co-authored-by: flowerysong <junk+github@flowerysong.com>
2020-04-28 11:27:37 +00:00
Andrew Klychkov
5febbca503
postgresql_owner: add trust_input parameter (#198)
* postgresql_owner: add trust_input parameter, allow to pass values containing dots to some parameters

* add changelog fragment

* fix CI

* fix CI
2020-04-28 10:42:08 +03:00
Eric Belhomme
da4e5d3592
fix broken etcd3 module integration test (#239)
* fix broken etcd3 module integration test

* rewrite etcd3 test role as role-only integration test

* etcd3 module integration test changes:
- add setup_etcd3 as dependency in meta
- skip python2.6 target as etcd3 won't install

* fix aliases
2020-04-28 08:51:10 +02:00
Eric Belhomme
695eed943b
add etcd3 lookup plugin (#127)
* add etcd3 lookup plugin

* retire version_added tag

Co-Authored-By: Felix Fontein <felix@fontein.de>

* typo fixes

Co-Authored-By: Felix Fontein <felix@fontein.de>

* fix YAML syntax in example

Co-Authored-By: Felix Fontein <felix@fontein.de>

* typo fixes

Co-Authored-By: Felix Fontein <felix@fontein.de>

* remove python shebang as it is useless in Ansible lookup module

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/etcd3.py typo

Co-Authored-By: Felix Fontein <felix@fontein.de>

* fixes:
- replaced LookupBase._display by ansible.utils.display.Display
- add regex to retrieve host and port from ETCDCTL_ENDPOINTS env
- add env support for user, password, timeout

* fixes:
- use short form for types
- update doc section with envs
- catch exceptions between etcd3 api calls

* etcd3 lookup pass ansible sanity checks
introduce ansible integration tests for etcd3 lookup

* extract etcd3 setup from existing etcd3 module integration test

* fix etcd3 module/lookup integration tests

* fixes:
- fix port option in docstring
- raise connecttion error
- fix display format issues
- fix ETCDCTL_ENDPOINTS regex
adds:
- basic unit tests

* fix sanity issues

* add etcd3 lookup plugin

* retire version_added tag

Co-Authored-By: Felix Fontein <felix@fontein.de>

* typo fixes

Co-Authored-By: Felix Fontein <felix@fontein.de>

* fix YAML syntax in example

Co-Authored-By: Felix Fontein <felix@fontein.de>

* typo fixes

Co-Authored-By: Felix Fontein <felix@fontein.de>

* remove python shebang as it is useless in Ansible lookup module

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update plugins/lookup/etcd3.py typo

Co-Authored-By: Felix Fontein <felix@fontein.de>

* fixes:
- replaced LookupBase._display by ansible.utils.display.Display
- add regex to retrieve host and port from ETCDCTL_ENDPOINTS env
- add env support for user, password, timeout

* fixes:
- use short form for types
- update doc section with envs
- catch exceptions between etcd3 api calls

* etcd3 lookup pass ansible sanity checks
introduce ansible integration tests for etcd3 lookup

* extract etcd3 setup from existing etcd3 module integration test

* fix etcd3 module/lookup integration tests

* fixes:
- fix port option in docstring
- raise connecttion error
- fix display format issues
- fix ETCDCTL_ENDPOINTS regex
adds:
- basic unit tests

* fix sanity issues

* changes:
- replace kwargs lookups with get_option()
- add 'entpoint' option for correct handling of ETCDCTL_ENDPOINTS env
- code simplification

* fix etcd3 lookup unit test:
replace LookupModule instanciation with lookup_loader

* fix sanity checks

* etcd3 changes:
- docstring documentation fixes/updates
- create etcd3 cnx object with a get_option() loop instead of copying 'private' class object
- set 'endpoints' option mutually exclusive with 'host' and 'port' (raises an AnsibleError exception)

* etcd3 changes:
- added ANSIBLE_METADATA,
- added default value for 'endpoints' option,
- removed defaults for options 'host' and 'port',
- fixed docstring links,
- added 'notes' and 'seealso' sections in doctring
- updated options code handling to reflect docstring's updates

* etcd3 changes:
- fix descriptions for endpoints, host, and port options
- update notes sections
- fix reference to etcd lookup plugin in seealso section
- fix return docstring
- remove useless logging
- obfuscates password in connection logging

* more pythonic lookup on dict keys

Co-Authored-By: Felix Fontein <felix@fontein.de>

* Update password obfuscation

Co-Authored-By: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-04-25 10:58:06 +02:00
Felix Fontein
d31b9dfa99
Reenable consul test, fix issues with a hack (#231)
* Re-enable consul integration tests.

* Add hack workaround for https://github.com/ansible/ansible/issues/68701

* Fix typo.

ci_complete
2020-04-24 08:42:44 +02:00
Andrew Klychkov
bb459cb014
postgresql_user: add scram-sha-256 password support (#100)
* postgresql_user: add support for scram-sha-256 passwords

* postgresql_user: add support for scram-sha-256 passwords

* add changelog fragment

* fix
2020-04-22 12:45:14 +01:00
Andrew Klychkov
3b5520ebf7
mysql_db: add use_shell parameter to prevent Broken pipe errors (#151)
* mysql_db: prevent broken pipe errors by using an intermediate shell process

* use module.run_command()

* mysql_db: add use_shell parameter

* add changelog fragment
2020-04-20 18:46:54 +03:00
Andrew Klychkov
5b1652e8fa
postgresql_db: add trust_input parameter (#184) 2020-04-20 09:38:35 +03:00
Andrew Klychkov
764cae9f33
postgresql_privs: add trust_input parameter (#177)
* postgresql_privs: add trust_input parameter

* add changelog fragment
2020-04-20 09:01:42 +03:00
eryx12o45
e3e6c6167e
Added ldap_search module for searching in LDAP servers (#126)
* fix CI

* Added ldap_search module for searching in LDAP servers

* Fixes from pipeline

* Fixed second script as well

* fix DOCUMENTATION block

* fix DOCUMENTATION block

* fix DOCUMENTATION block

* fix examples and remove changelog fragment

* Added integration tests for ldap_search

* fixes

Co-authored-by: Sebastian Pfahl <sebastian.pfahl@dcso.de>
2020-04-17 10:53:37 +02:00
Jesse Pretorius
f0391bd58a
Remove remaining libvirt content (#180)
This content has been moved to:
https://github.com/ansible-collections/libvirt

ref:
https://github.com/ansible/ansible/issues/67344
https://github.com/ansible-collections/overview/issues/8
2020-04-14 17:46:51 +02:00
Andrew Klychkov
4ad6ff50cd
postgresql_membership: add trust_input parameter (#158)
* postgresql_membership: add trust_input parameter

* add changelog fragment

* add session_role to check
2020-04-14 16:45:36 +03:00
René Moser
ec52007c8d
cloudstack migrated to dedicated collection ngine_io.cloudstack (#173)
* cloudstack migrated to dedicated collection ngine_io.cloudstack

* remove leftovers

* remove more leftovers
2020-04-14 07:33:10 +02:00
René Moser
6ccf3682ac
vultr migrated to dedicated collection ngine_io.vultr (#172)
* vultr migrated to dedicated collection ngine_io.vultr

* remove leftover dead symlink
2020-04-13 20:35:34 +02:00
Andrew Klychkov
6d7f66539c
postgresql_user: add trust_input parameter (#116)
* postgresql: add input checks for potentially dangerous substrings

* postgresql_user: add trust_input parameter

* add CI, add changelog fragment

* fix CI

* moved input patterns outside is_input_dangerous function

* Update plugins/module_utils/database.py

Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>

* Update plugins/module_utils/database.py

Co-Authored-By: Thomas O'Donnell <andytom@users.noreply.github.com>

* fix

Co-authored-by: Thomas O'Donnell <andytom@users.noreply.github.com>
2020-04-12 13:16:44 +02:00