Commit graph

3226 commits

Author SHA1 Message Date
Matt Clay
34b928d283 Remove conflicting urllib3 from pip in uri test.
The uri test will fail on centos6 if run after a test that installs urllib3 via pip unless it is uninstalled.
2019-03-14 18:00:13 -07:00
Matt Clay
b8349b1d61 Fix aliases for order integration test. 2019-03-14 13:24:32 -07:00
Matteo Ferrando
86405b8fe4 (postgresql_privs) accept 'ALL_IN_SCHEMA' objs for 'function' type (#35331)
* avoid using Postgres formatting function
* add tests for ALL FUNCTIONS IN SCHEMA
* documentation and changelog
* requested changes in tests
* fixed changelog
2019-03-14 20:21:05 +05:30
Felix Fontein
4573f349ea luks_device: add allow_to_remove_last_key option (#52371)
* Add allow_to_remove_last_key option.

* Dump headers.

* Add support for old versions of cryptsetup luksDump.

* Update lib/ansible/modules/crypto/luks_device.py

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

* Rename allow_to_remove_last_key -> force_remove_last_key.
2019-03-14 09:55:35 +00:00
Felix Fontein
35e7fb776a docker_image: improve usage (#52894)
* Add source option.

* Split force parameter into force_source, force_absent and force_tag.

* Move all build-related options into a suboption called build.

* Add changelog.
2019-03-14 09:46:38 +00:00
Zim Kalinowski
a202509ba4
fixing resource facts (#53727) 2019-03-14 11:46:33 +08:00
Bob Boldin
b67505d271 AWS: new module ec2_transit_gateway fixes #49376 (#53651)
* AWS: new module ec2_transit_gateway fixes #49376

* Add permissions neeeded for integration tests

* uncomment nolog on creds

* add unsupported to integration test aliases

* remove the shippable/aws/group alias so doesn't conflict with unsupported
2019-03-14 09:42:33 +10:00
Matt Clay
7c315170c6 Reduce verbosity of blocks test. 2019-03-13 15:05:10 -07:00
Jordan Borean
d3792145d5
win_get_url - refactor tests to use httptester (#53765)
* win_get_url - refactor tests to use httptester

* Use the file lookup instead of slurp
2019-03-14 08:04:49 +10:00
Gabriel do Nascimento Ribeiro
f97a593da5 Add non_unique parameter for group module (#53085) 2019-03-13 15:40:07 -04:00
Alex Stephen
08918c6c2b GCP IAM Role (#53490)
* GCP IAM Role

* module util file

* test fix

* unit tests

* test fixes

* doc fragment fixes

* test fixes

* test fix
2019-03-13 13:28:01 -04:00
Fedor V
8ac6145180 vmware_vm_facts: custom attributes support (#45773)
* Add toggle to attribute facts gathering

Signed-off-by: Fedor V <f.vompe@comptek.ru>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-13 09:49:20 +05:30
Jordan Borean
b044bb431e
Use shared remote_tmp_dir to simplfy tests (#53721) 2019-03-13 12:26:59 +10:00
Jordan Borean
d9795bad98
win_reboot - fix broken tests after recent commit (#53722) 2019-03-13 12:24:41 +10:00
Jordan Borean
33939f7fe8
win_psexec: make the tests more stable (#53716) 2019-03-13 11:22:59 +10:00
Brian Coca
b793f08a92
fixes for stripping (#52930)
function changed to do in place replacement, should be less expensive even with copy as it avoids 'sub copies', can compose with module_args_copy to create replacement for old behavior

  attempt to fix #52910

* handle lists and subdicts correctly
* added  missing exception case, which was not noticed since 'cleaning' was not working
* added comments to clarify exceptions
2019-03-12 18:18:38 -04:00
Matt Clay
7a387e216e Disable failing azure_rm_keyvault test. 2019-03-12 14:29:15 -07:00
Matt Clay
6fd83f96d1 Disable old_style_cache_plugins integration test. 2019-03-12 14:04:30 -07:00
Gaudenz Steinlin
8111425a96 Cloudscale server password (#53701)
* cloudscale_server: remove required parameter check

The valid parameter combinations are already checked by the API. There
is no need to check a subset of this in the Ansible module as well. This
makes it more likely that future changes in the API won't require
changes in the Ansible module.

* cloudscale_server: add password parameter

Recent revisions of the cloudscale.ch API allow setting a password for a
server. Add this option to the cloudscale_server module.
2019-03-12 21:56:05 +01:00
Gaudenz Steinlin
6471e4653d Integration test cleanup for cloudscale modules (#53629)
* Integration test cleanup for cloudscale modules

This refactors the cleanup procedure for the integration tests of the
cloudscale_server and cloudscale_volume modules to use an "always"
section for cleanup. The cleanup code also deletes all resources which
contain the test run prefix. This ensures that all resources are cleaned
up regardless of the actual test result which is a prerequisite for
running these tests in CI.

* Move cloudscale_floating_ip tests from legacy to integration

This also adds code to make sure that floating IPs are deleted even if a
test run fails. This is unfortunately not possible for floatint IPv6
networks.
2019-03-12 17:53:49 +01:00
Chris Van Heuveln
15303b05ef nxos_vxlan_vtep: sanity.yaml test needs cast for httpapi tcam check (#53531)
This check was working for network_cli (returns value as int) but
failing for httpapi (returns value as str). Casting to int fixes the problem.
2019-03-12 19:19:27 +05:30
Nilashish Chakraborty
f615011de3
New module for BGP configuration management in iosxr (#53121)
* Add iosxr_bgp module

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove unused code

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove netconf code

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-03-12 17:47:40 +05:30
Nilashish Chakraborty
9365c0f468
New module for BGP configuration management in Arista EOS (#52722)
* New module for BGP in EOS

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add function to validate input

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix line indentation

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add integration tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix CI

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix sanity test failure

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove unused code

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-03-12 17:31:58 +05:30
Matt Clay
1143889f26 Fix integration test inventory. 2019-03-12 00:00:32 -07:00
Matt Clay
759e037edc Fix integration tests with custom inventory.
All inventory hosts to which a connection is actually established
should declare ansible_python_interpreter to avoid interpreter
auto-discovery, as that may select the wrong interpreter.
2019-03-11 21:43:58 -07:00
Simon Metzger
0d7ea0bae6 new module aci_access_sub_port_block_to_access_port (#51940)
* new module aci_access_sub_port_block_to_access_port

* new line at end of file
2019-03-11 18:05:57 -04:00
Lukas Kämmerling
32c337ee39 hcloud_server: streamline label handling (#53633) 2019-03-11 16:57:23 +01:00
Lukas Kämmerling
3e02502056 Add hcloud_ssh_key module (#53550) 2019-03-11 15:42:49 +01:00
Sam Doran
a4b2ce5e13
Add test to ordered integration tests to exercise shuffle code path (#53138)
This is meant to exercise the code path not test for randomness, though it somewhat does that.
2019-03-11 10:14:06 -04:00
Chris Van Heuveln
591e0ffb69 nxos_user: auth.yaml test: stronger test password needed (#53533)
Basic passwords are rejected by the nxos device unless `no password strength-check`
is configured. This change just makes the password meet the minimum strength checks.
2019-03-11 18:06:25 +05:30
Chris Van Heuveln
c5de2233d0 nxos_pim_rp_address: N7K sanity test fix when removing rp w/pfx-list (#53556)
The N7K is another platform that raises an error when trying to remove
an RP w/prefix-list specified. These tests are now skipped for N7K.
2019-03-11 18:05:59 +05:30
Chris Van Heuveln
c1e9f594d2 nxos_ospf_vrf: sanity.yaml test: fix timer_throttle_lsa_hold (#53561)
* The test was setting `lsa max` value to 2222 but the default `lsa hold` value is 5000.

* `hold` must be less than `max` or else the device raises a clierror, so I just added a lower non-default `hold` value to satisfy the cli.
2019-03-11 18:05:03 +05:30
Felix Fontein
3117900b1e docker_container: show warnings, fix/improve tests (#53440)
* Output warnings from docker daemon on container create and update.

* Accept warning for blkio_weight instead of idempotency.

* Value quoting.

* Avoid loop variable conflict.

* Add changelog.

* Make one test case faster.

* Add 'Docker warning: ' prefix.

* Add a generalized warning reporting function.
2019-03-11 19:04:06 +10:00
Hannes Ljungberg
7bb174214c docker_swarm_service: Add option rollback_config (#53594)
* Add rollback_config

* Add change log fragment

* Fix broken test

* Actually fix broken tests

* Add rollback_config example

* Default rollback_config as None

* Abort early if rollback_config does not exist
2019-03-11 18:55:41 +10:00
Jordan Borean
830a11dd38
test: optimize win_psmodule tests (#53431) 2019-03-11 05:43:21 +10:00
Hannes Ljungberg
57f706e5a0 docker_swarm_service: Extend mount options (#53559)
* Add mount options

* Remove mount readonly default

* Fix driver_config test

* Add documentation

* Add changelog fragment

* Properly indent tmpfs_ options

* Use correct service suffix for mount tests

* Check for None value on tmpfs usage check

* Document change of mounts.readonly return key

* Use correct change log type

* Really use correct change log type

* Revert changing mount.readonly to read_only
2019-03-09 14:35:57 -06:00
Matt Clay
5134ba95ca
Fix conditionals integration test. (#53583)
* Fix inventory for conditionals test.
* Remove extra groups from conditionals test.
2019-03-08 22:59:00 -08:00
Matt Clay
37bfa92076 Disable DevTest Labs tests. 2019-03-08 22:22:41 -08:00
Matt Martz
414440e323
Allow dict2items to work with hostvars (#53538) 2019-03-08 14:36:53 -06:00
Brian Coca
8940732b58
Configurable and parallel gather facts (#49399)
* Configurable list of facts modules (#31783)

 - allow for args dict for specific modules
 - add way to pass parameters
 - avoid facts poluting test
 - move to 'facts gathered' flag
 - add 'gathering' setting tests
 - allow parallel option in case serialization is too slow
 - added support to automatically map network facts
   uses "smart" connection mapping
2019-03-08 13:08:37 -05:00
Felix Fontein
caf7fd2245 openssl_*: improve passphrase handling for private keys in PyOpenSSL (#53489)
* Raise OpenSSLBadPassphraseError if passphrase is wrong.

* Improve handling of passphrase errors.

Current behavior for modules is: if passphrase is wrong (or wrongly specified), fail.
Current behavior for openssl_privatekey is: if passphrase is worng (or wrongly specified), regenerate.

* Add changelog.

* Add tests.

* Adjustments for some versions of PyOpenSSL.

* Update lib/ansible/modules/crypto/openssl_certificate.py

Improve text.

Co-Authored-By: felixfontein <felix@fontein.de>
2019-03-08 16:21:18 +00:00
Lukas Kämmerling
d4bd01c7ac hcloud: Add labels support to hcloud_server (#53514) 2019-03-08 11:10:30 +01:00
Chris Van Heuveln
8c33ba3ecd nxos_igmp_snooping: group-timeout fails when igmp snooping disabled (#53079)
* nxos_igmp_snooping: group-timeout fails when igmp snooping disabled

group-timeout config will be rejected by the device if `ip igmp snooping` is disabled.

  * raise a failure for this condition

  * reorder the command list so that group-timeout is always last

* SA fixes

* SA fixes

* only call gt_dependency if gt
2019-03-08 15:33:24 +05:30
Chris Van Heuveln
ea0ef3b2e1 nxos_pim_rp_address: update sanity test to work with legacy N3K (#53471)
Test yaml fixes for n3048:

* 3048 does not support bidir option
* 3048 cannot remove rp-address if prefix-list/route-map is present
  * yes: no ip pim rp-address x.x.x.x
  *  no: no ip pim rp-address x.x.x.x prefix-list foo
  *  no: no ip pim rp-address x.x.x.x route-map bar

This test now passes on N9k/N7k/N6k/N3k.
2019-03-08 15:29:34 +05:30
Bartosz Licheński
6e198487c9 postgresql_privs: Support FOREIGN DATA WRAPPER and FOREIGN SERVER (#38803)
* Support FOREIGN DATA WRAPPER and FOREIGN SERVER in postgresql_privs module
* Added available from note to fdw and fs object types
* Integration tests, examples in documentation
* Complete integration tests
2019-03-08 14:51:03 +05:30
Hannes Ljungberg
f5faf8211d docker_swarm_service: Add read_only option (#53482)
* Add read_only option

* Add changelog fragment

* Add version_added

* Fix broken test
2019-03-08 03:34:49 -05:00
Jakob Ackermann
13ab9a61a8 [docker_image] fix the changed state for tagging and pushing (#53451)
* [docker_image] fix the changed state for tagging and pushing

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [docker_image] add tests for (force) tagging and force pushing

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* [docker_image] add a news fragment for the fixed force tag/push behavior

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2019-03-08 08:28:42 +00:00
S
3bc474bf99 Fixed win_file crash with hidden files (#52584)
* Fixed crash with hidden files

added "-force" parameter on "Get-Item" cmdlet. this is needed to get file info if the file is "hidden" 
without this option modules like win_file, win_template, win_copy crashes on hidden files. this is because with "test-path" it sees that the file exists, but "get-item" can't get the file info. 
for more information on "-force option": https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-item

* Add changelog and integration tests

* fix tests for older Windows versions
2019-03-08 15:32:32 +10:00
Chris Van Heuveln
cfe4477c10 nxos_vxlan_vtep: Add dependency checks (#53288)
* nxos_vxlan_vtep: Add dependency checks

Some of the N9k-specific attrs are failing due to hardware/feature/resources.

 * `global_suppress_arp`
   - dependency on TCAM resources

 * `global_mcast_group_L3`
   - hardware dependency on specific chassis/linecards
   - feature dependency on `ngmvpn`

 * `global_ingress_replication_bgp`
   - hardware dependency on specific chassis/linecards

Tested on N9k with/without TCAM resources, various N9k chassis, N7k, N6k. All 100% Pass.

* pylint
2019-03-08 10:33:54 +05:30
Jordan Borean
0f2041abbd test: fix get_url issues in CI for Ubuntu 14.04 2019-03-07 20:37:31 -08:00
Jordan Borean
8ef2e6da05 Add support for Windows hosts in the SSH connection plugin (#47732)
* Add support for Windows hosts in the SSH connection plugin

* fix Python 2.6 unit test and sanity issues

* fix up connection tests in CI, disable SCP for now

* ensure we don't pollute the existing environment during the test

* Add connection_windows_ssh to classifier

* use test dir for inventory file

* Required powershell as default shell and fix tests

* Remove exlicit become_methods on connection

* clarify console encoding comment

* ignore recent SCP errors in integration tests

* Add cmd shell type and added more tests

* Fix some doc issues

* revises windows faq

* add anchors for windows links

* revises windows setup page

* Update changelogs/fragments/windows-ssh.yaml

Co-Authored-By: jborean93 <jborean93@gmail.com>
2019-03-07 16:38:02 -08:00
Hannes Ljungberg
3d07e7241a docker_swarm_service: Documentation fixes (#53479)
* Document and validate mode choices

* Update examples

* Test cpu float values

* Test correct option

* Fix module return sample

* Add secrets and user to module return value

* Order options alphabetically

* Add changelog

* yaml indentation

* Revert "Order options alphabetically"

This reverts commit 51dabccda7.

* Be consistent with choices type
2019-03-07 16:51:59 -06:00
Jordan Borean
072fa54b50
win reg - Support special chars in path (#53305)
* win reg - Support special chars in path

* Added deprecation warning for path separators
2019-03-08 05:41:52 +10:00
Felix Fontein
e4f2e15b96 Trying to work around spurious test failures. (#53472) 2019-03-07 14:35:47 -05:00
Matt Clay
3907ea31f5 Rebalance docker_* integration tests. 2019-03-07 10:59:40 -08:00
Andrey Klychkov
b41027b6cd New module postgresql_tablespace (#52914)
* New module postgresql_tablespace
2019-03-07 16:27:20 +00:00
Felix Fontein
b2e992cecd openssl_csr: improve subject validation (#53198)
* Improve subject field validation.

* Add country name idempotency test.

* Add failed country name test.

* Add changelog.
2019-03-07 15:29:35 +00:00
Matt Martz
264d9a9008
Allocate an explicit stdin in async_wrapper (#53410)
* add changelog fragment

* Add stdin async test

* Allocate an explicit stdin in async_wrapper. Fixes #50758
2019-03-07 09:28:44 -06:00
Chris Van Heuveln
495bd02dbf nxos_evpn_vni: exclude legacy N3k from sanity test (#53452)
The test was only skipping N3K|N35, needs to also skip N3L (legacy n3048 chassis).
2019-03-07 18:39:47 +05:30
Zim Kalinowski
b906db5f2a
removed state present which is default (#53434) 2019-03-07 13:13:12 +08:00
Matt Clay
9ed9cfb40c Split Windows tests into 5 groups. 2019-03-06 20:52:17 -08:00
Matt Clay
77a03af394 Use sed instead of perl in assert test. 2019-03-06 15:11:47 -08:00
Felix Fontein
a904bc7797 improve docker_* test speed (#53417)
* docker_swarm_service tests: use 'resolve_image: no' to avoid registry lookup if image is up-to-date.

* Improve docker_node performance: don't sleep after last try.
2019-03-06 14:01:00 -08:00
Hannes Ljungberg
c563caf451 docker_swarm_service: Set minimum docker-py version to 2.0.2 (#53295)
* Fix version checks in tests

* Set minimum version to 2.0.2

* Networks can only be updated >= docker-py 2.7

* Constraints require docker-py 2.4.0

* Healthchecks require docker-py 2.6.0

* Properly run tests different docker_py_versions

* Add changelog fragment

* Specify lowest version on placement.constraints

* Fix running new tests on older docker-py

* Handle different hosts formats returned by docker

* FIx test naming

* Quote str options

* secrets options require docker-py 2.4.0
2019-03-06 20:50:05 +00:00
Yunge Zhu
5ef7b7d767 add azure role definition module (#52468)
* add role definition module

* fix sample

* fix lint

* fix lint

* add facts module

* fix lint

* disable test due to no owner permission

* use unsupported

* fix lint

* resolve comments

* fix not_xxx_actions
2019-03-06 11:09:54 -08:00
Sloane Hertel
9687879840
Fix inventory cache interface (#50446)
* Replace InventoryFileCacheModule with a better developer-interface

Use new interface for inventory plugins with backwards compatibility

Auto-update the backing cache-plugin if the cache has changed after parsing the inventory plugin

* Update CacheModules to use the config system and add a deprecation warning if they are being imported directly rather than using cache_loader

* Fix foreman inventory caching

* Add tests

* Add integration test to check that fact caching works normally with cache plugins using ansible.constants and inventory caching provides a helpful error for non-compatible cache plugins

* Add some developer documentation for inventory and cache plugins

* Add user documentation for inventory caching

* Add deprecation docs

* Apply suggestions from docs review

* Add changelog
2019-03-06 12:12:35 -06:00
Anil Kumar Muraleedharan
77565554c8 To fix bug on switch port issue of L3 interfaces. (#53267)
* To fix bug on switch port issue of L3 interfaces.

* Adding mock return value for is_switch_port method
2019-03-06 12:08:53 -05:00
René Moser
4ac317239c
cloudscale_server: fix missing param use_private_network (#53381) 2019-03-06 16:22:15 +01:00
Andrea Tartaglia
5c6b16edc3 Fix ec2_instance eventual consistency when wait: false (#51885)
* Do not return 'instances' when wait is false

* Added integration tests for wait: false

* Added changelog fragment

* Fix test suite to work with ec2_instance

* Additional permissions
* Enforce boto3 version
* Fix broken tests
* Improve error messages

* fix linter issues
2019-03-06 22:46:37 +10:00
Fabian von Feilitzsch
65424dd614 Allow user to specify a custom condition when waiting (#52185) 2019-03-06 12:41:17 +00:00
Tad Merchant
b979b26a74 Add launch type to ecs task (#49081)
* adds fargate launch_type to ecs_task module

* White space changes

* fix documentation for running ecs task on fargate

* remove extraneous example from ecs_task

* White space changes

* Adds changelog fragment

* Pluralize minor_changes in changelog fragment

* Add Stop and Start task permissions
2019-03-06 22:40:32 +10:00
Andrey Klychkov
e246e74843 New module postgresql_ping: Checks remote PostgreSQL server availability. (#51477)
* New module postgresql_ping: simple module to check remote PostgreSQL server availability.

* New module postgresql_ping: simple module to check remote PostgreSQL server availability, doc fixes

* postgresql_ping: added integration tests

* New module postgresql_ping: misc changes

* New module postgresql_ping: change return suit

* New module postgresql_ping: tests reformatting, return value

* Various cosmetic/documentation fixes

* A few more fixes

* And even more cleanups

* Fix PEP8 issue
2019-03-06 11:01:13 +00:00
Felix Fontein
61abbfc269 docker_swarm_service: rename return variable to swarm_service (#53229)
* Rename return variable to swarm_service.

* Add changelog.

* Add that old name will stay in Ansible 2.7.x.
2019-03-06 10:27:11 +00:00
Yuwei Zhou
5fa3d307e8 Fixes #42407 add inbound_nat_rules for loadbalancer (#52966) 2019-03-06 07:15:52 +08:00
Felix Fontein
68c22fad5e Fix return variable name. 2019-03-05 14:40:26 -08:00
Wojciech Sciesinski
8136e2e4fe Extend win_psmodule - the second attempt, the previous was #46516 (#50621)
* Extend win_psmodule - rebased at 2019-01-07

* Change a way how defined parameters are added to the list

* Correct registering a repository

* Change way how tests for the check_mode: true are run

* Post-review updates

* Post-review updates -2

* Post-review updates -3

* Switch to PowerShell loop

* Minor updates

* Remove variants of an exception handling

* Change error handling
2019-03-06 06:56:55 +10:00
Jordan Borean
6b294eab4d
win_dsc - Add argument validation and other fixes (#53093)
* win_dsc - Add argument validation and other fixes

* Fix doc issues
2019-03-06 06:49:37 +10:00
Hannes Ljungberg
7a130d5446 docker_swarm_service: Add hosts option (#53290)
* Add hosts option

* Add changelog fragment
2019-03-05 18:59:49 +00:00
Felix Fontein
1323dca9e9 docker_*: enable RHEL8 tests (#53313) 2019-03-05 10:50:28 -08:00
Felix Fontein
8c628c9b2c Simplify docker_*_facts return names (#51939)
* Simplify docker_*_facts return names.

* Adjust regular return values of modules to match style of docker_*_facts modules.
2019-03-05 16:09:00 +00:00
Felix Fontein
1510435577 acme_account: improve account deactivation idempotency (#53234)
* Improve account deactivation idempotency.

* Using newer testing container.

* Add comment to test.
2019-03-05 16:08:01 +00:00
Maxim Babushkin
8ba2e15578 Add public key return to openssh_keypair (#53214)
- The openssh_keypair module will return a public key output on the
  private key creation.
- Add integration test in order to verify the public key output.
2019-03-05 16:07:43 +00:00
Hannes Ljungberg
139abd0849 docker_swarm_service: Add option groups (#53213)
* Add logging option

* Add limits option

* Add reservations option

* Add restart_config option

* Add update_config option

* Add placement option and remove placement_preferences

* Yaml indentation

* Use correct PR number for change log

* Handle grouper fallbacks better

* Add removed_in_version to argument spec

* Fix broken suboption usage check

* Reduce duplicate deprecated option tests

* Clearer deprecation documentation

* Compare bytes with MiB

* Use correct test service suffix
2019-03-05 16:07:27 +00:00
Felix Fontein
628326b879 openssl_csr: improve invalid SAN error messages (#53201)
* Improve invalid SAN error messages.

* Add changelog.
2019-03-05 16:07:07 +00:00
Viktor Utkin
b2a7561a7f [win_get_url] feature: Add support checksum to module win_get_url (#51986)
* set valid_until equal to current time + spot_wait_timeout

* Add checksum check for downloaded file.

* refactoring

* fix typo

* add fixes

* mart try,catch handling

* revert lib/ansible/modules/cloud/amazon/ec2.py from upstream

* refactoring

* remove empty lines

* add checksum verification for existing file

* fix current file check

* refactoring destination file check

* add handling exceptions

* refactoring

* Added download file hash data from url

* fix string aligning

* fix bug with uri

* Added get hash from multy-string file

* Added URI support for checksum file location

* refactoing

* Remove any non-alphanumeric characters for hash from url

* fix discussions; add support for PS3

* refactoring

* add size return value

* checkout from upstream for lib/ansible/modules/cloud/amazon/ec2.py

* add Ansible.ModuleUtils.Legacy support; refactoring

* Copyright added

* Checking files size before and after downloading added.

* remove unused code

* Corrected regexp for dotted slashed file name prefix in hash-file

* hotfix typo error; add int tests

* remove legacy module support; split checksum to checksum, checksum_algorithm, checksum_url

* changed default hash algorithm

* Fixed case for ContentLength = -1

* Old comment removed

* fix typo

* Remove file size check before downloading

* add alias to ; fix tests

* adjust tests; fix lint warnings from PSScritpAnalyzer

* workaround for bug in win_chocolatey module on win2008

* remove win_get_url.ps1 from /test/sanity/pslint/ignore.txt

* add checksum_algorithm as retuen value

* first normalise before return Result

* resolve discussions

Signed-off-by: Viktor Utkin <viktor.utkin7@yandex.ru>

* fix discussions
fix http tests as discussed

* fix last discussions

* Reduce code duplication and add idempotency check

* fix sanity issue and remove testing code

* move back to using tmp file for checksum comparison
2019-03-05 20:37:00 +10:00
René Moser
aafc5538bc
cloudscale_server: refactor to implement update (#52683) 2019-03-05 10:40:16 +01:00
Lukas Kämmerling
66beeaf032 Add hcloud server module (#53062) 2019-03-05 07:30:24 +01:00
Jordan Borean
b74295d25f
win_chocolatey - add ability to pin a package (#53157)
* win_chocolatey - add ability to pin a package

* fix typoe in changelog fragment
2019-03-05 14:18:42 +10:00
Jordan Borean
be7768efc7
win_chocolatey_source - fix state=disabled with no source (#53097) 2019-03-05 14:18:00 +10:00
Felix Fontein
6249bb8ea4 openssl_certificate: make sure extensions are present when they are queried by assertonly (#53207)
* Make sure extensions are present when they are queried by assertonly provider.

* Add changelog.
2019-03-05 00:09:48 +01:00
Felix Fontein
a7cee49913 Only run docker swarm based tests on VMs. (#53292) 2019-03-04 16:20:36 -05:00
Jordan Borean
a59565c062
rebaalance AWS test groups (#53159) 2019-03-05 05:59:29 +10:00
Martin Krizek
239fb1f68d yum/dnf: Add download_dir param (#53171) 2019-03-04 13:08:58 -05:00
Felix Fontein
8e26c2dfbe docker_swarm: support older docker-py versions (#53129)
* Decreasing docker_swarm requirements.

* Fixing docker-py / docker API version requirements, and some comments.

* Add changelog.

* Only send parameters specified by user to docker daemon.

* Extend labels test: not specifying == keep labels.

* Bump minimally required docker-py version for docker_node and docker_node_facts to 2.4.0.

* Prevent crashing when publish or healthcheck is not provided.

* Similarly to docker_swarm tests, only execute docker_node tests on real VMs and restart docker daemon when tests are done.
2019-03-04 12:10:09 +01:00
Zim Kalinowski
b547376db9
Adding DevTest Lab ARM Template facts (#53196) 2019-03-04 17:18:45 +08:00
Yuwei Zhou
d1b9e211a2 Add addon/network/aad support for AKS (#51014) 2019-03-04 17:15:04 +08:00
Nilashish Chakraborty
55bfa18c0c
New module to support BGP configuration management in IOS (#49121)
* ios_bgp initial push

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Added tests for ios_bgp

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fixed docs

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Added space

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix Shippable Errors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix Shippable Errors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add support for af_neighbor option

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add support for af_neighbor option - 2

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add support for af_neighbor option - 3

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix typo

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Refactor BGP

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix CI and previous reviews

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add missing params documentation

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove previous tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove elements=dict from keys with type=list from args spec for element validation to pass

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Added function to validate input

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix sanity test failure

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Minor bug fixes

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix typo in fixture

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Add integration tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-03-04 13:37:57 +05:30
Zim Kalinowski
c0c6eebed6 Adding DevTest Lab Artifact facts (#53195) 2019-03-04 12:53:44 +08:00
Zim Kalinowski
d96543880b
Adding DevTest Lab Artifact Source facts module (#53194) 2019-03-04 11:54:10 +08:00
Jordan Borean
00f0a015fe
Use setup_remote_tmp for windows httptester (#53255) 2019-03-04 13:18:45 +10:00
Andrea Tartaglia
d5d92e4a70 openssl_certificate, fixed has_expired to check the cert expiration date (#53168) 2019-03-02 00:37:28 +01:00
Sloane Hertel
601ee0a230
Disable ec2_vpc_vgw tests yet again (#53184) 2019-03-01 14:55:07 -06:00
Felix Fontein
e4c2cbcca2 Don't die when kernel memory accounting is not supported by runc build. (#53163) 2019-03-01 06:04:39 -05:00
Tony Finch
ccad79d162 get_url: return no change in check mode when checksum matches (#53070)
Signed-off-by: Tony Finch <dot@dotat.at>
2019-03-01 09:53:28 +00:00
Matt Clay
eeaff731de
Overhaul ansible-test cloud test plugins. (#53044) 2019-02-28 18:25:49 -08:00
Sam Doran
1c87ea6fa6 Reboot - add parameter for paths to search for shutdown command (#51194)
* Look in /lib/molly-guard for shutdown command

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Add parameter for extra_search_paths

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Change option to search_paths

- Update docs
- Make the parameter replace the default values
- Add some sanity checking on the data type

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Correct parameter in tests, change conditional for molly-guard tasks

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Address feedback

* Simplify field validation

Needed the try except in case a non-iterable type is put in the search_paths field
2019-02-28 13:36:33 -08:00
Dag Wieers
4e6c113bf0 uri/win_uri: Make method a free text field (#49719)
* uri/win_uri: Make method a free text field

Since various interfaces introduce their own HTTP method (e.g. like
PROPFIND, LIST or TRACE) it's better to leave this up to the user.

* Fix HTTP method check in module_utils urls

* Add integration test for method UNKNOWN

* Clarify the change as requested during review
2019-02-28 15:55:18 -05:00
Jiri Tyr
7739b5e96c Last two fields in fstab are optional (fixes #43855) (#43941)
* Last two fields in fstab are optional
* Add changelog
2019-02-28 14:09:30 -05:00
Sloane Hertel
9b4110a50c
Enable ec2_vpc_vgw tests (#53118) 2019-02-28 12:57:55 -06:00
Will Thames
91eee48f1b aws_kms tags fix (#53088)
* Fix TagName and TagValue in aws_kms

Fixes #53061

* Improve test suite to check for tags

Also fixed some obvious failures, need to run the test suite from time
to time!
2019-02-28 12:54:18 -06:00
rwagnergit
d2bdbadb03 adding quiet option to assert (ansible#27124) (#52032)
* adding quiet option to assert (ansible#27124)

* adding doc for quiet to assert.py

* fixing PEP8 failure

* improving example

* improving docs

* adding changelog fragment

* adding . at end of descriptions

* removing trailing blank line

* adding integration test for assert

* fixing CI complaints

* disabling gather_facts in quiet.yml test

* rerunning to capture skip

* cleaning up python 2 vs 3

* following rebase

* fixing CI complaints

* fixing CI complaints

* fixing CI complaints

* fixing CI complaints

* fixing CI complaints
2019-02-28 10:25:41 -05:00
Matt Davis
4d3a6123d5
Python interpreter discovery (#50163)
* Python interpreter discovery

* No longer blindly default to only `/usr/bin/python`
* `ansible_python_interpreter` defaults to `auto_legacy`, which will discover the platform Python interpreter on some platforms (but still favor `/usr/bin/python` if present for backward compatibility). Use `auto` to always use the discovered interpreter, append `_silent` to either value to suppress warnings.
* includes new doc utility method `get_versioned_doclink` to generate a major.minor versioned doclink against docs.ansible.com (or some other config-overridden URL)

* docs revisions for python interpreter discovery

(cherry picked from commit 5b53c0012ab7212304c28fdd24cb33fd8ff755c2)

* verify output on some distros, cleanup
2019-02-27 23:52:02 -08:00
Chris Van Heuveln
d69239c440 network.py:ActionModule:run: does not honor _handle_src_option failures (#52745)
* network.py:ActionModule:run: does not honor _handle_src_option failures

PR #50301 moved template error handling out of run() and into its
own method in `_handle_src_option`; however, after the change run()
ignores the return value so any errors are ignored.

Reproduceable with `nxos_config/tests/common/src_invalid.yaml`

Verified fix with `nxos_config/tests/common/src_*` tests.

Ref:
71113ee291 (diff-7477bf046013758366cc85b06f90709aR43)

* nxos_config/tests/common/src_basic: Updated to test with src

This test was not actually testing with `src:` as it should have.

* Revert 412d7e change to plugins/action/network.py

PR #52912 fixed this already.

* nxos_config: fix src_invalid test
2019-02-28 11:07:03 +05:30
Matt Clay
e4d0be39c3 Remove skip/rhel8.0 from osx_defaults test.
The test already has `skip/rhel` which is enough.
2019-02-27 17:48:16 -08:00
Kevin Breit
9e6e53d1f6 Migrate existing Digital Ocean integration tests to new framework (#51785)
- SSH key and floating IP tests were legacy
- PR moves, but does not enhance tests
- Uses consistent API key variable
2019-02-27 19:14:43 -05:00
Wojciech Sciesinski
c99f3f558a Don't run integration tests for OS'es older than Windows 2016 (#53057) 2019-02-28 09:59:29 +10:00
Brian Coca
cfba6dfe91
Ensure play order is obeyed (#49897)
* Ensure play order is obeyed

 it was being ignored depending on other options
 also added tests for each order (except shuffle) both serial and not
 fixes #49846
2019-02-27 18:20:16 -05:00
Zim Kalinowski
6583ed0df9 Adding postgresql configuration module (#45072)
* adding postgresqlconfiguration

* removed unnecessary option

* small fixes

* moved tests to main server test

* update comments

* updated module
2019-02-27 14:43:50 -08:00
Zim Kalinowski
6d3789125b adding mysql configuration module (#45076)
* adding mysql configuration module

* fixes in configuration

* move tests

* fixes

* updating test

* updated module

* fixed merge issues

* one more test fix

* adding for debugging purposes

* removed file checked in by mistake

* one more merge problem

* fixed test

* try to get more info

* fix error
2019-02-27 14:42:42 -08:00
Sloane Hertel
c4d0c58c5a
Only run ec2_vpc_vgw on changes to the module to avoid hitting the limit (#53082)
* Only run ec2_vpc_vgw on changes to the module to avoid hitting the resource limit

* actually mark as disabled
2019-02-27 15:58:11 -06:00
Felix Fontein
04bfec9dfe docker_swarm: more integration tests (#53035)
* Add more tests.

* Added tests for CA options.

* Don't run in docker-in-docker situations where docker daemon becoming instable is really dangerous. Also, restart docker daemon after tests.

* Only run CA tests when openssl_certificate can be run (which is not the case for RHEL7, see #34054).

* Add comment on why docker-based CI runs are skipped.
2019-02-27 14:54:32 -05:00
Anil Kumar Muraleedharan
a78c40322c Lenovo cnos logging (#52978)
* Adding the module cnos_logging.py to the module suite from Lenovo
2019-02-27 14:15:56 -05:00
Sloane Hertel
8fbb2f8b2a
fix no_log indentation so AWS temporary credentials aren't displayed in tests (#53073) 2019-02-27 12:22:43 -06:00
Felix Fontein
76e0e0080b Fix force when state==present. (#53003) 2019-02-27 09:11:57 +00:00
Chris Van Heuveln
5dc65d0dfc nxos_hsrp: fix 'sh_preempt': <unknown enum:> (#52858)
* nxos_hsrp: fix 'sh_preempt': <unknown enum:>

Some older nxos images fail to set this attr value. This fix checks for
unknown enum and issues a second (unstructured) call to the device to get
the data.

* add whitespace for pep8
2019-02-27 14:20:50 +05:30
Tad Merchant
b538e34a32 Ecs service add features (#50059)
* Support UpdateService forceNewDeployment in ecs_service module

* Fixes for review

* Add force_new_deployment option to ecs_service.py

cherrypicks changes from via/ansible
Adds tests for pull request #42518
fixes backwards compatability with boto<1.8.4

* WIP commit so I don't have to stash

* WIP commit for healthcheck grace period

* WIP commit; ecs_module handles service registries

* Fix bad check for desired_count

* Add scheduling strategy test, comment out service registry test

* Fix names in ecs_cluster role main task.

* move full test run back to the end

* Change botocore version for full test to support scheduling strategy

* fix bug with desired_count==0 in amazon/ecs_service

* Fix changed checking for scheduling strategy DAEMON in ecs_service

* Pass testS

* Fix some unhelpful comments

* Add changelog for ecs_service
2019-02-27 13:20:19 +10:00
Dag Wieers
8f671e6cff Squash redundant tasks (#52628)
This PR includes some changes to reduce the number of tasks.
2019-02-26 15:09:42 -05:00
Matt Clay
b713246f57 Reduce vcenter integration test boilerplate. 2019-02-26 11:29:21 -08:00
Felix Fontein
e017d94766 docker_swarm: extend tests (part I) (#53005)
* Restructure tests.

* Allow tests to work when ansible_default_ipv4.address is undefined.
2019-02-26 14:18:30 -05:00
Dag Wieers
076562e5c2
ACI: Various changes and doc updates (#52957)
* ACI: Various changes and doc updates

* Fix typos
2019-02-26 14:55:40 +01:00
Felix Fontein
bf3c291606 docker_swarm: add diff support (#52947)
* Add diff support to docker_swarm.

* Add changelog.

* Using diff mode for docker_swarm tests. This improves debugging, since the the module now outputs more information on *why* it did certain actions.
2019-02-26 11:57:02 +00:00
Zim Kalinowski
0b1cfa52e6
make artifacts conditional (#52975) 2019-02-26 17:12:15 +08:00
Jordan Borean
d55ddec923
Revert Clear failed state in always only if we did rescue (#52968)
* Revert "Clear failed state in always only if we did rescue (#52829)"

This reverts commit f135960fc2.

* Add tests for failed scenario

* Set failed task with EXPECTED FAILURE
2019-02-26 16:22:32 +10:00
Zim Kalinowski
344a81daec
Adding DTL VM facts (#52692) 2019-02-26 10:45:39 +08:00
Sloane Hertel
bee293f65e
Mark redshift tests as unstable because they are failing irregularly (#52941) 2019-02-25 17:37:53 -06:00
Jordan Borean
13f8f1481f
Ansible.Basic - Support a delegate type for option elements key (#52951) 2019-02-26 08:14:10 +10:00
Rémi REY
30b3ce0f81 Add aws_secret module for managing secretsmanager on AWS (#48486)
* Adding module for managing AWS Secrets Manager resources

* adding aws_secret lookup plugin

Also use the data returned by describe_secret everywhere.

* replace the explicit /root use by a temporary dir

* aws_secret: rework module

Reworked module to use a class avoiding using client and module in every
functions.

* Added support of "recovery_window" parameter to allow user to provide
recovery period.

* updated return value to be the api output providing more details about
  the secret.

* Fix Python 3 bug in tests if the role is not removed

* Add unsupported alias due to issue restricting resource for creating secrets
2019-02-25 14:27:33 -06:00
Matt Clay
52a8957b6e Revert "foreman: Use generic python in test run (#52544)"
Cannot use `python.py` with `-c`.

This reverts commit 2991c5d47c.
2019-02-25 12:16:23 -08:00
Andrey Klychkov
be75c79941 New module postgresql_query (#52555)
* New module postgresql_query

* New module postgresql_query: added tests

* New module postgresql_query: added path_to_script

* New module postgresql_query: fix doc

* New module postgresql_query: fix autocommit

* New module postgresql_query: added exception for centos6 tests

* New module postgresql_query: fixes

* New module postgresql_query: add psycopg2 check

* New module postgresql_query: add psycopg2 check, fix

* New module postgresql_query: add psycopg2 check, fix

* New module postgresql_query: add psycopg2 check, fix

* New module postgresql_query: fix a type
2019-02-25 14:08:04 +00:00
James E. King III
f2495ef0d3 Add ability to get vmware_guest_facts using vsphere schema output (#47446) 2019-02-25 06:03:40 -05:00
Abhijeet Kasurde
46d869e7bd VMware: new module: vmware_dvs_portgroup_facts (#45116)
* VMware: new module: vmware_dvs_portgroup_facts

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

* Review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-25 05:47:09 -05:00
Abhijeet Kasurde
1a8332d2cd VMware: new module: vmware_guest_customization_facts (#38588)
This module gathers facts about customization specification created
for virtual machine.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-25 04:32:56 -05:00
Christian Kotte
2f44ac4edc VMware: Fix module vmware_host (#46225)
* Add folder_name alias

The parameter should be named folder_name instead of folder to be
consistent with the other parameters cluster_name and datacenter_name.

* Fix 'A specified parameter was not correct: cnxSpec' error

The play fails when re-connecting a host with the cnxSpec argument
defined.

Just remove the cnxSpec argument definition. It isn't necessary when
re-connecting an existing host in vCenter (6.5).

* Fix ESXi host add/remove/re-connect errors

An ESXi host cannot be added, removed, or re-connected under a folder.

ESXi hosts connected under a folder, instead of a cluster, have an
object type of ComputeResource instead of HostSystem and the HostSystem
object is the first entry in the host parameter list of the
ComputeResource object.

Separate between cluster and folder actions.
2019-02-25 14:08:33 +05:30
Jake Hill
e18d5ea8b3 VMware: Add support in VMWare modules for BIOS and instance UUID's (#44399)
* Add support for changing UUID type referenced
* Update all appropriate VMware modules to include UUID type
* Add integration test for filtering on instance UUID
2019-02-25 14:07:07 +05:30
Felix Fontein
a1ec307d43 docker_swarm: make labels work with older docker daemon versions (#52895)
* Make labels work with older docker daemon versions.

* Fix idempotence detection.

* Add changelog.
2019-02-25 08:16:09 +00:00
Dag Wieers
3d1dd0e599 Windows: Add backup parameter to modules (#50033)
* Windows: Add backup parameter to modules

This PR adds a backup infrastructure for modules.

* Fixes based on review feedback

* Various fixes to check-mode and backup

* Add integration tests

* Fix win_xml integration test

* Add backup support to copy action plugin

* Added integration tests

* Improve test efficiencies and other minor impv
2019-02-25 11:37:25 +10:00
Felix Fontein
81d58cfef6 docker_swarm: hopefully fix debug CI problems, and fix check mode (#52825)
* Let's see some debug output.

* Also check LocalNodeState.

* Improve tests.

* Actually implement check mode.

* Add changelog.

* Add pretty-printing and more output.
2019-02-23 17:18:17 -05:00
Piotr Wojciechowski
e2856127f6 Integration test for docker_node module (#52700)
* Integration test for docker_node module

* docker_node integration tests (check_mode and idempotency added)

* docker_node integration tests typos fix
2019-02-23 16:59:12 -05:00
René Moser
00003cbb7b
tests: cloudstack: wait longer for template to be ready (#52866) 2019-02-23 09:39:42 +01:00
Matt Clay
4ea96c151b Rebalance AWS integration tests in CI. 2019-02-22 21:56:29 -08:00
Matt Clay
05c303a39f Rebalance Azure tests in CI. 2019-02-22 20:59:18 -08:00
Fabian von Feilitzsch
52ec80fbe9 Add proper k8s *List kind support (#52529)
* Add proper k8s *List kind support

* set defaults more intelligently

* reimplement list support so that it will work in all versions of the client

* clean up debugging code
2019-02-23 12:10:42 +10:00
Kevin Breit
d65a91ea7e meraki_config_template - Fix actions when specifying net_id (#51586)
* Allow configuration templates when using net_id...for reals
- Didn't work before, I had bad code. I'm sorry.
- Cleaned up code and simplified functions
- Added integration tests to test for net_id actions

* Add changelog

* Add module name to changelog

* Fix indentation
2019-02-22 19:39:01 -05:00
Kevin Breit
cf7ffcedbf New module - meraki/meraki_syslog (#48814)
* Initial commit of meraki_syslog module
- Query or modify syslog settings in Meraki networks
- This has not yet been tested

* Module now supports creating new syslog servers
- Added integration test
- Still needs to add support for
  - Modification or removal of roles
  - Removal of syslog servers
  - Test to make sure servers are appended to existing

* Improvements to integration test
- Code hasn't been tested so it likely is broke somewhere
- Move to a block setup and always destroy network
- Create test network just for syslog server tests
- Current tests will test present functionality
- Absent state needs to be tested further

* Working version of meraki_syslog module
- There is no absent state since module overwrites server config
- Full integration tests

* Formatting fix

* Add some examples

* Fix sanity test errors

* Add type for all parameters
2019-02-22 17:22:37 -05:00
Sam Doran
f52a088862
Add option to ignore, warn, or error when a module parameter is converted to a string (#51404)
* Add new module property to Windows modules
* Add brief pause to file tests to ensure the stat times are not equal, which was happening sometimes.
* Raise TypeError on error rather than fail_json()
* Rework error message to be less verbose
* Add porting guide entry
2019-02-22 16:44:32 -05:00
Kevin Breit
df3b973cec Change assertion to variable (#52550) 2019-02-22 21:52:59 +01:00
Michael Eaton
c5e3c80800 VMware: New Module: vmware_host_scanhba (#51440) 2019-02-22 16:45:53 +05:30
Yunge Zhu
28dadc9e18
add application security group facts (#52629) 2019-02-22 16:11:24 +08:00
Yunge Zhu
d2297c50d2
add cdnendpoint facts module (#52631) 2019-02-22 13:51:38 +08:00
Jordan Borean
80652ad054
Suse add py3 package vars (#52794) 2019-02-22 15:23:37 +10:00
Abhijeet Kasurde
e41b98ffb5
VMware: Refactor guest inventory plugin (#52642)
* VMware: Refactor guest inventory plugin
* Review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-22 09:55:57 +05:30
Jordan Borean
17bfc60423
test - add setup target that creates the nobody user (#52750)
* test - add setup target that creates the nobody user

* do not set explicit gid/uid for nobody user

* Do no create group and only touch basic attributes
2019-02-22 14:04:10 +10:00
Jordan Borean
aab1f30906
group - fix explicit git scenario (#52769)
* group - fix explicit git scenario

* Use str for simplicity and remove changelog

* dynamically get gid and remove Jinja2 check
2019-02-22 12:40:42 +10:00
Jordan Borean
63c22f6eb0
test - add Python 3 package for OpenSUSE in setup_openssl (#52775) 2019-02-22 10:48:18 +10:00
Rafael Driutti
c68838fb13 AWS Redshift: port module to boto3 and fix parameters check (#37052)
* fix parameters check and port module to boto3

* begin with integration tests

* allow redshift iam policy

* Wait for cluster to be created before moving on to delete it

* Allow sts credentials so this can be run in CI

Don't log credentials

ensure cluster can be removed

* - Replace DIY waiters with boto3 waiters
- test multi node cluster

* catch specific boto3 error codes

* remove wait from test

* add missing alias for shippable

* - Rework modify function.
- Default unavailable parameters to none.
- Add cluster modify test

* Ensure resources are cleaned up if tests fail

* Ensure all botocore ClientError and BotoCoreError exceptions are handled
2019-02-21 17:04:42 -06:00
Jordan Borean
5e3e0eb946
fix filesystem tests on OpenSUSE 15+ (#52716) 2019-02-22 08:15:12 +10:00
Hannes Ljungberg
dd4b4aa941 docker_swarm_service: Add stop_grace_period option (#52519)
* Add stop_grace_period option

* Add changelog fragment

* Move doc type to last

* Add version_added
2019-02-21 20:12:13 +00:00
Abhijeet Kasurde
1b3cde353d osx_defaults: refactor (#52452)
* Code refactor
* Documentation update
* Add 'list' parameter
* Example update
* Testcase for osx_defaults

Fixes: #29329

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-21 14:37:16 +01:00
Hannes Ljungberg
da8574c567 docker_swarm_service: Allow passing period strings on relevant options (#52530)
* Allow duration to be passed as duration strings

* Remove whitespace

* Add changelog fragment

* Fix broken test

* Better error handling
2019-02-21 11:47:06 +00:00
Hannes Ljungberg
7276344f85 docker_swarm_service: Don’t remove service when networks change (#52634)
* Don’t remove service when networks change

* Add changelog fragment

* Some more network integration tests

* Add hannseman as author

* Remove return on self.client.fail
2019-02-21 11:46:50 +00:00
Yunge Zhu
55e9acb043 support application security group in network interface (#52450) 2019-02-21 17:23:09 +08:00
Piotr Wojciechowski
995c4bf02e Integration tests for docker_host_facts module (#52487)
* Integration tests for docker_host_facts

* Integration tests for docker_host_facts (update to cover #52432 fix)

* Integration tests for docker_host_facts updates after review

* Integration tests for docker_host_facts updates after review

* Integration tests for docker_host_facts updates after review

* Integration tests for docker_host_facts - adding comments and integrated test for all options combined together

* Integration tests for docker_host_facts - small code improvement

* Adjusting variable name
2019-02-21 00:21:59 -05:00
Zim Kalinowski
4292c33649 adding tags to azure_rm_sqldatabase (#52615)
* adding tags to sql database

* can't add version_added, so have to ignore sanity test

* removed ignore
2019-02-20 16:17:45 -08:00
Zim Kalinowski
20a96bcc4e dev test labs artifacts and virtual machine modules (#51462)
* dev test labs vm and artifacts

* fix sanity

* fixing sanity

* disable artifact test for now

* + vn update

* fix sanity

* fixed test issue

* one more merge update

* fixed assert
2019-02-20 16:02:09 -08:00
Anil Kumar Muraleedharan
c9fea2b74b Lenovo cnos lldp (#52568)
* To add new module cnos_lldp.
2019-02-20 17:30:09 -05:00
Zim Kalinowski
9d11cd311b adding vmss instance module (#51461)
* adding vmss instance

* fix indent

* fixing doc
2019-02-20 13:50:46 -08:00
The Magician
471b20bab3 New Module: gcp_cloudbuild_trigger (#52621) 2019-02-20 13:11:40 -05:00
Christian Kotte
bd0cad6ed7 Improve vmware_vmkernel module (#47270)
* update description and examples
* show updated settings
* add check mode support
* Remove unused option `vlan_id`
* add vDS support
* add TCP/IP stack support
2019-02-20 21:27:35 +05:30
René Moser
4b379745ca
tests: cloudscale_server: convert legacy to target tests (#52576) 2019-02-20 16:15:40 +01:00
Zim Kalinowski
d75f118b5e
Adding subnet facts (#52611) 2019-02-20 13:56:36 +08:00
Martin Krizek
be9f07279e Add stats on rescued/ignored tasks (#48418)
* Adding rescued/ignored tasks to stats gathering

Fixes #31245

* Amend integration tests to pass

* callback/dense.py: fix too-many-format-args

* Add changelog

* Amend counter_enabled and unixy callbacks

* Fix syntax error

* Fix typo in the changelog

* Remove not needed comment

* Re-add skipped

* Add test for rescued

* Fix colors...

* Fix unstable tests?

* Add a note to the porting guide

* Re-word the note in the porting guide

Fixes #20346
Fixes #24525
Fixes #14393

Co-authored-by: James Cammarata <jimi@sngx.net>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2019-02-20 13:00:47 +10:00
Zim Kalinowski
b1a9e7b8c8
adding dlt vn facts (#52552) 2019-02-20 10:45:47 +08:00
David Soper
63ea76d174 intersight_rest_api module and integration tests. (#52430)
* intersight_rest_api module and integration tests.
Fix intersight module_utils issues when using POST/PATCH/DELETE.

* Update json returns based on code review
2019-02-19 16:40:40 +01:00
Abhijeet Kasurde
24d1886499
template: add additional variable for dest path (#52015)
Signed-off-by: Dustin Spicuzza <dustin@virtualroadside.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-19 14:15:19 +05:30
Zim Kalinowski
fbf4e32b43
adding sqldatabase facts (#43324) 2019-02-19 13:09:53 +08:00
Zim Kalinowski
3316f00131 adding devtest labs facts (#52001) 2019-02-19 13:01:44 +08:00
Yunge Zhu
79f9fc415d add redis cache facts (#48652) 2019-02-19 12:43:23 +08:00
Jordan Borean
c312287731
test suse: get tests working on newer OpenSUSE distributions (#52539) 2019-02-19 13:20:08 +10:00
Jordan Borean
2991c5d47c
foreman: Use generic python in test run (#52544) 2019-02-19 13:19:54 +10:00
Zim Kalinowski
103b4c1d09 Adding cosmosdb account facts module (#51993) 2019-02-19 11:18:12 +08:00
Kevin Breit
a499244a53 New module - meraki/meraki_content_filtering (#51223)
* Initial commit
- Module mostly works but doesn't work for URL categories
- Additional tests should be added
- Documentation is needed
- Module is close to being complete

* Improved documentation
- Added parameter documentation
- Added examples

* Lint changes and bug fixes
- Fixed content filtering syntax bug per Meraki documentation update

* Change test cases so they work

* Remove duplicate key

* Improve documentation and check mode
2019-02-18 19:27:21 -05:00
Kevin Breit
ef2c00e106 Rename orgAccess parameter to org_access (#51347) 2019-02-18 19:27:11 -05:00
Kevin Breit
48128ec2fc meraki_ssid - Modifying SSID won't work when specifying number (#51645)
* Fix bug when specifying SSID by number
- Migrated integration test to blocks with always
- Minor URL fixes

(cherry picked from commit ed79c294f2e3f82d4828226004c055dcd7ce9f63)

* Create changelog file

* Add new line
2019-02-18 19:25:41 -05:00
Hannes Ljungberg
0bf9052e06 docker_swarm_service: Remove defaults (#52420)
* Remove update_parallelism default

* Remove update_delay default

* Add documentation about removing defaults

* Present porting guide changes as a list
2019-02-18 14:19:19 -05:00
Abhijeet Kasurde
e8b3adeb2b
VMware: add new module vmware_host_kernel_manager (#52503)
Signed-off-by: Aaron Longchamps <a.j.longchamps@gmail.com>
2019-02-18 21:57:49 +05:30
Felix Fontein
5b28cd65f0 luks_device: add integration tests (#52359)
* Add first version of luks_device tests.

* Do ~ expansion manually.

* Try to enable RHEL8.

* Adjust to older losetup version.

* Make sure cryptsetup is installed.
2019-02-18 17:16:57 +01:00
Matt Clay
687279c7bd Set user expires on FreeBSD using UTC. (#52276) 2019-02-18 09:59:13 -05:00
Hannes Ljungberg
c80ad43371 docker_swarm_service: Add working_dir option (#52425)
* Add working_dir option

* Check local mounts var to align with other checks

* Add changelog fragment

* Add trailing comma
2019-02-18 13:42:19 +00:00
Felix Fontein
37b0f5c81b docker: provide alternatives to ansible_facts results (#51192)
* Try to stop using ansible_facts for docker modules.

* Stop using facts returned from regular modules.
2019-02-18 13:41:34 +00:00
Hannes Ljungberg
64b12d2c0d docker_swarm_service: Add groups option (#52428)
* Add groups option

* Add changelog fragment

* Remove whitespace

* Remove whitespace
2019-02-18 13:12:05 +00:00
Jordan Borean
bb0a69e084
git: kill gpg-agent in tests on newer OpenSUSE hosts (#52476) 2019-02-18 21:30:31 +10:00
Hannes Ljungberg
18b968d486 docker_swarm_service: Add healthcheck option (#52419)
* Define yaml versions as strings

* Add healthcheck option

* Add changelog fragment

* Don’t set version_added as strings

* Use single quoted string

* Disable healthcheck tests on python 2.6

* Bring back quoting on already quoted version-added

* Python 2.6 compat

* Move functions to docker-common

* Move parse_healthcheck to docker-common

* Cast exception to str before printing failure

* Extend parse_healthcheck tests
2019-02-18 09:46:14 +00:00
Hannes Ljungberg
77d116f66e docker_swarm_service: Add stop_signal option (#52424)
* Add stop_signal option

* Add changelog fragment
2019-02-18 09:43:35 +00:00
Yuwei Zhou
664e6fb9c8 modified storageaccount fact return curated result with connection string (#49702) 2019-02-18 16:48:56 +08:00
Zim Kalinowski
896e320142
adding postgresqlconfiguration facts (#45071) 2019-02-18 15:14:56 +08:00
Zim Kalinowski
fa73abcf5d
fixing force_update in azure_rm_mysqldatabase (#52389) 2019-02-18 14:20:30 +08:00
Jordan Borean
3ecd6e19f7
alternatives - fix OpenSUSE dir on newer distros (#52458) 2019-02-18 16:07:01 +10:00
Zim Kalinowski
8422e23533
Fixing azure_rm_postgresqldatabase force_update parameter (#52388) 2019-02-18 14:04:01 +08:00
Jordan Borean
d6453a79f5
zypper_repository: fix return check on newer OpenSUSE versions (#52457) 2019-02-18 15:52:15 +10:00
Jordan Borean
4b296da6a2
zypper: fix tests to use new URL for OpenSUSE 15.0 (#52453) 2019-02-18 15:04:02 +10:00
Zim Kalinowski
777441719f
azure_rm_cosmosdbaccount - fix for virtual network rules (#52416) 2019-02-18 11:58:43 +08:00
Jordan Borean
4a94bd8d9d
opensuse - install password-store from specific repo (#52439) 2019-02-18 13:12:01 +10:00
Piotr Wojciechowski
e284a1546f Integration tests for docker_node_facts (#52423) 2019-02-17 12:08:29 -05:00
Piotr Wojciechowski
d27ac7a816 Integration tests for module docker_swarm_facts (#52208)
* * docker_swarm_facts integration tests

* * docker_swarm_facts integration tests

* * docker_swarm_facts integration tests

* Removing commented lines

* Extended and updated integration tests for docker_swarm_facts module

* Cosmetic integtration tests playbook changes

* Cosmetic integtration tests playbook changes from PR comments
2019-02-16 16:20:54 -05:00
Matt Clay
f5c92f6bc1
Allow setting resource.RLIMIT_NOFILE in modules (#51989) 2019-02-15 17:52:35 -08:00
saranyasridharan
1db6d5598a Adding custom module to get PID of the process (#50896) 2019-02-15 17:08:55 -08:00
Matt Clay
6ac22416af Fix tests to use ANSIBLE_TEST_PYTHON_INTERPRETER. 2019-02-15 11:24:07 -08:00
David Soper
958653e282 Cisco Intersight module_utils and intersight_facts module (#51309)
* Cisco Intersight module_utils and intersight_facts module

* Add RETURN information and fix pylint, import, and pep8 issues.

* Review updates for specifying type of params/returns and not polluting ansible_facts.

* BSD one line license, validate_certs used, urls.fetch_urls replaces requests
2019-02-15 16:32:29 +01:00
Andrey Klychkov
8e0f95951d Module postgresql_idx: added ci tests, new params, returned values, code refactoring (#52230)
* postgresql_idx: ci tests, refactoring, return values

* postgresql_idx: ci tests, new params, return values

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix state choices order
2019-02-15 15:38:56 +01:00
Zim Kalinowski
2f3960558d
Fix for PostgresSQL server update and storage_mb (#51653) 2019-02-15 17:46:52 +08:00
Zim Kalinowski
1f5cda37b3
Fix for MySQL server update and storage_mb (#51661) 2019-02-15 17:33:21 +08:00
Jordan Borean
de118734e9
Ansible.Basic - add required_by to module spec (#51407)
* Ansible.Basic - add required_by to module spec

* fix typo in docs
2019-02-15 13:00:25 +10:00
René Moser
0cc23de776
cloudstack: test: ensure network is implemented (#52204)
In ACS 4.12, it is no longer possbile to acquire IPs to a (...) network
not already in implemented state.

With deployment of a VM instance, we enforce the implementation of the
network. Also see 323f791efc
2019-02-14 23:44:50 +01:00
Jordan Borean
7b8e814a10 Ansible.Basic: make module options case insensitive with dep warning (#51583)
* Ansible.Basic: make module options case insensitive with dep warning

* Add porting guide info
2019-02-13 21:55:43 -05:00
Matt Clay
7016559b1a Fix openssl_privatekey test on FreeBSD 12.0. 2019-02-13 18:34:45 -08:00
Yunge Zhu
bccf6d31bd add azure_applicationsecuritygroup module (#51214)
* add applicationsecurity group module

* fix lint
2019-02-13 19:34:44 -05:00
Adam Miller
ea0e2bf2b3 yum always return changes dict, not only in check mode (#51987)
Previously the yum module would provide a `changes` dict when
executed in check mode but omit it when not in check mode in favor
of the `results` data which is raw output from the yum command. This
pull request makes that output uniform.

Fixes #51724

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-02-13 17:46:32 -05:00
おすし
c2a409a9e0 Fix: Yum module does not use proxy when username is not set #51548 (#51994)
* add test of yum with proxy

* Properly handle unauthenticated yum proxy config

Fixes #51548

* shell executable is bash
2019-02-13 14:10:47 -05:00
Sam Doran
ad386290b4
Update command/shell docs with note about modules for rebooting(#51499)
- Update integration test syntax
2019-02-13 13:54:36 -05:00
Matt Martz
cdb53ff1a4
Restore behavior for detecting only localhost, and no limit match. Fixes #52152 (#52172)
* Restore behavior for detecting only localhost, and no limit match. Fixes #52152

* Add test for non-matching limit
2019-02-13 11:52:30 -06:00
Jordan Borean
847d089d6b Re-add support for setting shell from play context (#52139)
* Re-add support for setting shell from play context

* Add integration tests

* Add more tests for shell override

* fix sanity issue
2019-02-13 11:49:13 -06:00
Abhijeet Kasurde
32fce43311
hashi_vault: fix multiple spaces in params (#51524)
Fixes param parsing in hashi_vault

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-13 18:32:00 +05:30
Abhijeet Kasurde
22bddb434a
test for ipaddr filter (#52088)
based upon work of mscherer

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-13 16:53:43 +05:30
Pilou
51270be883 tower modules: check that 'verify_ssl' defined in ~/.tower_cli.cfg isn't ignored (#50687)
* Check that verify_ssl defined in tower_cli.cfg isn't ignored

* Avoid to override verify_ssl value defined in tower_cli.cfg

By default, tower-cli library enables SSL certificates check. But
verify_ssl false value defined in config files read by default by
tower-cli library (for example /etc/tower/tower_cli.cfg) was ignored
because overriden by the tower_verify_ssl parameter default value.

* fix a typo in comment
2019-02-13 10:26:43 +00:00
Straff
d4a07f9573 Added support for user-specified log file in win_package (#51104)
* Added support for user-specified log file in win_package - feature (#38353)

* added integration tests for win_package log_path support feature (#38353), and applied review feedback

* win_package log_path support feature (#38353) - fixed typo in win-package.py documentation

* win_package log_path support feature (#38353) - improved an integration test and better doc in win-package.py
2019-02-13 19:08:07 +10:00
Amol Kahat
563725ba98 Fixed typo from adress to address (#52143)
Signed-off-by: Amol Kahat <akahat@redhat.com>
2019-02-13 13:57:13 +05:30
Abhijeet Kasurde
928c4f08ca
Fix test case in vmware_guest (#52142)
Due to changes in https://github.com/ansible/ansible/pull/45412
vmware_guest testcase delete_vm failed. This patch will fix that testcase.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-13 10:28:03 +05:30
Will Thames
46fbcf08bc
aws_kms enhancements (#31960)
* Allow creation and deletion of keys (deletion just schedules for
  deletion, recreating an old key is just cancelling its deletion)
* Allow grants to be set, thus enabling encryption contexts to be
  used with keys
* Allow tags to be added and modified
* Add testing for KMS module
* Tidy up aws_kms module to latest standards
2019-02-13 13:06:58 +10:00
Wojciech Sciesinski
a431e802ed Add posibilities to run the integration tests for PowerShell < 5.0 (#50808)
* Add posibilities to run the integration tests for PowerShell < 5.0

* Update of tests - based at a review comments for #50612

* The correction of YAML structure
2019-02-12 15:51:03 -05:00
Wojciech Sciesinski
a7528cdd25 Update the NuGet package provider when needed (#50759)
* Update the NuGet package provider when needed

* Update NuGet provider conditionally
2019-02-12 12:22:22 -08:00
Andrew Gaffney
9c35f18dd6 Custom jinja Undefined class for handling nested undefined attributes (#51768)
This commit creates a custom Jinja2 Undefined class that returns
Undefined for any further accesses, rather than raising an exception
2019-02-12 15:04:00 -05:00
Abhijeet Kasurde
fab815fc3b
VMware: Handle duplicate VM names in vmware_vm_facts (#45412)
This fix changes facts returned from vmware_vm_facts to list of dict from
dict of dict.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-12 16:31:42 +05:30
Abhijeet Kasurde
5c992fcc3f
ansible-vault: handle utf-8 filename in vault (#50341)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-12 16:13:51 +05:30
Hannes Ljungberg
70d8f02db7 docker_swarm_service: Extend env and add env_files support (#51762)
* Extend env and add env_files support

* Python 2.6 compat

* Handle lists passed as string

* Add changelog fragment

* Use correct link formatting

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Fix typo

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Handle empty env and env_files values
2019-02-12 08:06:58 +00:00
Felix Fontein
09f78d2f6c ufw: allow to insert rules relative to first/last IPv4/IPv6 rules (#49796)
* Insert should have type int.

* Add insert_relative_to option.

* Add changelog.

* Add tests.

* Improve comment.
2019-02-12 08:05:14 +00:00
Jordan Borean
179cbb9891
win_dsc - return warning from DSC invocation (#51927) 2019-02-12 13:50:00 +10:00
Ari Stark
2f85d62989 Add state option to git_config module (#50578)
* Add state option to git_config module

State present/absent option works like --set/--unset option for 'git config'.

* Change git_config to avoid useless parameter passed to git command

When unsetting value, command was : git config --unset foo ''.
Now command is : git config --unset foo.

* Add some integration tests to git_config module

* Add missing aliases file

* Change set up method

Using git command seems to cause troubles on some OS : changing config
by changing '.gitconfig' file.

* Remove some distros from tests pool

Git is not installed or is out of date on these distros.

* Fix aliases to skip tests on centos6

* Refactor tests of the git_config module

* Add use case when state=absent and value is defined
2019-02-11 21:49:53 -05:00
Dag Wieers
031a1a5cc2 vsphere_file: New module to manage files on datastores (#48180) 2019-02-11 21:26:12 +01:00
Matt Martz
445ff39f94
Become plugins (#50991)
* [WIP] become plugins

Move from hardcoded method to plugins for ease of use, expansion and overrides
  - load into connection as it is going to be the main consumer
  - play_context will also use to keep backwards compat API
  - ensure shell is used to construct commands when needed
  - migrate settings remove from base config in favor of plugin specific configs
  - cleanup ansible-doc
  - add become plugin docs
  - remove deprecated sudo/su code and keywords
  - adjust become options for cli
  - set plugin options from context
  - ensure config defs are avaialbe before instance
  - refactored getting the shell plugin, fixed tests
     - changed into regex as they were string matching, which does not work with random string generation
     - explicitly set flags for play context tests
 - moved plugin loading up front
 - now loads for basedir also
 - allow pyc/o for non m modules
 - fixes to tests and some plugins
 - migrate to play objects fro play_context
 - simiplify gathering
 -  added utf8 headers
 - moved option setting
 - add fail msg to dzdo
 - use tuple for multiple options on fail/missing
 - fix relative plugin paths
 - shift from play context to play
 - all tasks already inherit this from play directly
 - remove obsolete 'set play'
 - correct environment handling
 - add wrap_exe option to pfexec
 - fix runas to noop
 - fixed setting play context
 - added password configs
 - removed required false
 - remove from doc building till they are ready

future development:
  - deal with 'enable' and 'runas' which are not 'command wrappers' but 'state flags' and currently hardcoded in diff subsystems

* cleanup

  remove callers to removed func
  removed --sudo cli doc refs
  remove runas become_exe
  ensure keyerorr on plugin
  also fix backwards compat, missing method is attributeerror, not ansible error
  get remote_user consistently
  ignore missing system_tmpdirs on plugin load
  correct config precedence
  add deprecation
  fix networking imports
  backwards compat for plugins using BECOME_METHODS

* Port become_plugins to context.CLIARGS

This is a work in progress:
* Stop passing options around everywhere as we can use context.CLIARGS
  instead

* Refactor make_become_commands as asked for by alikins

* Typo in comment fix

* Stop loading values from the cli in more than one place

Both play and play_context were saving default values from the cli
arguments directly.  This changes things so that the default values are
loaded into the play and then play_context takes them from there.

* Rename BECOME_PLUGIN_PATH to DEFAULT_BECOME_PLUGIN_PATH

As alikins said, all other plugin paths are named
DEFAULT_plugintype_PLUGIN_PATH.  If we're going to rename these, that
should be done all at one time rather than piecemeal.

* One to throw away

This is a set of hacks to get setting FieldAttribute defaults to command
line args to work.  It's not fully done yet.

After talking it over with sivel and jimi-c this should be done by
fixing FieldAttributeBase and _get_parent_attribute() calls to do the
right thing when there is a non-None default.

What we want to be able to do ideally is something like this:

class Base(FieldAttributeBase):
    _check_mode = FieldAttribute([..] default=lambda: context.CLIARGS['check'])

class Play(Base):
    # lambda so that we have a chance to parse the command line args
    # before we get here.  In the future we might be able to restructure
    # this so that the cli parsing code runs before these classes are
    # defined.

class Task(Base):
    pass

And still have a playbook like this function:

---
- hosts:
  tasks:
  - command: whoami
    check_mode: True

(The check_mode test that is added as a separate commit in this PR will
let you test variations on this case).

There's a few separate reasons that the code doesn't let us do this or
a non-ugly workaround for this as written right now.  The fix that
jimi-c, sivel, and I talked about may let us do this or it may still
require a workaround (but less ugly) (having one class that has the
FieldAttributes with default values and one class that inherits from
that but just overrides the FieldAttributes which now have defaults)

* Revert "One to throw away"

This reverts commit 23aa883cbed11429ef1be2a2d0ed18f83a3b8064.

* Set FieldAttr defaults directly from CLIARGS

* Remove dead code

* Move timeout directly to PlayContext, it's never needed on Play

* just for backwards compat, add a static version of BECOME_METHODS to constants

* Make the become attr on the connection public, since it's used outside of the connection

* Logic fix

* Nuke connection testing if it supports specific become methods

* Remove unused vars

* Address rebase issues

* Fix path encoding issue

* Remove unused import

* Various cleanups

* Restore network_cli check in _low_level_execute_command

* type improvements for cliargs_deferred_get and swap shallowcopy to default to False

* minor cleanups

* Allow the su plugin to work, since it doesn't define a prompt the same way

* Fix up ksu become plugin

* Only set prompt if build_become_command was called

* Add helper to assist connection plugins in knowing they need to wait for a prompt

* Fix tests and code expectations

* Doc updates

* Various additional minor cleanups

* Make doas functional

* Don't change connection signature, load become plugin from TaskExecutor

* Remove unused imports

* Add comment about setting the become plugin on the playcontext

* Fix up tests for recent changes

* Support 'Password:' natively for the doas plugin

* Make default prompts raw

* wording cleanups. ci_complete

* Remove unrelated changes

* Address spelling mistake

* Restore removed test, and udpate to use new functionality

* Add changelog fragment

* Don't hard fail in set_attributes_from_cli on missing CLI keys

* Remove unrelated change to loader

* Remove internal deprecated FieldAttributes now

* Emit deprecation warnings now
2019-02-11 11:27:44 -06:00
Jérôme BAROTIN
b99de25f32 Enable changed var with ufw check mode (#49948)
* Enable 'changed' var with ufw check mode

* Fix from comment of the PR + Unit Test

* Fix on ufw module after the second review

- delete rules change works in check mode
- simplify execute def & use it on every call process
- improved regexp
- rename vars defaults to current_default_values

* Add ignore error to execute() and use it in get_current_rules()

* Update after third code review (introduce change in changed status)

* Adjust tests and fix some problems (#1)

* 'active' also appears in 'inactive'.

* 'reject' is also a valid option here.

* For example for reloaded, changed will be set back to False here.

* Improve and adjust tests.

* Fix after merging integration test

* handle "disabled" on default routed

* Add /var/lib/ufw/.. rules files

* add unit test

* Fix pep8 formatting error

* Separate ipv6 and ipv4 rules process from checkmode

* fix non-ascii error on ci

* Some change after review

* Add unit test with sub network mask

* rename is_match function by is_starting

* add changelog fragment
2019-02-11 11:05:35 +00:00