Commit graph

1349 commits

Author SHA1 Message Date
James Cammarata
51b33b79c0
T woerner max concurrent (#60702)
* play, block, task: New attribute forks

With this it is possible to limit the number of concurrent task runs.
forks can now be used in play, block and task. If forks is set in different
levels in the chain, then the smallest value will be used for the task.

The attribute has been added to the Base class as a list to easily provide
all the values that have been set in the different levels of the chain.

A warning has been added because of the conflict with run_once. forks will
be ignored in this case.

The forks limitation in StrategyBase._queue_task is not used for the free
strategy.

Signed-off-by: Thomas Woerner <twoerner@redhat.com>

* Handle forks in free strategy

The forks attribute for the free strategy is handled in run in the free
StrategyModule. This is dony by counting the amount of tasks where the uuid
is the same as the current task, that should be queued next. If this amount
is bigger or equal to the forks attribute from the chain (task, block,
play), then it will be skipped to the next host. Like it is also done with
blocked_hosts.

Signed-off-by: Thomas Woerner <twoerner@redhat.com>

* Test cases for forks with linear and free strategy

With ansible_python_interpreter defined in inventory file using
ansible_playbook_python.

Signed-off-by: Thomas Woerner <twoerner@redhat.com>

* Changing forks keyword to throttle and adding some more docs
2019-08-28 18:47:39 -05:00
Matt Davis
7d1a981b61
default collection support (#61415)
* default collection support

* playbooks run from inside a registered collection will set that collection as the first item in the search order (as will all non-collection roles)
* this allows easy migration of runme.sh style playbook/role integration tests to collections without the playbooks/roles needing to know the name of their enclosing collection

* ignore bogus sanity error

* filed #61460

* fixed task unit test failure

* don't append an empty collections list to the ds

* ignore leftover local_action in mod_args ds action parsing

* fix async_extra_data test to not require ssh and bogus locale

* disable default collection test under Windows

* ensure collection location FS code is always bytes

* add changelog
2019-08-28 16:31:40 -07:00
robertchung
caa5abdfc9 Fix TypeError in ec2_group.py for Python3 when sorting dictionary list (#59844)
* Fix TypeError in ec2_group.py for Python3 when sorting dictionary list

* Using json.loads() and dumps() to replace sorting

* Bug fixes for ec2_group.py

* Dictionaries cannot be compared/sorted in Python3

* Diff will occur when the IpPermissions have the same IpRanges but have different ordering

* 'before' will be sorted by 'Type' with high priority than 'IP', but 'boto3.describe_security_groups()' function cannot get 'Type' from Amazon

* Add some basic diff mode testing to exercise the rule-sorting code
2019-08-28 16:28:42 -07:00
Sam Doran
73248bf27d validate-modules - Use error codes instead of numbers (#60711) 2019-08-28 14:12:56 -07:00
Felix Fontein
59ab4d9307
oVirt: rename _facts -> _info (#61299)
* Rename oVirt _facts -> _info

* Adjust PR #.

* Forgot update BOTMETA / ignore.txt for doc fragment.

* Compatibility for 3rd-party modules using module_utils or info doc fragment.

* Update note.

* Fix/improve docs.

* Update lib/ansible/modules/cloud/ovirt/ovirt_event_info.py

Co-Authored-By: Sloane Hertel <shertel@redhat.com>

* Fix variable.

* Fix return value documentation for ovirt_external_provider_info.
2019-08-28 21:01:46 +02:00
smile37773
161c1ce17e Rename Azure modules: "facts"->"info" (#61417)
* rename

* add symlink

* add the log

* fix the ignore file

* fix

* fix
2019-08-28 19:01:10 +08:00
Matt Clay
f510d59943
Support relative imports in AnsiballZ. (#61196) 2019-08-27 18:11:21 -07:00
Jordan Borean
66f52b74b1 Change collection PS util import pattern (#61307)
* Change collection PS util import pattern

* Add changes for py2 compat

* fix up regex and doc errors

* fix up import analysis

* Sanity fix for 2.6 CI workers

* Get collection util path for coverage collection
2019-08-27 16:02:27 -07:00
Simon Dodsley
21f0c0f42f Change references to ansible_facts (#61353) 2019-08-27 18:00:25 -04:00
Simon Dodsley
948023176e Changes references to ansible_facts (FA_RA) (#61355) 2019-08-27 18:00:12 -04:00
Simon Dodsley
05afc28d08 Changes references to ansible_facts (FB_S3USER) (#61356) 2019-08-27 18:00:01 -04:00
Felix Fontein
c9a9bd9d64
OneView: rename _facts -> _info (#61208)
* Rename OneView _facts modules -> _info

* Adjust PR #.

* Forgot to update test names.

* Remove superfluous blank line.

* Some more things from review.
2019-08-27 23:21:40 +02:00
smile37773
5438013191 Rename Azure modules: facts -> info (#60987) 2019-08-28 04:44:57 +08:00
Felix Fontein
2db4e044ab smartos_image_facts: rename to smartos_image_info (#60915)
* Rename smartos_image_facts -> smartos_image_info

* Add changelog.
2019-08-27 16:43:10 -04:00
Felix Fontein
e176023c6b Scaleway: rename _facts -> _info (#61095)
* Rename scaleway _facts -> _info

* Add changelog.

* Improve docs.
2019-08-27 16:39:24 -04:00
Felix Fontein
185a1fcb07 Online: rename _facts -> _info (#61091)
* Rename online _facts -> _info

* Add changelog.
2019-08-27 16:36:55 -04:00
Kevin Breit
489156378c Meraki - Enable API call rate limiting for requests (#54827)
* Initial commit for rate limiting
- Detects if error code is 429
- Pauses for random time between .5 and 5 seconds before retrying
- If it fails 10 times, give up and tell user

* Redo structure of request() to support rate limiting

* Hold down timer is now a sliding scale
- 3 * number of retries
- Fails after the 30 second wait

* Whitespace fixes

* Redo implementation using decorators
- Errors aren't tested but code works for regular calls

* Unit tests work for error handling

* Add integration tests for successful retries

* Add condition for 502 errors and retry

* Move _error_report out of the class

* PEP8 fixes

* Add changelog entry
2019-08-27 16:32:09 -04:00
Felix Fontein
1906c05348
vertica_facts: rename to vertica_info (#60916)
* Rename vertica_facts -> vertica_info

* Add changelog.

* Fix porting guide.
2019-08-27 21:28:36 +02:00
Jack Parsons
80b73712a9 Template value of debugger and then check for validity (#53587)
* Template value of debugger and then check for validity

* Removed if/else and forcing failure on undefined as per comments

* Added changelog

* changed colon to brackets so it appears as a string
2019-08-27 12:02:26 -05:00
ygelfand
36b7baca4d getent - add service support(#60295) 2019-08-27 11:58:37 -04:00
Felix Fontein
c91929b2b3 OpenStack: rename _facts -> _info (#61197)
* Rename openstack _facts -> _info

* Add new module names to module_defaults.yml.
2019-08-27 11:50:14 -04:00
Jordan Webb
27cac742ca Fix pipelining in buildah connection plugin (#59745)
* Fix pipelining in buildah plugin

* Add changelog fragment
2019-08-27 10:11:47 -04:00
claudioiuliano
ab559c4629 Remove 'network-interface' for tag_specifications (#53398)
* Remove 'network-interface' for tag_specifications

https://github.com/aws/aws-cli/issues/2865

* changelog
2019-08-26 19:37:00 -04:00
pratikgadiya12
8ee7d9f598 VMWare - Rename _facts to _info (#57474)
Deprecate vmware's _facts modules and add new modules.

Fixes: #57278
2019-08-26 14:45:34 -04:00
Felix Fontein
47c2ff4c26
Redfish modules: rename _facts -> _info (#60992)
* Rename redfish_facts -> redfish_info, idrac_redfish_facts -> idrac_redfish_info

* Update porting guide.

* Add changelog.

* Fix metadata.

* Remove copy artefacts.

* Change from deprecate/new module to rename.
2019-08-26 20:42:04 +02:00
Felix Fontein
e536d0e128
openssl_*: deprecate PyOpenSSL backends (#59907)
* Deprecate PyOpenSSL backends.

* Add changelog.

* Add porting guide entry.

* Improve tests to ignore deprecations when comparing results.

* Deprecating pyopenssl backend for get_certificate and openssl_publickey.

* Fix typo.
2019-08-26 18:26:10 +02:00
Felix Fontein
7f4f2506a0
acme_certificate: make compatible to Buypass' ACME v2 testing endpoint (#60727)
* Don't unnecessarily use location from header.

* Add changelog.
2019-08-26 18:19:55 +02:00
Felix Fontein
14974f5fc2
openssl_certificate_info: add ocsp_uri return value (#60393)
* Add ocsp_uri return value.

* Add changelog.

* Add integration test.

* Fix rebase error.
2019-08-26 17:42:52 +02:00
Nathaniel Case
f3f30c146b
Deprecate net_* modules (#60818)
* Deprecate net_ modules

* Move modules to finish deprecation

* Add missing `why`, move net_static_route

* Add changelogs and porting guide
2019-08-26 09:07:54 -04:00
Michał Szczepańczyk
8ed3a0b360 fix bug - k8s was crashing when yaml ended with 3 dashes (#61182)
* fix bug - k8s was crashing when yaml ended with 3 dashes

* #61182 - add changelog
2019-08-26 17:28:01 +10:00
Felix Fontein
c3b1a0a7e8 Vultr: rename _facts -> _info (#61239) 2019-08-24 17:54:17 +02:00
Mark Chappell
5434bf74c6 Fix issues with aws_kms when working cross-account and with IDs (#60805)
* aws_kms: (integration tests) Test updating a key by ID rather than just my alias

* aws_kms: (integration tests) Test deletion of non-existent and keys that are already marked for deletion

* aws_kms: Ensure we can perform actions on a specific key_id rather than just aliases

In the process switch over to using get_key_details rather than listing all keys.

* aws_kms: When updating keys use the ARN rather than just the ID.

This is important when working with cross-account trusts.
2019-08-23 16:56:45 -07:00
Søren Kröger
1cf43e5017 Handle multiple Content-Type headers correctly (#31238)
* Handle multiple Content-Type headers correctly

Avoids situations where mulitple Content-Type headers including charset information can result in errors like 
```
LookupError: unknown encoding: UTF-8, text/html
```

* Account for multiple conflicting values for content-type and charset

* Add changelog fragment
2019-08-23 16:48:16 -05:00
Ryan Conway
e4c1c05363 Renaming onepassword_facts to onepassword_info. (#61237)
* Renaming `onepassword_facts` to `onepassword_info`.

* Update module examples.

* Add changelog fragment.

* Add module rename to the 2.9 porting guide.

* Document the parameter types in the module docs.

* Fix incorrect parameter name.

* Update docs/docsite/rst/porting_guides/porting_guide_2.9.rst

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

* Remove `onepassword_facts` as it has been renamed to `onepassword_info` including fixes for the sanity tests.
2019-08-23 20:45:13 +02:00
Felix Fontein
fa70690e5c
openssl_certificate/csr(_info): add support for SubjectKeyIdentifier and AuthorityKeyIdentifier (#60741)
* Add support for SubjectKeyIdentifier and AuthorityKeyIdentifier to _info modules.

* Adding SubjectKeyIdentifier and AuthorityKeyIdentifier support to openssl_certificate and openssl_csr.

* Fix type of authority_cert_issuer.

* Add basic tests.

* Add changelog.

* Added proper tests for _info modules.

* Fix docs bug.

* Make sure new features are only used when cryptography backend for openssl_csr is available.

* Work around jinja2 being too old on some CI hosts.

* Add tests for openssl_csr.

* Add openssl_certificate tests.

* Fix idempotence test.

* Move one level up.

* Add ownca_create_authority_key_identifier option.

* Add ownca_create_authority_key_identifier option.

* Add idempotency check.

* Apparently the function call expected different args for cryptography < 2.7.

* Fix copy'n'paste errors and typos.

* string -> general name.

* Add disclaimer.

* Implement always_create / create_if_not_provided / never_create for openssl_certificate.

* Update changelog and porting guide.

* Add comments for defaults.
2019-08-23 14:01:42 +02:00
Mark Chappell
77e4371460 aws_kms: Update policy on existing keys (when passed) (#60059)
* aws_kms: (integration tests) Use module_defaults to reduce the copy and paste

* aws_kms: (integration tests) make sure policy option functions.

* aws_kms: (integration tests) Move iam_role creation to start of playbook.

iam_roles aren't fully created when iam_role completes, there's a delay on the Amazon side before they're fully recognised.

* aws_kms: Update policy on existing keys (when passed)
2019-08-23 20:38:38 +10:00
Andrey Klychkov
e3cf76533c postgresql_user: add groups parameter (#60638)
* postgresql_user: add groups parameter

* postgresql_user: add groups parameter, fail_on_role default True

* postgresql_user: add groups parameter, add changelog fragment
2019-08-23 08:17:23 +02:00
Felix Fontein
72365b01e0 acme_certificate: only return challenges that need to be satisfied (#61191)
* Only return challenges that need to be satisfied.

* Adjust PR #.
2019-08-22 23:10:53 -04:00
Felix Fontein
18f7c3b850
Netapp: rename _facts -> _info (#60980)
* Rename na_ontap_gather_facts -> na_ontap_info
Rename netapp_e_facts -> netapp_e_info

* Add changelog.

* Fix sanity.

* Forgot test.

* Forgot to remove 'gather'.

* Fix sanity ignore.

* Remove netapp_e_facts from PR.

* Remove superfluous version_added.
2019-08-22 22:51:45 +02:00
Matt Martz
0ff9978bc5
Ensure has_dead_workers functions (#60653)
* Ensure has_dead_workers functions

* Fix up tests

* Add changelog. Fixes #29124
2019-08-22 14:32:49 -05:00
Mark Chappell
70777020c4 Fix iam_password_policy integration tests (#60930)
* iam_password_policy: (integration tests) Use module defaults for AWS connection details

* iam_password_policy: (integration tests) Ensure the policy is removed when tests fail

* iam_password_policy: (integration tests) Add regression test for #59102

* iam_password_policy: Only return changed when the policy changes.

* iam_password_policy: PasswordReusePrevention must be omitted to remove/set to 0

* #60930 add changelog

* Update hacking AWS security policy to allow testing of Password Policy Management
2019-08-22 23:25:25 +10:00
Andrey Klychkov
191068a286 Issue 59955: add array handling to postgresql_query module (#60559)
* Issue 59955: add array handling to postgresql_query module

* Issue 59955: add array handling to postgresql_query module, improvements

* Issue 59955: add array handling to postgresql_query module, fix example comment
2019-08-22 08:53:29 +02:00
Lukas Kämmerling
96199be96b Rename hcloud_*_facts to hcloud_*_info (#60926)
* Rename hcloud_datacenter_facts to hcloud_datacenter_info

* Rename hcloud_location_facts to hcloud_location_info

* Rename hcloud_image_facts to hcloud_image_info

* Rename hcloud_floating_ip_facts to hcloud_floating_ip_info

* Rename hcloud_server_type_facts to hcloud_server_type_info

* Rename hcloud_server_facts to hcloud_server_info

* Rename hcloud_ssh_key_facts to hcloud_ssh_key_info

* Rename hcloud_volume_facts to hcloud_volume_info

* Fix typo in hcloud_image_info

* Add to porting guide and add changelog fragment

* Reword porting guide
2019-08-21 14:55:37 +02:00
Matt Davis
bfa004930a
add subdir support to collection loading (#60682)
* add subdir support to collection loading

* collections may now load plugins from subdirs under a plugin type or roles dir, eg `ns.coll.subdir1.subdir2.myrole`->ns.coll's roles/subdir1/subdir2/myrole, `ns.coll.subdir1.mymodule`->ns.coll's plugins/modules/subdir1/mymodule.py
* centralize parsing/validation in AnsibleCollectionRef class
* fix issues loading Jinja2 plugins from multiple sources 
* resolves #59462, #59890,

* sanity test fixes

* string fixes

* add changelog entry
2019-08-21 10:45:04 +01:00
Felix Fontein
c1b2aa1d11
nginx_status_facts: deprecate/rename to nginx_status_info (#60979)
* Rename nginx_status_facts -> nginx_status_info

* Add changelog.

* Remove warnings.

* Re-add ignore.txt entries.

* ...

* Raw strings for docs.

* Use U(...) for link.
2019-08-21 09:09:22 +02:00
Bojan Vitnik
04e0f9d4ea XenServer: When VM is in powered on state, plug newly added disks
Fixes: #60693
2019-08-21 10:50:14 +05:30
Sloane Hertel
3247626ac7 Warn when transforming constructed groups (#60912)
* Warn when transforming constructed groups

The `keyed_groups` field has used sanitization since 2.6, but `groups` only started doing so in 2.8.
This adds a warning for the change in behavior.

* changelog
2019-08-20 10:32:02 -05:00
Matt Martz
ba25522db4
Remove ddeprecated redis_kv lookup. Fixes #59984 (#60826) 2019-08-20 10:27:09 -05:00
Felix Fontein
e58919bccd
gluster_heal_facts: rename to gluster_heal_info (#60919)
* Rename gluster_heal_facts -> gluster_heal_info

* Add changelog.
2019-08-20 15:43:41 +02:00
Felix Fontein
c66163b118
hpilo_facts: rename to hpilo_info (#60917)
* Rename hpilo_facts -> hpilo_info

* Fix porting guide.

* Add changelog.
2019-08-20 15:14:18 +02:00