Commit graph

470 commits

Author SHA1 Message Date
Michael Rose
0886c20d19 influxdb_user - Allows updates to user privileges (#46667)
* influxdb_user - Allows updates to user privileges

* influxdb_user - Updated documentation for admin roles
2018-11-20 20:08:39 +01:00
Jordan Borean
9b0dd5224b
win_security_policy - add warning when using this module ot edit rights (#48850) 2018-11-20 09:21:28 +10:00
Brian Coca
68301f890a fix cache 'update' method to be 'mapping' compatible
- also simplify the update functions
 - fix methods and allwow backwards compat with plugins overriding 'update'
2018-11-19 14:18:18 -05:00
Adam Miller
4a06e95671 dnf to support modularity module appstream specs
Fixes #48743

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-19 10:13:07 -08:00
Brian Coca
652da82558 fix bug in config mgr
- use function that creates config slots as needed
2018-11-19 11:46:17 -05:00
Brian Coca
87e44a7ed1
better handling of bad type in config (#48821)
* better handling of bad type in config

 fixes #22468, fixes #22476
2018-11-19 11:45:45 -05:00
Felix Fontein
891687284f docker_* modules: improve diff (#48546)
* Add difference tracking tool

* Improve --diff mode for docker_container.

* Improve diffs of sets by ordering the sets.

* Rewrite imports, get rid of HAS_DOCKER_PY_x variables and use docker_version instead.

* Rename container -> active (more generic).

* Add --diff for docker_volume. Change old diff output.

* Add --diff for docker_network. Change old diff output.

* Add --diff for docker_swarm_service.

* Add changelog.

* Add entry for porting guide on docker_network and docker_volume.
2018-11-19 09:59:54 +00:00
jhawkesworth
361acd3547 win_say: Port to use CSharpUtil AnsibleBasic (#48361)
* port win-say to use CSharpUtil AnsibleBasic and add warning when requested voice not found

* win_say: fixes following code review: use C# style properties consistently; prefix changelog fragments

* fix invalid yaml in change log fragment

* win_say: fixes following code review: use generic module parameter validation where possible

* remove redundant setting of Result.changed to false, simplified some logic for readability.

* fix serialisation issue when message text is drawn from a file; allows tests to be run not in check mode and fix up some test descriptions
2018-11-19 07:07:12 +10:00
Will Thames
aaf29c785f Provide Kubernetes resource validation to k8s module (#43352)
* Provide Kubernetes resource validation to k8s module

Use kubernetes-validate to validate Kubernetes resource
definitions against the published schema

* Additional tests for kubernetes-validate

* Improve k8s error messages on exceptions

Parse the response body for the message rather than returning
a JSON blob

If we've validated and there are warnings, return those too - they
can be more helpful

```
"msg": "Failed to patch object: {\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},
       \"status\":\"Failure\",\"message\":\"[pos 334]: json: decNum: got first char 'h'\",\"code\":500}\n",
```
vs
```
"msg": "Failed to patch object: [pos 334]: json: decNum: got first char 'h'\nresource
        validation error at spec.replicas: 'hello' is not of type u'integer'",
```

* Update versions used

In particular openshift/origin:3.9.0

* Add changelog for k8s validate change
2018-11-16 12:44:59 +00:00
Xaroth
87d10b9b78 Include dependency role names in role_names. (#46483)
* -Change: Include dependency role names in `role_names`.
-Add: `play_role_names` magic variable to include only explicitly named roles (formerly `role_names`).
-Add: `dependent_role_names` magic variable to include all dependency names for all roles.

* -Change: use the ansible_ prefix for new magic variables.
-Change: keep `role_names` as a deprecated variable, using the old functionality.

* -Add: changelog fragment for the role_names rework.

* -Add: Tests for the role_names (and ansible_*role_names) special variables

* -Fix: resolve erroneous documentation snippet that was introduced after rebasing.

* -Fix: explicitly sort to ensure list comparison works in test.
2018-11-15 10:01:29 -05:00
René Moser
c7c3ca1c41 cs_template: fix KeyError on state=extracted (#48675)
* cs_template: fix KeyError on state=extracted

* add changelog
2018-11-15 13:38:42 +00:00
Martin Krizek
907ff2f26c Add new meta task end_host (#47194)
* Add new meta task  end_host
2018-11-14 09:46:25 -05:00
Brian Coca
24593f2ffb avoid spurious warnigns on unique filter
fixes #46189
2018-11-14 09:33:43 -05:00
Jordan Borean
9ac89af355
win_chocolatey - move over to AnsibleModule and add allow_multiple (#48370) 2018-11-14 16:18:34 +10:00
Jordan Borean
6898f02431
win_shortcut: add run as admin and fix shell folder idempotency (#48584) 2018-11-14 12:15:04 +10:00
Adam Miller
34fc66185e make yum update_only option actually work (#47942)
* make yum update_only option actually work

Fixes #40615

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix changlog fragment for sanity check

Signed-off-by: Adam Miller <admiller@redhat.com>

* only attempt an update when there are packages to update

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix logic to properly handle the precedent of operations

Signed-off-by: Adam Miller <admiller@redhat.com>

* remove q debug statements

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-13 15:04:19 -05:00
Felix Fontein
b1acabcd03 docker_container: fix tests and idempotency for init and shm_size (#48551)
* Fix tests: use same command if not testing command option.

* Fix idempotency of init option.

* Fix shm_size idempotency (it is included in inspect results from docker API version 1.22 on).

* Add changelog.
2018-11-13 13:07:36 +00:00
Will Thames
4e1e9589b5 Add wait functionality to k8s module (#47493)
Provide wait and wait_timeout parameters and wait for certain
resource kinds to become available.
2018-11-13 12:50:15 +00:00
Martin Krizek
1465f70eb5 Add ansible_play_name magic var (#48562) 2018-11-12 11:18:49 -05:00
Tzur Eliyahu
616ba5d807 IBM storage: fix domain issue by adding more keywords to pyxcli avail… (#48345)
IBM storage: fix domain issue by adding more keywords to pyxcli available fields
2018-11-12 10:47:38 -05:00
Dario Zanzico
89bcd3ff1e clarify port.mode paramter requiremets, fail if unmet (#47938)
* clarify port.mode paramter requiremets, fail if unmet

* changelog fragment

* shorten too long line

* remove unnecessary indentation

* test version on docker_version for better maintainability

* normalize imports

* changelog fragment: minor_changes -> bugfixes

* rollback e96a7e57dfefd566fa47cf465a759637affd4795

* typo

Co-Authored-By: dariko <dariko@users.noreply.github.com>
2018-11-12 11:36:02 +00:00
Felix Fontein
feb60b947c Docker volume fix labels (#48536)
* Add integration test for labels (which fails).

* Changing labels from list to dict.

* Add changelog.
2018-11-12 11:24:07 +00:00
Eric Matysek
880762e07e Fix consistency issue in grafana_dashboard module. (#47459)
* Move check for 'dashboard' key to before the create/update if statement.
* Add changelog fragment for PR #47459
2018-11-09 17:27:11 -05:00
Brian Coca
b047591dee fix tagged implicit gathering (#48294)
* fix tagged implicit gathering

 - None is not tHe default anymore, its an empty list

* Update changelogs/fragments/fix_taggged_gather.yml

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2018-11-09 13:41:07 +00:00
René Moser
9050c7abeb
vultr_server_facts: add tests and changelog for firewall group fix in #48342 (#48411) 2018-11-09 14:06:34 +01:00
Christopher Gadd
f75a84e382 make password locking in user module idempotent (#43671)
* Simplify logic and add FreeBSD & NetBSD

* Remove incorrect flag for lock and unlock on FreeBSD

* Add tests and changelog


Co-authored-by: Chris Gadd <gaddman@email.com>
2018-11-08 21:29:38 -05:00
Simon Dodsley
d7975462da Update and correct iSCSI facts collection (#44644)
Co-authored-by: Simon Dodsley <simon@purestorage.com>
2018-11-08 21:24:51 -05:00
Strahinja Kustudic
b89b688d52 Fix pip idempotence in check mode
PIP package names must be case insensitive, and must consider hyphens
and underscores to be equivalent
(https://www.python.org/dev/peps/pep-0426/#name), because of this the
module didn't work correctly in check mode. For example if the passed
package name had a different case or an underscore instead of a hyphen
(or the other way around) compared to the installed package, check mode
reported as changed, even though packages were installed. Now the module
ignores case and hyphens/underscores in package names, so check mode
works correctly.
2018-11-08 17:09:34 -08:00
James Cassell
c13fa503a1 os_server_facts: support all_projects (#44800)
* os_server_facts: support all_projects

* os_server_facts: openstacksdk expects True or False, not None
2018-11-08 17:05:12 -05:00
Jack Haden-Enneking
15e77ebfe8 ipaddr filter - return a network address when given an address with /32 subnet (#47539)
* fix #17872

* add changelog fragment and enable unit test
2018-11-08 11:49:42 -05:00
Jimmy McCrory
d2969884b4 Add run_once as a valid TaskInclude keyword (#48068)
* Add run_once as a valid TaskInclude keyword

* Add changelog fragment

* Add integration test that documents run_once behavior
2018-11-08 10:29:24 -05:00
Stefan Siegel
ae7b9ea8cd Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux (#47017)
* Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux

/proc/sys/kernel/random/boot_id is available since kernel 2.3.16 and
should be safe to rely on.

The previously used method by checking the system boot time using who -b
turned out to be unreliable: Some systems lacking an RTC report the Unix
epoch as boot time, but the code trying to detect that did't always
work.

Closes #46562

* Change DEFAULT_BOOT_TIME_COMMAND

- change to usinsg /proc by default
- add BOOT_TIME_COMMANDS for BSD, Solaris, and macOS
2018-11-08 09:54:58 -05:00
Daniel Shepherd
e212861443 add changelog fragment for changes merged in #47695 (#48305) 2018-11-08 11:34:28 +10:00
Sam Doran
1e3b704ff1
Prevent duplicate entries in rhsm_repository module (#48107)
* Complie regular expressions for better performance

* Skip on empty lines

This fixes a bug where the previous repo would be inserted in the result twice since an empty line did not match any of the conditions that would exit the loop iteration.
2018-11-07 17:49:12 -05:00
Martin Krizek
41dfc5162f user: fix removing the expiry time when it's 0 (#47115)
* user: fix removing the expiry time when it's 0

* Improve tests and add changelog

Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2018-11-07 16:44:34 -05:00
Matt Martz
f728f2bff0
Add a new "contains" jinja2 test (#45798)
* Add contains jinja2 test

* backticks
2018-11-07 14:49:00 -06:00
Matt Martz
0d068f1e3a
Support list of dicts with omit. Fixes #45907 (#45923) 2018-11-07 13:41:22 -06:00
Michael Cassaniti
a2f3f16930 win_updates: Add post search category matching to support product matching (#45708)
* win_update: Add post search category matching to support product matching

* win_updates: Return categories of each update

* win_updates: Documentation fix-up

* win_updates: Adjusted documentation to reflect regex vs sub-string match of post-cat strings

* win_updates: Sped up post-category checking

* win_updates: Updated documentation to suggest querying post-category strings

* win_updates: Simplified saving and checking post-categories

* fixed some issues and added filtered categories to return value

* win_updates: Moved all category matching to occur after initial search

* win_updates: Adjustments to satisfy PowerShell lint checks

* win_updates: Dropped category validation from action plugin

* win_updates: Documentation updates

* win_updates: Fixed plugin unit tests
2018-11-07 19:32:07 +10:00
Jordan Borean
501acae5ab
Added basic equivalent to PowerShell modules (#44705)
* Added basic equivalent to PowerShell modules

* changes based on latest review

* Added tests

* ignore sanity test due to how tests are set up

* Changes to work with PSCore

* Added documentation and change updated more modules

* Add some speed optimisations to AddType

* fix some issues in the doc changes

* doc changes
2018-11-07 10:53:17 +10:00
Adam Miller
091fb1dc3f yum also parse obsolete package output (#45365)
* yum also parse obsolete package output

This is a rebase of the patch originally proposed in
https://github.com/ansible/ansible/pull/40001 by machacekondra

Fixes #39978

Signed-off-by: Adam Miller <admiller@redhat.com>

* properly parse the obsoletes, provide a new output entry, add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>

* make pep8 happy

Signed-off-by: Adam Miller <admiller@redhat.com>

* remove q debugging output

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-06 16:07:50 -05:00
Brian Coca
4ec2423a04
make fact gathering obey play tags (#44717)
fixes #44251
2018-11-06 13:19:44 -05:00
Matt Martz
9949629e5a
Add toml inventory plugin (#41593)
* First pass at a toml inventory

* Make EXAMPLES yaml

* Remove unnecessary comment

* Small formatting changes

* Add ansible-inventory option to list as TOML

* TOML inventory improvements, to allow a more simple inventory, specifically related to children

* changelog

* Simplify logic

* Dedupe _expand_hostpattern, making it available to all inventory plugins

* Don't make the TOML inventory dependent on the YAML inventory

* Quote IP address values

* Add more TOML examples

* Further cleanups

* Enable the toml inventory to run by default

* Create toml specific dumper

* 2.8

* Clean up imports

* No toml pygments lexer

* Don't raise an exception early when toml isn't present, and move toml to the end, since it requires an external dep

* Require toml>=0.10.0

* Further clean up of empty data

* Don't require toml>=0.10.0, but prefer it, add code for fallback in older versions

* Ensure we actually pass an encoder to toml.dumps

* Simplify recursive data converter

* Appease tests, since we haven't limited controller testing to 2.7+

* Update docstring for convert_yaml_objects_to_native

* remove outdated catching of AttributeError

* We don't need to catch ImportError when import ansible.plugins.inventory.toml

* Add note about what self.dump_funcs.update is doing

* Address some things

* A little extra comment

* Fix toml availability check

* Don't create an intermediate list

* Require toml file extension

* Add metadata

* Remove TOML docs from intro_inventory to prevent people from getting the wrong idea

* It's in defaults, remove note

* core supported, indicate very clearly that this is preview status
2018-11-06 10:02:36 -06:00
Dave Bendit
d7686e1bc0 [docker_network] Add handling for Python booleans in driver_options (#48105)
Fixes #26708
2018-11-06 14:39:45 +00:00
Mariusz Mazur
a5c8e952e8 k8s_facts: fix handling of unknown resource types (#47857) 2018-11-06 14:43:55 +01:00
Jordan Borean
8a9d7b3695
win_uri: stop output from mixing with module result (#48140) 2018-11-06 11:10:03 +10:00
Sam Doran
066af3b6ca
User module - allow bang and exclamation in password field without warning (#46498)
* Allow bang and exclamation without warning

Allow the password field to be ! or * without warning when using this feature to create accounts that are locked.

Add documentation  and tests to cover this.

* Use set() rather than braces for Python 2.6
2018-11-05 16:35:10 -05:00
Adam Miller
1c777976c5 Correct yum and dnf autoremove behavior (#47902)
* Correct yum and dnf autoremove behavior

Sanity check args passed to autoremove

Fixes #47184

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix docs

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-05 16:00:42 -05:00
Matt Martz
cb5626cc09
Fix return statement where we short circuit _get_delegated_vars (#48102) 2018-11-05 12:28:34 -06:00
Dag Wieers
df6b0b0e9e aci_aptiplp: Support missing policy_group (#48000)
* aci_aptiplp: Support missing policy_group

* Adapt integration tests to fix

* Add changelog fragment

* Fix

Co-Authored-By: dagwieers <dag@wieers.com>
2018-11-05 18:21:01 +00:00
Dag Wieers
d1f6ff646a aci_iplpg: Support missing aep (#48001)
* aci_iplpg: Support missing aep
2018-11-05 18:20:23 +00:00
Dag Wieers
591b074e43
aci_switch_leaf_selector: Support missing policy_group (#47992)
* aci_switch_leaf_selector: Support empty policy_group

* Reorganize code

* Adapt integration tests to fix
2018-11-05 19:02:06 +01:00
Abigail Howe
e8920a8357 fix boolean logic for overwrite parameter (#47916)
* fix boolean logic for overwrite parameter

* added changelog fragment
2018-11-05 12:59:01 +00:00
Felix Fontein
af2b477950 docker_container: fix container removal when auto_remove is used (#48061)
* Fix container removal when auto_remove is used.
2018-11-05 11:33:56 +00:00
Felix Fontein
35809e99bc docker_container: fix ipc_mode and pid_mode idempotency (#47997)
* Fix ipc_mode and pid_mode idempotency when container names are used.

* Add changelog.

* Update pid_mode documentation.
2018-11-05 10:26:13 +10:00
Felix Fontein
3cca4185be docker_container: simplify minimal required version per option handling (#47711)
* Store parsed docker-py / docker API versions in client.

* Began refactoring 'minimal required version' for docker_container options.

* Removing some fake defaults.

* Added changelog.

* Improve tests (check older docker versions).

* Fix comparison. The breaking point is not docker-py 2.0.0, but 1.10.0.

(Verified by testing with these versions.)

* Move docker-py/API version detection to setup_docker.

* Add YAML document starter.

* docker_network requirement for docker-py was bumped to 1.10.0 in #47492.
2018-11-05 10:25:11 +10:00
René Moser
788247583b
vultr: fix for API returned unexpected empty list (#48036)
* vultr: fix for API returned unexpected empty list

* add changelog
2018-11-04 11:23:36 +01:00
Abhijeet Kasurde
487f2f25ce
VMware: Handle exception for no snapshot while cloning (#47924)
Handle exception when there is no snapshot available in virtual machine or template while cloning using vmware_guest.

Fixes: #47920

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-02 13:40:06 +05:30
Stephan Müller
00bab2d24d [docker_network] add ipv6 support (#47492)
* [docker_network] add ipv6 support

* docker_network: review ipam_options

* docker_network: fix requirements

* docker_network: fix deprecation notice

* docker_network: add minimum docker version change

* docker_network: remove trailing whitespace

* docker_network: revert rename of network_four #discussion_r228707101

* docker_network: refactor IPAM config comparison #discussion_r228707255, #discussion_r228707280

* docker_network: correct spelling of IPv4 and IPv6 #discussion_r228707114, #discussion_r228707138

* docker_network: manually remove networks #discussion_r228709051

* docker_network: refactor enable_ipv6 condition #discussion_r228707317

* docker_network: add mutually_exclusive #discussion_r228707185

* docker_network: fix iprange #discussion_r228709072

* docker_network: add auxiliary addresses in examples and tests

* docker_network: link to docker docs #discussion_r228707018

* docker_network: remove list default #discussion_r228707060, #discussion_r228709091

* docker_network: introduce params syntax for create_network() #discussion_r228709031

* docker_network: beautify code

* docker_network: resolve change requests

* docker_network: add yaml header

* docker_networking: fix get_ip_version

* docker_network: extend CIDR test

* docker_network: use backported unittest2 for python 2.6

* docker_network: migrate unittest to pytest
2018-11-02 08:59:16 +10:00
Akshay Gaikwad
80ca779aa7 Support for device read write limit parameters (#47814)
* Support for device read write limit parameters

* Add following options in docker_container module
  - device_read_bps
  - device_write_bps
  - device_read_iops
  - device_write_iops

Fixes #36831

* test for device_read_iops
* combined test for device_write_bps and device_write_iops
2018-11-02 08:58:06 +10:00
Pilou
cfe7c9606c s3_bucket: don't assume anything other than *.amazonaws.com is Walrus (#46745)
For example, 'https://s3.nl-ams.scw.cloud' isn't Walrus.
When Walrus is used, 's3_url' should be a hostname.
2018-11-01 12:04:50 -04:00
Pilou
d14f9dc685 s3_bucket: handle not implemented operations (#46746)
Don't fail when policy, requestPayment, tagging or versioning API is not
implemented by the endpoint and if related parameters policy, requester_pays,
tags or versioning are None.
2018-11-01 11:52:07 -04:00
Felix Fontein
65768b996d docker_container: fix paused and add some tests (#47900)
* cleanup is already tested.

* Add test for paused.

* Add recreate and restart tests.

* timeout is a common docker option

* Implement paused and fix paused test.

* Add changelog.

* Improve paused test.
2018-11-01 08:08:43 +00:00
René Moser
242bd512d0
cs_ip_address: fix vpc and network mutually exclusive (#47846)
* cs_ip_address: fix vpc and network mutually exclusive

* add changelog

* streamline docs
2018-11-01 07:26:08 +01:00
Brian Coca
d590f10d32 remove redundant md5 hashing 2018-10-31 13:54:52 -07:00
Toshio Kuratomi
9906daa83c Fix password lookup for FIPS
Fixes #47297
2018-10-31 12:50:23 -07:00
James Cassell
8eacaf6a77 command modules: optional stdin_add_newline (#45170)
* stdin_add_newline: allow newline suppression on command modules

* command/shell: test for stdin_add_newline

* changelog for stdin_add_newline
2018-10-31 12:53:02 -04:00
Matt Martz
40e5d2c951 Do not filter out exception, warnings, deprecations on failure when using debug (#47588)
* Do not filter out exception, warnings, deprecations on failure when using debug. Fixes #47576

* Add changelog fragment
2018-10-30 12:51:25 -04:00
Matt Martz
fd662c0a63
New v2_runner_on_start callback added (#47684)
* New v2_runner_on_start callback added to indicate the start of execution for a host in a specific task

* Add changelog fragment

* Minor docstring clarification
2018-10-30 11:37:11 -05:00
Martin Krizek
4b8f2c99d2
yum: fix 'package == version' syntax (#47744) 2018-10-30 16:28:22 +01:00
Abhijeet Kasurde
b32b4111b2
plugin_filter: check for type error (#46664)
* Parsing plugin filter may raise TypeError, gracefully handle this exception
and let user know about the syntax error in plugin filter file.

* Test for plugin_filtering

Fixes: #46658

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-30 18:25:02 +05:30
Etienne Perot
e217ba6e19 docker_image: Fix up 'changed' event in force mode (#33754)
* docker_image: Fix up 'changed' event in force mode

This is the same as https://github.com/ansible/ansible/pull/19235 except it applies to all image-building modes (building the image locally, loading the image from an archive, or pulling the image), rather than only when pulling the image.

* Use 'dummy' rather than '_' as unused variable name.

* Add changelog fragment for pull request #33754
2018-10-30 08:48:30 +00:00
René Moser
58238375b4 apt: warn users on auto-install dep (#47704)
* apt: warn users on auto-install dep

* add changelog
2018-10-29 19:56:15 +01:00
Ondra Machacek
36b0aed03a ovirt_host_network: Fix type conversion (#47617)
Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-10-29 11:49:58 +00:00
Dario Zanzico
2162d7d4de Docker swarm service integration tests (#45674)
* integration test for docker_swarm_service

* ensure stack de-initialization

* Set default value for 'configs' parameter to None

Docker-py uses None as a default value for configs.
Using the same default here allows to create services on older docker
setups (docker_api<1.30).

* Set default value for 'update_order' parameter to None

Docker-py uses None as a default value for update_order.
Using the same default here allows to create services on older docker
setups (docker_api<1.29)

* Set default value for 'publish.mode' parameter to None

Docker-py uses None as a default value for publish_mode.
Using the same default here allows to create services on older docker
setups (docker_api<1.32)

* Allow tests to run on older version of docker.

* remove workarounds for old docker versions

* test correct swarm cleanup

* changelog fragment for docker_swarm_service defaults change
2018-10-29 11:28:51 +00:00
Felix Fontein
92d9569bc9 ACME: add support for POST-as-GET if GET fails with 405. (#44988)
* Add support for POST-as-GET if GET fails with 405.

* Bumping ACME test container version to 1.4. This includes letsencrypt/pebble#162 and letsencrypt/pebble#168.

* Also use POST-as-GET for account data retrival.

This is not yet supported by any ACME server (see letsencrypt/pebble#171),
so we fall back to a regular empty update if a 'malformedRequest' error is
returned.

* Using newest ACME test container image.

Includes letsencrypt/pebble#171 and letsencrypt/pebble#172, which make Pebble behave closer to the current specs.

* Remove workaround for old Pebble version.

* Add changelog entry.

* First try POST-as-GET, then fall back to unauthenticated GET.
2018-10-29 10:32:53 +01:00
Felix Fontein
b9706e2ff5 docker_container: improve race condition behavior for detach:no, auto_remove:yes behavior (#47712)
* Don't die when get_container is called for container which is terminating during get_container call.

If it terminates between client.containers() and client.inspect_container(),
the module will fail with an error such as
    Error inspecting container: 404 Client Error: Not Found ("No such container: xxx")

* Add changelog.
2018-10-29 08:22:52 +00:00
Abhijeet Kasurde
a87a62ba8a
VMware: restore timeout in set_vm_power_state operation (#47723)
'state_change_timeout' parameter was removed, this introduced
regression.

Fixes: #47722

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-29 12:08:17 +05:30
Matt Martz
3633e21780
Add missing self._supports_async to uri action plugin (#47677)
* Add missing self._supports_async to uri action plugin. Fixes #47660

* Additional changes needed to support async

* Missed a call to execute_module
2018-10-26 12:16:26 -05:00
curry9999
4906be1009 An error occurs if cluster_id is not specified (#47500)
* 	modified:   google/gcp_compute_backend_bucket.py
	modified:   google/gcp_compute_backend_service.py
	modified:   google/gcp_compute_forwarding_rule.py
	modified:   google/gcp_compute_global_forwarding_rule.py
	modified:   google/gcp_compute_image.py
	modified:   google/gcp_compute_instance.py
	modified:   google/gcp_compute_instance_group.py
	modified:   google/gcp_compute_instance_group_manager.py
	modified:   google/gcp_compute_instance_template.py
	modified:   google/gcp_compute_route.py
	modified:   google/gcp_compute_subnetwork.py
	modified:   google/gcp_compute_target_http_proxy.py
	modified:   google/gcp_compute_target_https_proxy.py
	modified:   google/gcp_compute_target_ssl_proxy.py
	modified:   google/gcp_compute_target_tcp_proxy.py
	modified:   google/gcp_compute_url_map.py
	modified:   google/gcp_container_node_pool.py
	modified:   google/gcp_dns_resource_record_set.py
	modified:   google/gcp_pubsub_subscription.py
	modified:   google/gcp_storage_bucket_access_control.py

* 	modified:   lib/ansible/modules/cloud/amazon/aws_ses_identity.py
	modified:   lib/ansible/modules/cloud/amazon/route53_facts.py
	modified:   lib/ansible/modules/cloud/cloudscale/cloudscale_server.py
	modified:   lib/ansible/modules/network/aos/_aos_logical_device.py
	modified:   lib/ansible/modules/network/aos/_aos_rack_type.py
	modified:   lib/ansible/modules/network/aos/_aos_template.py
	modified:   lib/ansible/modules/network/cumulus/nclu.py
	modified:   lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_launch.py
	modified:   lib/ansible/modules/web_infrastructure/ansible_tower/tower_job_wait.py

* An error occurs if cluster_id is not specified

* An error occurs if cluster_id is not specified
2018-10-26 11:07:40 +10:00
Nathaniel Case
6a866a5e10
ios check_rc: Default to sending text of exception, not the whole exception (#47300)
* Default to sending text of exception, not the whole exception
2018-10-24 09:56:47 -04:00
Akshay Gaikwad
20b95adf2b Add Support of healthcheck in docker_container module (#46772)
* Add Support of healthcheck in docker_container module

Fixes #33622
Now container can be started with healthcheck enabled

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Extend docker_container healthcheck (#1)

* Allowing to disable healthcheck.

* Added test for healthcheck.

* Make sure correct types are used.

* Healthcheck needs to be explicitly disabled with test: ['NONE'].

* pep8 fixes

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Fix bug if healthcheck interval is 1 day or more

`timedelta` object has days too and seconds are up to one day.
Therefore use `total_seconds()` to convert time into seconds.

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Add test for healthcheck when healthcheck is not specified

This is to avoid the situation when healthcheck is not specified and
treat this as healthcheck is changed or removed.

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Convert string syntax for healthcheck test to CMD-SHELL

Also add another test case to check idempotency when healthcheck test
is specified as string

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>

* Playbook fails if minimun docker version is not satisfy for healthcheck

This is to make more consistent with other non-supported options.

Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
2018-10-24 11:49:56 +01:00
Dag Wieers
691ff4b9e6 WinRM/PSRP: Ensure shell returns UTF-8 output (#47404)
* WinRM/PSRP: Ensure shell returns UTF-8 output

This PR makes UTF-8 output work in PSRP shells.

* Add win_command and win_shell integration tests

* Fix tests

* more test fixes
2018-10-24 10:40:54 +10:00
Jordan Borean
f28b7c7ab1
psrp - fix unicode handling in Python 2 (#47461)
* psrp - fix unicode handling in Python 2

* skip psrp become test when on Server 2008
2018-10-24 05:37:05 +10:00
Adam Miller
079705f8da
dnf properly gpg check local packages based on param (#47455)
* dnf properly gpg check local packages based on param

Fixes #43624

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-23 11:41:27 -05:00
Adam Miller
0e3e646189
don't restrict disable_excludes choices incorrectly (#47453)
* don't restrict disable_excludes choices incorrectly

Fixes #47085

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-23 11:39:55 -05:00
Matt Martz
f6ecdf0b87
Handle sets differently than lists in wrap_var. Fixes #47372 (#47510) 2018-10-23 11:18:21 -05:00
Matt Martz
d5e4f37ca0
Ensure we don't overwrite roles from include/import_role when loading the play (#47512)
* Ensure we don't overwrite roles from include/import_role when loading the play. Fixes #47454

* Add changelog fragment
2018-10-23 11:08:48 -05:00
Will Thames
3a7b4d269c Add changelog for k8s_facts fix 2018-10-23 06:41:10 -07:00
Felix Fontein
a11073df9a docker_image: allow to delete image by ID (#47393)
* Allow to delete docker image by ID.

* Added changelog.
2018-10-23 07:52:36 +01:00
Felix Fontein
4ffe3b14d4 docker_container: warn if ipvX_address is used for networks but not supported by docker-py (#47395)
* Only add parameters which are actually used.

* Fail if ipvX_address is used when not supported.

* Added changelog.
2018-10-23 07:52:08 +01:00
Felix Fontein
3afdb28209 docker_container: fix interaction of detach:no with auto_remove:yes (#47396)
* Behave better if auto_remove and output_logs are combined. Warn if output cannot be retrieved because of auto_remove.

* Add tests.

* Added changelog.
2018-10-23 07:51:24 +01:00
Dave Bendit
29b4b36501 Adding "internal" option to "docker_network" module (#35370)
Fixes #27065
2018-10-23 07:49:26 +01:00
Felix Fontein
8ef994fbc5 Fix option change detection / force support for docker_volume. (#47390) 2018-10-23 07:48:09 +01:00
Toshio Kuratomi
ccabc2bff5 Revert "[stable-2.7] Handle sets differently than lists in wrap_var. Fixes #47372."
This reverts commit 0e933f76ba.

The tests for this were broken on centos6 because jinja2 does not have
a map filter on that platform.  Tests need to be rewritten
2018-10-22 21:00:15 -07:00
Toshio Kuratomi
210a43ebeb Fix changelog entry for user module CVE fix 2018-10-22 18:46:29 -07:00
Jordan Borean
d46d92eed5
Revert "WinRM/PSRP: Fix UTF-8 issue (#46998)" (#47447)
This reverts commit 1bb674034f.
2018-10-23 09:10:28 +10:00
Martin Krizek
a0aa53d1a1 user: do not pass ssh_key_passphrase on cmdline
CVE-2018-16837

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-10-22 14:00:55 -04:00
Matt Martz
c58de75f38 Handle sets differently than lists in wrap_var. Fixes #47372 2018-10-22 11:56:28 -04:00
Pablo
6497049f2a Fix exception when including tasks from handlers (#47307)
Set _notified_handlers for the task's _uuid that is run as a handler

Fix #47287
2018-10-22 10:46:36 -05:00
Jonathan Oddy
7ba09adee1 Fix AWS EC2 inventory plugin caching of groups (#46961)
* Fix AWS EC2 inventory plugin caching of groups

* Added changelog fragment for aws_ec2 caching fix

* Store the AWS query results

The underlying inventory object contains inventory from other sources,
so caching it as ours would be wrong.
It seems easiest and safest to just cache the boto query results
instead.

* Remove unused functions
2018-10-22 09:15:27 -04:00
Dag Wieers
1bb674034f WinRM/PSRP: Fix UTF-8 issue (#46998)
* WinRM/PSRP: Fix UTF-8 issue

* added changelog fragment
2018-10-22 06:59:53 +10:00
Dag Wieers
6f9c6071e5 psexec: Handle socket errors (Connection timeout) (#47201)
* psexec: Handle socket errors (Connection timeout)

This ensures we get a nicer error message from psexec.

* Add changelog fragment
2018-10-22 05:32:06 +10:00
Daniel Shepherd
c67ab296bb pamd: add delete=False to NamedTemporaryFile() (#47281)
* add delete=False to NamedTemporaryFile and remove print statement from module

* add changelog fragment
2018-10-19 10:46:47 -04:00
Pluggi
f13091d142 Add runtime option to docker_container module (#47247)
* Add runtime option to docker_container module

Signed-off-by: Antoine Bardoux <abardoux@nvidia.com>

* Add changelog fragment

Signed-off-by: Antoine Bardoux <abardoux@nvidia.com>

* Add idempotency test for docker_container.runtime

Signed-off-by: Antoine Bardoux <abardoux@nvidia.com>
2018-10-19 09:04:17 +01:00
Jordan Borean
013c44484a psexec: better error on import failure (#47327) 2018-10-19 08:56:16 +02:00
Martin Krizek
541255a2d8
Do not strip new lines in native jinja (#46751)
* Do not strip new lines in native jinja

* Add changelog/fragment
2018-10-19 00:14:43 +02:00
Toshio Kuratomi
4d9504e775 Remove runtime usage of pkg_resources.
This should provide a startup time speed boost at the expense of making
it harder to get ansible to use newer versions of packages than are
provided by the platform.
2018-10-18 15:09:38 -07:00
Matt Martz
77d32b8f57
Don't use the task for a cache, return a special cache var (#47243)
* Don't use task to cache loop results, use hostvars. Fixes #47207

* Avoid a race condition, supply _ansible_loop_cache through get_vars directly

* Add tests

* Add changelog fragment

* Remove unnecessary copy

* Remove unnecessary host from _get_delegated_vars signature
2018-10-18 15:25:43 -05:00
Martin Krizek
096717edc5 ansible-galaxy: fix searching with unicode 2018-10-18 14:59:03 -04:00
Dag Wieers
06eabc9783 reboot: Add timeout in error to help troubleshooting (#47216)
* reboot: Add timeout in error to help troubleshooting

So we've been hit by 'Timed out waiting for boot_time check' and it was
unclear what timeout was used for the boot_time check. By adding the
timeout value it is easier to understand the used value, and verify if a
change to the timeout is reflected in the output.

* Add changelog fragment
2018-10-18 14:42:39 -04:00
Toshio Kuratomi
bcd6dbcd65 Remove get_exception from the remainder of the modules 2018-10-18 08:37:04 -07:00
Jordan Borean
6666b070a9
openss: fix various test and Python 3 issues (#47188) 2018-10-18 05:29:18 +10:00
Sloane Hertel
b808e1bc5c [s3_bucket] Cast tag keys and values to text to match the values returned (#46405)
* Cast tag keys and values to text to match the values returned

* changelog
2018-10-17 13:39:52 -04:00
Brian Coca
fce9673ac1 Adoc fixes (#47137)
* removed hardcoded loader/plugins list
* updated a few errors to keep orig object
* fix httpapi/cliconf listing
* ansible-doc fixes
* show undocumented as UNDOCUMENTEd
* added missing undoc
2018-10-17 10:48:24 -05:00
Toshio Kuratomi
61ae6424a3 An earlier optimization of ansible-doc -l caused failures. (#47012)
* An earlier optimization of ansible-doc -l caused failures.

The optimization quickly searches the plugin code for short_description
fields and then uses that in the -l output.  The searching was a bit too
naive and ended up pulling out malformed yaml.  This caused those
plugins to be omitted from the list of plugins of that type with
a warning that their documentation strings were wrong.

This change makes the documentation parser aware that the documentation
string could have a relative indent for all of its fields which makes it
robust in the face of this particular problem.

* Don't search for space after short_description:

Any whitespace would be valid.  In particular newline
2018-10-17 11:15:59 -04:00
Jordan Borean
dd46f953f6
postgresql_user: fix test errors on newer Fedora versions (#47166) 2018-10-17 14:01:11 +10:00
Matt Martz
02f4d0a57f
Ensure that an empty literal list with loop skips the task (#47129) 2018-10-16 13:35:10 -05:00
Matt Hoffman
acbecd5f23 adds redirect configurations and probes to azure_rm_appgateway (#46607) 2018-10-16 10:34:24 +08:00
Matt Martz
c3d5779a41
Use the copied and merged task for calculating task vars in the free strategy. Fixes #47024 (#47060) 2018-10-15 16:07:52 -05:00
Dag Wieers
7cc78c5a04 Update changelog fragment 2018-10-13 21:47:13 +02:00
Dag Wieers
a4948d3845 Add changelog snippet 2018-10-13 21:47:13 +02:00
Jonathan Oddy
f2dccb90e8 Restore SIGPIPE handler to DFL on POpen
Python sets the SIGPIPE handler to SIG_IGN. On execv() signal handlers are
reset to their defaults, EXCEPT those that are SIG_IGN which are left ignored.
In Python 3 subprocess.popen explicitly resets the SIGPIPE handler to SIG_DFL,
but unfortunately in Python 2.7 it does not. This leads to subprocesses being
executed with SIGPIPE ignored. This is often a problem with bash scripts which
rely on SIGPIPE to terminate commands in a pipe, but can easily be a problem
with other applications.

This implements the Python 3 behaviour for Python 2.7 by using a preexec_fn.
2018-10-12 12:31:24 -07:00
Matt Martz
a06a5ded61
Do not use mutable defaults in FieldAttribute, instead allow supplying a callable for defaults of mutable types. Fixes #46824 (#46833) 2018-10-12 10:43:09 -05:00
Brian Coca
9e0c2a658f
better information for user from inventory plugins (#46766)
* better information for user from inventory plugins

 - use foreman as example
2018-10-12 11:27:29 -04:00
Brian Coca
551de8b166 now clog matches code 2018-10-12 11:06:40 -04:00
Brian Coca
3453dace85
use to_text instead of str in async_status (#45990)
* use to_text instead of str in async_status

* used to_native instead as per feedback
2018-10-12 10:04:37 -04:00
Peter Oliver
40fb992a6f Locate prtdiag even when absent from /usr/bin (#44113)
* Locate prtdiag even when absent from /usr/bin

On Solaris 8 hosts, this prevents fact collection from aborting with:

    Argument 'args' to run_command must be list or string

* Lint fix.

* Style: pass /usr/platform/.../sbin as optional path to get_bin_path().
2018-10-11 13:41:06 -04:00
Shuang Wang
cd1faca6e0 copy - support recursive copying with remote_src (#43998)
* Allow copy module to work with recursive and remote_src #14131
2018-10-11 08:18:44 -07:00
Thomas Picariello
62d131716b Do not try to encode metadata if it is None (#46739)
* Do not try to encode metadata if it is None

* Add changelog fragment

* Fix fragment missing EOF line
2018-10-10 12:14:47 +02:00
Daniel Jakots
753711cd12 Register missing parameter reboot_timeout (#46585) 2018-10-08 14:56:40 -04:00
Adam Miller
c8ed5c29e9 allow update_cache as stand alone operation for yum/dnf (#46183)
* allow update_cache as stand alone operation for yum/dnf

Fixes #40068

Signed-off-by: Adam Miller <admiller@redhat.com>

* make sanity tests happy

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-08 08:39:49 -04:00
Felix Fontein
a74774488d docker_container: add port range and IPv6 support for published_ports (#46596)
* Allow port ranges.

* Adding IPv6 support for published_ports.

* Die when hostname is passed instead of IP address.

* Added changelog.
2018-10-08 10:53:24 +01:00
Felix Fontein
77127d6768 docker_container: allow more mount modes for volumes (#46598)
* Being more strict about volume mount modes.
2018-10-08 10:11:03 +01:00
Felix Fontein
c5ea3d058e docker_container: fix problem with published_ports idempotency (#46595)
* Fix comparisons for expected_ports (set vs dict).

* Added changelog.
2018-10-08 08:41:15 +01:00
Felix Fontein
8afe46dc02 docker_container: improve publish all ports functionality (#46594)
* Improve handling of published_ports: all.

* Add changelog.
2018-10-08 08:23:23 +01:00
Simon Liddicott
f731e68bca Add chdir support to win_package (#46123)
* Add chdir support to win_package

* Add chdir support to uninstall too.

* Update docs to account for uninstall.

* Correct variable substitution for hashtable.

* added changelog fragment
2018-10-08 16:28:28 +10:00
flowerysong
be05069c61 Port the sns module to boto3 (#45634)
* Port sns to boto3

* Exception handling for ARN lookup

* sns: Add integration tests
2018-10-07 16:03:48 -04:00
Felix Fontein
a520ca3298 docker_container, docker_image_facts: allow to use image IDs (#46324)
* Allow to specify images by hash for docker_container and docker_image_facts.

* flake8

* More sanity checks.

* Added changelog.

* Added test.

* Make compatible with Python < 3.4.

* Remove out-commented imports.
2018-10-06 08:50:31 -05:00
Felix Fontein
895019c59b docker_container: fix behavior when image is not specified (#46322)
* Don't simply ignore container in present() if image is not specified.

* Use image from existing container for recreation if not specified.

* Added changelog.

* Improve comment.
2018-10-06 08:50:12 -05:00
Sam Doran
bcfdc37be0 Add documentation on underlying tools in user module (#46455) 2018-10-04 15:29:57 -04:00
Sam Doran
b74279d14c Use proper index value with insertbefore on a one line file (#46071)
Add tests and changelog
2018-10-03 17:27:34 -04:00
newtonne
bd849e8fb4 Macports: Add upgrade parameter and replace update_ports with selfupdate (#45049)
* macports: Replace update_ports with selfupdate

- Macports discourages use of `port sync` and recommends using `port
selfupdate` instead.
- Keep `update_cache` and `update_ports` as aliases.
- No longer require the `name` parameter so that `selfupdate` can be
used in a task by itself.

* macports: Add upgrade parameter

- New upgrade parameter which can be used to upgrade all outdated ports.

* Add changelog fragment
2018-10-03 13:58:55 -04:00
Jordan Borean
e972287c35 win_exec: refactor PS exec runner (#45334)
* win_exec: refactor PS exec runner

* more changes for PSCore compatibility

* made some changes based on the recent review

* split up module exec scripts for smaller payload

* removed C# module support to focus on just error msg improvement

* cleaned up c# test classifier code
2018-10-02 15:55:53 -07:00
David Baumann
c97f2b4c01 Fix callout json plugin show global stats (#43123)
* fix callback Plugin json to support global stat set by set_stats module

* refactor to not break compatiblity, add trailing comma on output dict

* Remove sorted, as it not needed

* refactor, to sivels better code

* clean some code messup

* add changelog fragment

* added missing new line

* fix pep8 stuff
2018-10-01 11:06:14 -05:00
Remo Wenger
83e584577a docker_container: ambiguous parameter "stop_timeout" (#43874)
* docker_container: Honour stop_timeout when creating docker containers (#43814)

* Adjusting description to what actually happens.

See docker-py changelog for 2.7.0: 'APIClient.stop will
no longer override the stop_timeout value present in the
container’s configuration.'

* Add a test whether stop_timeout can be configured for the container.

* Added changelog.

* Integrate with comparisons (by default, ignore stop_timeout value for restarts; will be configurable with PR ansible/ansible#44789).

* Fix config change code and tests (#2)

* Improving wildcard test.
* Using correct config.
2018-09-30 12:03:53 +01:00
Daniel Jakots
2769a4e2cc Add support for OpenBSD (#46147) 2018-09-28 16:07:44 -04:00
Sam Doran
8b1ae30e2e
Use bytes rather than native string for result (#46281)
This prevents a stack trace in Python 3 when the result is an empty file since
the file is open in binary mode and a native string in Python 3 is str,
not bytes.
2018-09-28 16:04:50 -04:00
Sam Doran
77f73f6d2a
Use unicode instead of bytes (#46234)
The stdout and stderr values returned from self._low_level_execute() are text, not bytes. This results in an error in Python 3 since str and bytes cannot be concatenated.

Changing to unicode type allows this to work without error on Python 2 and Python 3.
2018-09-28 12:51:17 -04:00
Felix Fontein
84682464c7 docker_container: allow to configure comparison for existing containers (#44789)
* Added comparison configuration.

* Improving user feedback on specifying a wrong option.

* Avoid bare except.

* Added basic integration tests.

* Adding wildcard support.

* Warn if ignore_image=yes is overridden.

* Added changelog fragment.
2018-09-28 08:33:38 +01:00
Sloane Hertel
9efc3dc761
Fix ec2_group for EC2-Classic accounts (#46242)
* Fix ec2_group for EC2-Classic accounts

* changelog
2018-09-27 23:11:04 -04:00