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

438 commits

Author SHA1 Message Date
Zainab Alsaffar
63fbcdb4b1
a new module pagerduty_user (#1025)
* a new module pagerduty_user

* fixed issues related to sanity

* fixed issues related to sanity

* modified the module

* shippable

* typo

* shippable

* removed e

* shippable

* shippable

* shippable

* updated test files

* Update plugins/modules/monitoring/pagerduty_user.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-11-26 13:22:35 +01:00
Alexei Znamensky
7f890c4645
Tidy up validate-modules nonexistent-parameter-documented (#1389)
* fixed validation-modules for plugins/modules/cloud/spotinst/spotinst_aws_elastigroup.py

* fixed validation-modules for plugins/modules/cloud/univention/udm_share.py

* fixed validation-modules for plugins/modules/net_tools/nios/nios_host_record.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 nonexistent-parameter-documented

* Adjustments per the PR

* Removed no longer needed ignore line for udm_share.py
2020-11-26 12:27:37 +01:00
peter
382be570ec
Apache2 module: Add another shib module identifier (#1383)
* Add another shib module identifier to apache2 module (#1379)

* Update changelogs/fragments/1383-apache2-module-amend-shib-workaround.yaml

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-26 07:26:40 +01:00
Dan Jackson
d669e2b60d
Fix macports package present/active detection (#1308)
* Fix typo in redhat_subscription testcase

* Fix macports state=present matching against the wrong package name

Previous implementation returned true if the desired package name occurred anywhere in
the list of all installed packages. For example as a substring of another package name,
or even as a substring of a variant name for a different package.

Instead:

- request macports only list installed packages matching the desired package name, instead of all installed packages.
  - Note `port` exits with 0 regardless of whether any packages match the requested name.
- pass `-q` flag: "Do not print the header line. This is useful when parsing the output of port installed in scripts for further processing."
- eliminate `use_unsafe_shell=True` by searching stdout contents natively in python
instead of using `grep`. This has the added benefit of eliminating any potential
misinterpretation of characters in the package name as regex special characters.

If there are zero matching installed packages, `out` is empty.
If there are one or more matches (due to multiple installed versions), the output format
is: ec8a2bc682/src/port/port.tcl (L3320-L3323)

Notably, two leading spaces, the package name, a space, and then other information.
According to blame via github, those lines haven't changed in 11 years.

* Update macports state=active to eliminate use_unsafe_shell

Similar to previous commit (for macports state=present):

- pass `-q` flag: "Do not print the header line. This is useful when parsing the output of port installed in scripts for further processing."
- search stdout contents natively in python instead of using `grep`.
- added parentheses to search string to eliminate false positives if the package name
or variants contain the word `active`. Still could fail if they contain `(active)`, but
that's less likely

If there are zero matching installed packages, `out` is empty.
If there are one or more matches (due to multiple installed versions), the output format
is: ec8a2bc682/src/port/port.tcl (L3320-L3323)

For "state=active", we're looking for a line that contains `(active)` in the output.

* Basic test case of query_port for present and active

* Attempt to fix lint errors in test

* Different mock module creation, changed test cases indentation/spacing

- picked the wrong mock code to cargo-cult. Thanks to felixfontein for this suggestion
- 4 space indentation on continuation line. I thought I had that originally, but it looks like my editor sabotaged me with mixed tabs/spaces
- Remove leading newline on multi-line test cases. I don't think it would make a difference, but I'd read up on how the python syntax works and want to more accurately represent macports output.

fingers crossed this addresses the known build errors

* Add changelog fragment

* Update tests/unit/plugins/modules/packaging/os/test_macports.py

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

* Update changelogs/fragments/1307-macports-fix-status-check.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-26 06:59:32 +01:00
Alexei Znamensky
a99d011867
Tidy up validate-modules ignores for modules: cloud/profitbricks (#1387)
* fixed validation-modules for plugins/modules/cloud/profitbricks/profitbricks_datacenter.py

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

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

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

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

* Tidy up validate-modules ignores for cloud/profitbricks modules

* CI errors for 2.9
2020-11-25 12:03:12 +01:00
Albert Vaca Cintora
e73451f09e
Datadog: Mark notification_message as no_log (#1338)
* Datadog: Mark notification_message as no_log

This message field is often used to page people or teams inside
an organization when a monitor goes off, by using `@` mentions.
If Ansible is configured to use Datadog's callback plugin [1], an
unwanted interaction would happen: 
When a monitor fails to create, the callback sends an error event
to Datadog which contains all the task's loggable fields in it.
If the message field contains `@` mentions, this event would page
the people on them.

[1] https://github.com/DataDog/ansible-datadog-callback

* Add changelog fragment

* Update changelogs/fragments/1338-datadog-mark-notification_message-no_log.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-25 07:25:00 +01:00
morph027
1f7649fcd7
Add Cloud Init variables for Proxmox_KVM module (#797)
* Add Cloud Init variables for Proxmox_KVM module

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>

* Update plugins/modules/cloud/misc/proxmox_kvm.py

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

* apply yaml syntax to all examples

* remove trailing whitespaces

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Amin Vakil <info@aminvakil.com>
2020-11-24 20:32:25 +01:00
Tristan Le Guern
51a08ea398
proxmox: create a common base (#1331)
* proxmox: create a common base

Add a doc_fragment to share the documentation regarding authentication
parameters (api_host, api_user, api_password, api_token_id,
api_token_secret as well as the lone validate_certs).

Add a module_utils to hold common code such as the argument spec (again
related to authentication paramters), a helper function to convert from
Proxmox boolean representation to python and the base class
ProxmoxAnsible.
For now it only handles the connection to Proxmox VE API but more can be
added in the future.

To check if everything is well in place add three new modules:
proxmox_{domain,group,user}_info.

And finaly tests these new modules.

* Apply suggestions from code review

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

* Add tests/integration/targets/proxmox/aliases

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-24 17:30:39 +01:00
Andrew Klychkov
72b59c764e
Remove postgresql content for 2.0.0 (#1355)
* Remove postgresql content

* add suggested

* Update meta/runtime.yml

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

* Remove symlinks

* Remove a consequence of rebasing

* Remove ssl task from setup_postgresql_db

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-24 09:01:50 +01:00
Amin Vakil
31443e57b1
archive: Fix paramater types (#1039)
* archive: Fix ignored sanity test parameter-list-no-elements

* Fix wrong argument type

* Add changelog

* Add integration test for a list of files
2020-11-24 08:11:36 +01:00
bratw0rst
28ac4b79e2
Added umask option to passwordstore lookup plugin. (#1156)
* Added umask option to passwordstore lookup plugin.

* Added umask documentation and changelog fragment.

* Added default values to paramvals within the run method.

* removed blank lines (PEP8)

* Update changelogs/fragments/lookup-passwordstore-umask.yml

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

* Update plugins/lookup/passwordstore.py

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

* Update changelogs/fragments/lookup-passwordstore-umask.yml

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

* passwordstore lookup plugin: changelog fragment update

* passing environment variables to subprocess.Popen()

* Update plugins/lookup/passwordstore.py

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

* rm trailing whitespace

* Don't force default umask in the plugin, pass will take care of this.

* remove default from the documentation string

* remove trailing whitespaces

* prevent KeyErrors when checking if key exits in paramvals.

* Update plugins/lookup/passwordstore.py

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

* Fix for TypeError

* revert back to old directory test

Co-authored-by: bratw0rst <c.chmiel@speakup.nl>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-24 08:05:59 +01:00
Felix Fontein
c52839c601
Remove deprecated google modules (#1370)
* Remove deprecated google modules.

* Remove ignore.txt entries.
2020-11-24 06:34:48 +01:00
Felix Fontein
eab9a43d2e
Remove hetzner content. (#1368) 2020-11-24 06:34:23 +01:00
Stanislav German-Evtushenko
44fd157a2b
Add filter dict_kv (#1264)
- Add filter `dict_kv` which returns a single key-value pair dictionary created from two arguments

Example 1

```
- hosts: localhost
  gather_facts: false
  vars:
    myvar: myvalue
  tasks:
  - debug:
      msg: "{{ myvar | dict_kv('thatsmyvar') }}"

OUTPUT:
ok: [localhost] => {
    "msg": {
        "thatsmyvar": "myvalue"
    }
}
```

Example 2

```
- hosts: localhost
  gather_facts: false
  vars:
    common_config:
      type: host
      database: all
    myservers:
    - server1
    - server2
  tasks:
  - debug:
      msg: "{{ myservers | map('dict_kv', 'server') | map('combine', common_config) }}"

OUTPUT:
ok: [localhost] => {
    "msg": [
        {
            "database": "all",
            "server": "server1",
            "type": "host"
        },
        {
            "database": "all",
            "server": "server2",
            "type": "host"
        }
    ]
}
```
2020-11-24 05:41:18 +01:00
Alexei Znamensky
ce5fc7764a
Tidy up validate-modules ignores for monitoring modules (#1350)
* fixed validation-modules for plugins/modules/monitoring/bigpanda.py

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* fixed validation-modules for plugins/modules/monitoring/datadog/datadog_monitor.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/sensu/sensu_handler.py

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

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

* fixed trailing space

* Enabling validation-modules for monitoring modules

* Added line for 2.9

* Update plugins/modules/monitoring/icinga2_host.py

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

* Update plugins/modules/monitoring/datadog/datadog_event.py

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

* Suggestion from PR

* oops, missed the 2.11 ignore file

* Update plugins/modules/monitoring/icinga2_host.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-23 22:07:03 +01:00
Alexei Znamensky
5a567b80c6
Tidy up validate-modules ignores for modules: cloud/centurylink (rebased) (#1365)
* fixed validation-modules for plugins/modules/cloud/centurylink/clc_aa_policy.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_alert_policy.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_firewall_policy.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_blueprint_package.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_group.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.py

fixed validation-modules for plugins/modules/cloud/centurylink/clc_server_snapshot.py

* Tidy up validate-modules ignores for cloud/centurylink modules

* Update plugins/modules/cloud/centurylink/clc_firewall_policy.py

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-23 21:47:52 +01:00
Alexei Znamensky
88c6e6ac61
Tidy up validate-modules ignores for modules: cloud/oneandone (#1357)
* fixed validation-modules for plugins/modules/cloud/oneandone/oneandone_firewall_policy.py

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

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

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

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

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

* Tidy up validate-modules ignores for cloud/oneandone modules

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

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-23 21:47:18 +01:00
Larry
00c2ec062d
Added Arguments for Facter module (#768)
* Added arguments and Documentation

* fixing sanity checks

* Added documentation

* attempting doc fix

* removed elements from doc

* updated elements

* Update plugins/modules/system/facter.py

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

* Update plugins/modules/system/facter.py

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

* Create 768-factor.yml

added change log

* Rename 768-factor.yml to 768-facter.yml

* Update changelogs/fragments/768-facter.yml

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

* Updated Doc, simplified arg add

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-23 18:59:09 +01:00
Felix Fontein
3d66ed3ae3
Remove deprecated modules and plugins. (#1347)
* Remove deprecated modules and plugins.

* Clean up BOTMETA.

* Re-add _netapp doc fragment and module utils. This is needed by the remaining na_ontap_gather_facts module scheduled for removal in 3.0.0.
2020-11-23 14:10:18 +01:00
Felix Fontein
f896c2986c
Removal of docker content for 2.0.0 (#1304)
* Remove docker content.

* Clean up BOTMETA.

* Add redirects, tombstone docker_image_facts and docker_service.

* Add changelog.

* Remove docker action group.

* Rewrite fragment.

* Ansible 2.11 is now called Ansible 3.0.0.
2020-11-23 13:03:19 +01:00
Felix Fontein
a96f90ff94
Fix boolean defaults. (#1343) 2020-11-23 11:14:43 +00:00
Alexei Znamensky
3d1f9ed657
Tidy up validate-modules ignores for some cloud/ modules (#1354)
* fixed validation-modules for plugins/modules/cloud/atomic/atomic_container.py

* fixed validation-modules for plugins/modules/cloud/oracle/oci_vcn.py

* fixed validation-modules for plugins/modules/cloud/heroku/heroku_collaborator.py

* fixed validation-modules for plugins/modules/cloud/docker/docker_stack.py

* fixed validation-modules for plugins/modules/cloud/pubnub/pubnub_blocks.py

* fixed validation-modules for plugins/modules/cloud/huawei/hwc_ecs_instance.py

* fixed validation-modules for plugins/modules/cloud/huawei/hwc_vpc_port.py

* fixed validation-modules for plugins/modules/cloud/huawei/hwc_vpc_subnet.py

* fixed validation-modules for plugins/modules/cloud/ovh/ovh_ip_failover.py

* fixed validation-modules for plugins/modules/cloud/ovh/ovh_ip_loadbalancing_backend.py

* fixed validation-modules for plugins/modules/cloud/softlayer/sl_vm.py

* fixed validation-modules for plugins/modules/cloud/misc/proxmox_kvm.py

* fixed validation-modules for plugins/modules/cloud/misc/proxmox_template.py

* fixed validation-modules for plugins/modules/cloud/misc/terraform.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_dns_reload.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_memstore_info.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_server_info.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_zone_domain.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_zone.py

* fixed validation-modules for plugins/modules/cloud/memset/memset_zone_record.py

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

* fixed validation-modules for plugins/modules/cloud/linode/linode_v4.py

* fixed validation-modules for plugins/doc_fragments/dimensiondata.py

* fixed validation-modules for plugins/modules/cloud/dimensiondata/dimensiondata_network.py

* fixed validation-modules for plugins/modules/cloud/dimensiondata/dimensiondata_vlan.py

* fixed validation-modules for plugins/modules/cloud/xenserver/xenserver_guest_info.py

* fixed validation-modules for plugins/modules/cloud/xenserver/xenserver_guest_powerstate.py

* Tidy up validate-modules ignores for varied cloud modules

- loking at the count of ignore lines, worked from the lower numbers up

* rolled back line for docker_container, removed two extraneous for xenserver

* rolled back lins for linode in 2.9
2020-11-23 09:22:30 +01:00
Alexey Masolov
5c768dc6f1
[2.10] Fix omapi_host on python3 (#788) 2020-11-22 12:21:18 +01:00
Alexei Znamensky
4c88a8edc0
Tidy up validate-modules ignores for modules: web_infrastructure/sophos_utm (#1351)
* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_aaa_group_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_aaa_group.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_ca_host_key_cert.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_dns_host.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_network_interface_address.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_auth_profile.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_exception.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_frontend_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_frontend.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_location_info.py

* fixed validation-modules for plugins/modules/web_infrastructure/sophos_utm/utm_proxy_location.py

* Enabling validation-modules for web_infrastructure/sophos_utm modules

* Rolled back utm_network_interface_address.py for 2.9 sake
2020-11-22 12:17:46 +01:00
Martin Migasiewicz
ece0202507
feat(pkgin): add support for installation of full versioned package names (#1256)
* * pkgin query_package(..) understands now also package name with version (my-package-1.2nb123456). * pkgin query_package(..) will distinct between not-installed and not-found packages. * pkgin install_package(..) fails with proper error if a non-existing package is attempted to be installed.

* fixup ansibot comments

* add changelog fragment

* add example

* use more pythonic condition

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

* remove extra dot between description and link to PR

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

* fix file extension of changelog fragment

* add pkgin unit tests for query_package function

* fix pep8 issues

* use enum Flag instead mix of strings, bools and None as return value

* use IntEnum instead Flag to support Python versions >= 2.6

* fix pep8 and pylint errors

* use regular class instead enum to avoid issues with older Python releases

* fix comment

* remove the combined package state since without an IntFlag or Flag the usage of it would require to use logical operators

Co-authored-by: Erik van Nooijen <eric.vannooijen@tomtom.com>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-11-21 21:20:27 +01:00
jake2184
8f99f9cb1c
Add ability to resize existing partition (#773)
* Add ability to resize existing partition

* Add 'resize' flag to support backwards compatability, and allow partition reduction

* Add changelog fragment for #773

* Update changelogs/fragments/773-resize-partition.yml

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

* Update plugins/modules/system/parted.py

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

* Update resize flag with PR review comments

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

* Update plugins/modules/system/parted.py

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

* Update default on resize flag in parted.py

* Apply suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-11-21 21:18:42 +01:00
Mark Chappell
0a28a0c8b0
ipa: Update non-secret fields matching '*pass*' with no_log=False (#1339)
* ipa: Update non-secret fields matching '*pass*' with no_log=False

* Add changelog fragment

* Update changelogs/fragments/1339-ip-no_log-nonsecret.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-21 17:25:49 +01:00
Alexei Znamensky
e3fcc7de2a
Adding module_utils/module_helper.py + big revamp in xfconf.py to use it (#1322)
* Big revamp in xfconf.py

- added plugin/module_utils/module_helper.py
  - scaffold class for writing modules, beyond standard AnsibleModule
  - automatic capture of exceptions
  - easier dependency testing
  - StateMixin to easily handle different behaviours for 'state' param
  - CmdMixin to easily run external commands
- adapted test_xfconf.py
  - the args for run_command are now lists instead of a string
  - value and previous_value were not being tested before (because xfconf wasn't filling results - see below)
  - added more tests: setting value to previous_value, getting non-existent property
- rewritten xfconf module, keeping the same results
  - original module posted results as ansible_facts, this version still does it for compatibility, but also adds to the module result

* Added suggestions from the PR

* Added russoz as maintainer for the module_utils/module_helper.py file

* Formatting using printf-style requires special treatment

Strings not containing substitution tokens must work as well.

* Tidied up variables in module definition

* Tests with ArgFormat and DependencyCtxMgr

* pytest parameters must be in the same order, it seems

* improved testing for the DependencyCtxMgr

* fixed test for older pythons

* Moved changed property to improve readability

* Added testcase for state: absent and adjusted xfconf after it

* Fixed param name environ_update in run_command()

* added changelog fragment

* fixed tests after run_command param change
2020-11-20 11:27:53 +01:00
TGuimbert
2be2d30f3b
Add --non-interactive argurment to Flatpak (#1246)
* Add noninteractive argument

* Correct pep8 errors

* Add changelog fragment

* Update changelogs/fragments/1246-flatpak-use-non-interactive-argument.yaml

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

Co-authored-by: Thibault GUIMBERT <tguimbert@leni.fr>
Co-authored-by: Thibault Guimbert <tguimbert@localhost.localdomain>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-19 21:10:54 +01:00
Amin Vakil
9ccc0464ff
archive: remove path folder itself when remove paramater is true (#1083)
* Remove paths folders themselves

* Add changelog

* Add remove integration test

* Check excluded file
2020-11-19 20:51:16 +01:00
Vinícius Zavam
d95910963b
[pkgng] present the 'ignore_osver' option to pkg (#1243)
* [pkgng] introduce IGNORE_OSVERSION to pkgng

* [pkgng] add small description about IGNORE_OSVERSION
  - source: https://www.freebsd.org/cgi/man.cgi?query=pkg.conf&sektion=5

* [pkgng] initialize default value of 'ignoreosver' as False

* [pkgng] replace double quotes by single ones, when setting 'ignoreosver'

* [pkgng] do not make 'ignoreosver' a required option for this module

* [pkgng] mode the point we set IGNORE_OSVER into install_packages()

* [pkgng] restrict the use of 'ignoreosver' to pkg versions >= 1.11
  - https://github.com/freebsd/pkg/blob/release-1.11/NEWS#L51

* [pkgng] value of 'ignoreosver' passed to install_packages

  - install_packages() contains a taks to update local pkgs cache;
  - should that update be triggered, AND 'ignoreosver' is set to True,
    we must change existing "batch_var" and add the IGNORE_OSVERSION=yes
    to the environment;
  - there pkg running on STABLE or CURRENT FreeBSD machines will have a
    chance to proceed with the "update" action

* [pkgng] create option description for "ignoreosver" and its defaults

* [pkgng] make sure we do use IGNORE_OSVERSION when action is "update"

* [pkgng] add more information on how 'ignoreosver' works

Signed-off-by: Vinicius Zavam <egypcio@googlemail.com>

* [pkgng] create changelog fragment for PR #1243

Signed-off-by: Vinicius Zavam <egypcio@googlemail.com>

* [pkgng] add information about when we start to offer 'ignoreosver'

Signed-off-by: Vinicius Zavam <egypcio@googlemail.com>

* [pkgng] rename 'ignoreosver' -> 'ignore_osver'

Signed-off-by: Vinicius Zavam <egypcio@googlemail.com>

* [pkgng] remove unnecessary backslashes for install_packages() call

Signed-off-by: Vinicius Zavam <egypcio@googlemail.com>

* [pkgng] fix changelog fragment's formating

Signed-off-by: Vinicius Zavam <egypcio@googlemail.com>
2020-11-17 07:17:16 +01:00
John Weber
9787e8a6bf
maven_artifact: Adjust path for time stamped SNAPSHOT versions (#713)
* Adjust path for time stamped SNAPSHOT versions

Test the version string for the timestamp SNAPSHOT pattern. If it matches, substitute the SNAPSHOT version in the artifact path rather than the timestamped version string.

* Add changelog fragment for PR 713

* Update changelogs/fragments/713-maven-timestamp-snapshot.yml

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

* C
Fix problems reported by shippable
Fix problems reported by pull request checks

* Resolve additional shipping errors

Co-authored-by: jweber <jweber@seastreet.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-16 21:41:55 +01:00
Tristan Le Guern
5cc900cfdb
proxmox*: add support for API tokens (#1206)
Provides an alternative authentication method to the password.
The token validity is only tested during the first request after the
instantiation of `ProxmoxAPI`, thus the presence of a call to
`proxmox.version.get()` in `proxmox_template`.

Example:

    - name: Ensure test-vm is created
      proxmox_kvm:
        api_host: prx-test
        api_user: tleguern@pve
        api_token_id: api-pve-test
        api_token_secret: fad3db3d-b335-ee15-9fb0-ea1bf70128db
        node: prx-test-01
        name: test-vm
	...
2020-11-16 21:24:11 +01:00
Jonathan Piron
6cec8759d0
Fix hashi_vault lookup approle authentication (#1138)
As per the plugin documentation and the Hashicorp Vault documentation (https://www.vaultproject.io/docs/auth/approle#secretid)
secret_id is not mandatory.
Moreover, using this lookup plugin without a secret_id used to work in
Ansible 2.9.

Co-authored-by: Jonathan Piron <jonathanpiron@gmail.com>
2020-11-16 16:42:42 +01:00
Alexei Znamensky
f4c63ede7f
Xfconf tests (#1305)
* Adjusted case in class names - transparent to users

* Adjustments to module code:

- No need to try/except everything, in fact it complicated debugging
- Replaced second call to xfconf.get() with xfconf.previous_value

* the actual test

* removed extraneous empty lines

* added changelog fragment

* rolled back removing the try/except around the main execution

* Update changelogs/fragments/1305-added-xfconf-tests.yaml

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

* Update plugins/modules/system/xfconf.py

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

* Removed extraneous import

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-16 11:27:00 +00:00
Erik Godding Boye
64c6f20b55
Add support for HashiCorp Vault JWT auth (#1213)
* Add support for Hashicorp Vault JWT auth

* Add support for HashiCorp Vault JWT auth (continued)

Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>

Co-authored-by: Mike Brancato <mike@mikebrancato.com>
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
2020-11-16 07:48:58 +01:00
Raghu Siddarth Udiyar
33b8d1c57e
Add docker build output to task result (#805)
The build output is only added during failures, but its useful to
have this available during normal task execution as well.
2020-11-15 16:51:02 +01:00
thetuxkeeper
726aa5ecf7
proxmox_kvm: pool parameter not supported by qemu/<vmid>/config API endpoint (#1258)
* proxmox_kvm: pool parameter not supported by API on update

* added changelog fragment

* format fix and pull request link added

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-14 11:52:01 +01:00
Felix Fontein
0109310aa2 Fix gcp_storage_file lookup plugin (#1284). 2020-11-13 16:01:10 -05:00
Felix Fontein
75fd32ca55 Fix the linode inventory plugin, and the redis and memcached cache plugins (#1281, #1282, #1283). 2020-11-13 16:01:10 -05:00
Alexei Znamensky
deddce02fa
Tidy up validate-modules ignores for packaging modules (#1289)
* fixed validation-modules for plugins/modules/packaging/language/bower.py
2020-11-13 12:41:11 +00:00
rmcintosh
637eaa15de
Add support for StackScripts to Linode v4 module (#1270)
* Add support for StackScripts to Linode v4 module

* Apply suggestions from code review

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

* add changelog fragment

* Add stackscript to example

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-13 03:21:56 -08:00
Adam Vaughan
82e33a0ce5
Adds a module for sending PagerDuty change events. (#1269)
* Adds a module for sending PagerDuty change events.

PagerDuty recently released a new feature called change events that behave similar to events that can trigger incidents, except they are used to track code/infrastrucure changes rather than triggering incidents. This change adds a module to easily allow creating change events from ansible deploys.

* Apply suggestions from code review

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

* Update copyright.

* Expand on example usage.

* Make API request with missing data when in check mode.

Just to ensure that we are hitting the correct API endpoint and it is responding as expected.

* Apply suggestions from code review

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

* Clarify lack of idempotency.

* Apply suggestions from code review

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

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-13 11:44:57 +03:00
Rafael Sadowski
ef49950b96
Add OpenBSD pkg_add(1) snapshot support (#965)
* Add OpenBSD pkg_add(1) snapshot support

* Fix documentation syntax

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

* Bump version_added

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

* zap one trailing whitespace

The first trailing whitespace is necessary otherwise we cal pkg_add(1)
with '-Im-Dsnap' which is invalid.

* Check build flag in package_present()

* zap one trailing whitespace

The first trailing whitespace is necessary otherwise we cal pkg_add(1)
with '-Im-Dsnap' which is invalid.

* check snapshot/build combination a little earlier

* Update "Force" documentation

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

* Bump version tgo 1.3.0

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

* Add a changelog fragment.

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

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

* Add: mutually exclusiv hint for "build" and add mutually_exclusive

* Re-add build=%s check

Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
2020-11-13 06:33:13 +01:00
Alexei Znamensky
9b593fd46c
Tidy up validate-modules ignores for remote_management/manageiq modules (#1272)
* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_alert_profiles.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_alerts.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_group.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_policies.py

* partially fixed plugins/modules/remote_management/manageiq/manageiq_provider.py

- this module had way too many validation errors, many involving documenting parameters from scratch, so added types to options and suboptions, but rolled back ignore lines

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_tags.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_tenant.py

* fixed validation-modules for plugins/modules/remote_management/manageiq/manageiq_user.py

* fixed validation-modules for plugins/doc_fragments/manageiq.py

* Enabling validation-modules for remote_management/manageiq modules

* Hello 2.9 my old friend, I've come to roll you back again...
2020-11-12 08:28:32 +01:00
Alexei Znamensky
adbf624a42
Tidy up validate-modules ignores for cloud/scaleway modules (#1268)
* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_compute.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_image_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_image_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_ip_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_ip_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_ip.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_lb.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_security_group_rule.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_server_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_server_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_snapshot_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_snapshot_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_sshkey.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_user_data.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_volume_facts.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_volume_info.py

* fixed validation-modules for plugins/modules/cloud/scaleway/scaleway_volume.py

* Enabling validation-modules for cloud/scaleway modules

* Reverted invalid-documentation validations in 2.9
2020-11-12 08:26:54 +01:00
Alexei Znamensky
4b26990d8b
Tidy up validate-modules ignores for cloud/google modules (#1265)
* fixed validation-modules for plugins/modules/cloud/google/gcdns_record.py

* fixed validation-modules for plugins/modules/cloud/google/gcdns_zone.py

* fixed validation-modules for plugins/modules/cloud/google/gce_eip.py

* fixed validation-modules for plugins/modules/cloud/google/gce_img.py

* fixed validation-modules for plugins/modules/cloud/google/gce_instance_template.py

* fixed validation-modules for plugins/modules/cloud/google/gce_labels.py

* fixed validation-modules for plugins/modules/cloud/google/gce_lb.py

* fixed validation-modules for plugins/modules/cloud/google/gce_mig.py

* fixed validation-modules for plugins/modules/cloud/google/gce_net.py

* fixed validation-modules for plugins/modules/cloud/google/gce_pd.py

* fixed validation-modules for plugins/modules/cloud/google/gce_snapshot.py

* fixed validation-modules for plugins/modules/cloud/google/gce_tag.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_backend_service.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_forwarding_rule.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_healthcheck.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_target_proxy.py

* fixed validation-modules for plugins/modules/cloud/google/gcpubsub_info.py

* fixed validation-modules for plugins/modules/cloud/google/gcpubsub.py

* fixed validation-modules for plugins/modules/cloud/google/gcp_url_map.py

* fixed validation-modules for plugins/modules/cloud/google/gcspanner.py

* fixed validation-modules for plugins/modules/cloud/google/gc_storage.py

* adjust parameter description in gce_eip.py

* fixed validation-modules for plugins/modules/cloud/google/gce.py

* removed extra type definition

* reformatted long lines

* Tidy up validate-modules ignores for cloud/google modules

* gc_storage.py: fixed parameter to be overwrite and alias force, instead of the other way around

* rolled back a number of ignore lines that ansible 2.9 believes to defy sanity

* gce_instance_template.py: the metadata parameter brings no definition whatsoever in argument_spec, causing a number of problems. Rolling back for now.

* Fixes on docs from the PR
2020-11-12 08:24:30 +01:00
Alexei Znamensky
7db2ce5be3
added description parameter to create request (#1196)
* added description parameter to create request

* added changelog fragment

* Update changelogs/fragments/1196-use_description-in-gitlab-group-creation.yml

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

* added integration test for description in gitlab_group

* per request in the PR, creating separate task for the description issue in the integration test

* replaced deprecated param names with new names

* description should be optional to keep backward compatibility

* Update plugins/modules/source_control/gitlab/gitlab_group.py

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-11 13:33:38 +01:00
Felix Fontein
d9e734d662
Add a warning when ansible_key label is not found on a secret. (#31) (#1249)
* add a warning when ansible_label is not found on a secret. addresses #30

* Update changelogs/fragments/31-docker-secret.yml

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

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

Backported from 22ba76b4e9
2020-11-09 08:42:59 +01:00
JuddTracy-DAS
4fe87879ff
Fix idempotent issue when using lvol with %VG or %PVS size options and VG is fully allocated (#229)
* Fix rounding issues with percentages

Changed the behavior when using %VG or %PVS to make the size_requested an even modulus with the VGs physical extents by rounding down.  This makes the usage of %VG or $PVE idempotent when the calculated size_requested does not end on a physical extent boundary.

* Added ansible changelog fragment.

* Forgot the module in the changelog fragment.

* Added URL to the PR to the changelog fragment.

* Update changelogs/fragments/229_lvol_percentage_fix.yml

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

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-11-09 08:39:34 +01:00