Commit graph

9300 commits

Author SHA1 Message Date
Andrey Klychkov
0530a08b67 postgresql: move CI tests to separate targets (#62732) 2019-09-23 04:28:52 -04:00
Konstantin Alekseev
8cabf1c1d8 Support cloudflare API Tokens. (#62043)
API Tokens provide a new way to authenticate with the Cloudflare API.
They allow for scoped and permissioned access to resources.
2019-09-21 16:55:53 +02:00
Mark Chappell
0239f70648 cloudtrail: Initial integration tests (#61919) 2019-09-20 18:46:37 -07:00
Mark Chappell
40660e7f6e iam_role : support managing max session duration and deleting the instance profile it creates (#62014)
* iam_role: Add support for managing MaxSessionDuration

* iam_role: Add support for deleting the IAM Instance Profiles we created

* iam_role: migrate all boto failures to fail_json_aws for consistency

* iam_role: test validity of path so we can throw a more understandable error

* iam_role: (integration tests) Split iam_role integration tests from sts_assume_role tests

- Make the iam_role tests more comprehensive
- Add tests for iam_role_info

* iam_role: (integration tests) Make some of our pauses optional

If the tests appear to be flakey we may need to enable standard_pauses
2019-09-20 13:26:29 -07:00
Sam Doran
987265a6ef
Account for empty strings when splitting the host pattern (#62442)
Improve tests
- add more unit test cases
- add specific integration test with more cases

Testing shows no major downside to calling .strip() twice in a comprehension vs. using a regular for loop and only calling .strip() once. Going with the comprehension for ease of maintenance and because comprehensions are optimized in CPython.
2019-09-20 16:03:51 -04:00
Evgeni Golov
8d0c193b25 allow before/after diff to be NoneType (#62582)
when creating or deleting an object (e.g. via an API), before/after can
be `None` (or at least represented as such by the used library). to
avoid modules havig to do

    diff={'before': before or '', 'after': after or ''}

let's just convert `None` to an empty string that can be diffed properly
2019-09-20 15:47:18 -04:00
Gonéri Le Bouder
5ecbe9cbbb vcenter provider: Only rely on VMWARE_TEST_PLATFORM
Until now, the vcenter provider was switching between `static` and
`govcsim` depending on the presence of the following configuration file:
`test/integration/cloud-config-vcenter.ini`.

This was not consistent with Worldstream, which we enable with the
`VMWARE_TEST_PLATFORM` environment variable.

We now only rely on `VMWARE_TEST_PLATFORM` to know which platform should be
used. `govcsim` is still the default, this to preserve the original
behaviour.

This commit also rename the following variables to be consistent with the rest
of the code base. It also ensures they are alway defined, even with `govcsim`:

- `VCENTER_HOSTNAME`
- `VCENTER_USERNAME`
- `VCENTER_PASSWORD`
2019-09-20 10:33:44 -04:00
Andrey Klychkov
be9bf8cd15 postgresql: move CI test of *_publication, *_ext, *_slot to separate targets (#62646) 2019-09-20 12:47:13 +01:00
Gonéri Le Bouder
cee55ab718 mongodb_replicaset/test: properly kill the nodes
The `pids` module returns the list of the PID in a `pids` key.

This change ensures we correctly wait for the end of the previous mongod
instances before we start the next ones.

In addition, we remove an unnecessary `ignore_errors`.
2019-09-19 17:19:48 -04:00
Jordan Borean
85eba9d860 Fix test_galaxy failing test 2019-09-19 13:20:43 -07:00
Sloane Hertel
4cc4c44dd0
Add a representer for AnsibleUnsafeBytes (#62598)
* Add a representer for AnsibleUnsafeBytes

* changelog

* Add unit tests

Remove native string test until we have time to evaluate how this the function should work
Add non-ASCII characters to test cases

* Compare to the string on Python 2

Add a comment in the test about this behavior
2019-09-19 14:27:48 -04:00
Andrey Klychkov
7b3d8431dd postgresql: move CI tests of *_tablespace, *_membership, *_idx to separate targets (#62575)
* postgresql: move CI tests of *_tablespace, *_membership, *_idx to separate targets

* postgresql: move CI tests of *_tablespace, *_membership, *_idx to separate targets, change formatting
2019-09-19 14:57:45 +01:00
Sumit Jaiswal
35463d45f4
Fix traceback empty config error to meaningful msg for IOS (#62538)
* fix empty config msg

* fix space

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-09-19 10:13:36 +05:30
Zim Kalinowski
054519920e
snapshot fix for backporting (#62559) 2019-09-19 11:42:08 +08:00
Will Thames
a684bb9f5b Ensure k8s apply works with check mode (#60572)
* Ensure k8s apply works with check mode

Update the new predicted object with fields from the previous object
before applying in check mode

Don't log output of `file` with `state: absent` on huge virtualenvs!

Fixes #60510

* Use openshift client fix to improve apply for check mode

Use new apply_object method to get a better approximation
of the expected object in check mode.

Requires released upgrade to openshift

* Add changelog fragment for k8s apply check mode fix

* Update changelogs/fragments/60510-k8s-apply-check-mode.yml

Co-Authored-By: Felix Fontein <felix@fontein.de>
2019-09-19 05:30:31 +02:00
Rohit
978def38d8
error message updated (#62536)
* error message updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* test cases updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* error message updated

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2019-09-19 08:34:31 +05:30
Matt Clay
1c64dba3c9 Fix plugin names for collection plugins. (#60317)
* Fix plugin names for collection plugins.

Add an integration test to verify plugin __name__ is correct for collection plugins.

* Fix collection loader PEP 302 compliance.

The `find_module` function now returns `None` if the module cannot be found. Previously it would return `self` for modules which did not exist.

Returning a loader from `find_module` which cannot find the module will result in import errors on Python 2.x when using implicit relative imports.

* add changelog

* sanity/units/merge fixes
2019-09-18 17:47:56 -07:00
Rohit
b24f7d2800
vyosnoconfig tracebackfix (#62518)
* vyosnoconfig tracebackfix

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* vyos noconfig tracebackfix test cases added

Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>

* test/integration/targets/vyos_lldp_global/tests/cli/empty_config.yaml
2019-09-18 21:58:39 +05:30
Andrey Klychkov
b87b359df5 postgresql: move CI tests of *_owner, *_info, *_ping, *_query to separate targets (#62500) 2019-09-18 14:22:13 +01:00
Lukas Kämmerling
d5449eed11 tests: hcloud: Enable hcloud_floating_ip_info tests (#62494) 2019-09-18 13:55:05 +02:00
Mike Wiebe
97b15e9f0c [stable-2.9] Stabilize nxos initiated copy for nxos_file_copy plugin (#62355)
* Retry spawn connection on failure

* Add debug logs

* Additional debug logs

* Close session before respawn attempt

* More debug info and increase loops

* Remove debug info and reset error dict on reconnect

* Add epdb debuger

* Add epdb debuger

* Add epdb debuger

* Wait before sending password and close pexpect session

* Fix comment typo

* Scrub error logs

* Scrub error logs

* Add more specific initial connect pattern

* Fix shippable errors

* Dont make remote_scp_server_password a hard requirement

* Add saftey check
2019-09-18 17:07:50 +05:30
Lukas Kämmerling
fd7e156ccd Add hcloud_floating_ip module (#62409) 2019-09-18 11:26:53 +02:00
Matt Clay
3b86dc3e12
WIP - Fix ansible-doc bugs and add integration tests. (#62461)
* Add integration tests for ansible-doc.

* Enable tests that now pass

* Cleanup processing of plugin docs

* Mostly separate the steps of processing plugin docs

  1) Acquire source data
  2) Transform and calculate additonal data
  3) Format data for output
  4) Output data

  format_plugin_doc() is still mixing transformation and formatting but
  that should be fixed in a devel-only change

* Raise exceptions in _get_plugin_doc() on errors.

* Remove check to exclude on blacklisted extensions.  We already request
  only .py files

* If there is no DOCUMENTATION entry in the plugin, raise an exception
  from _get_plugin_doc().  Everywhere we use _get_plugin_doc(), this is
  treated as an error

* If there is no ANSIBLE_METADATA raise an exception as well as
  displaying of docs assumes that this has been set.

* If there is neither DOCUMENTATION nor ANSIBLE_METADATA, warn about the
  lack of METADATA and error on the lack of DOCUMENTATION.  Lack of
  DOCUMENTATION is more important so it is what the user should see.

* Add a few special cases for backwards compat.  These should probably
  be made errors in 2.10:
  * no docs but has metadata shows no documentation rather than an error
  * empty plugin file shows no doumentation rather than an error

* Simplify backwards compatibility logic.
2019-09-17 15:45:30 -07:00
Gonéri Le Bouder
b68f5b406a test: bump default-test-container
VMware VSphere SDK needs an up to date version of `pip` for the
installation step. With the current image, we face the following error:

```
(...)
02:27 Collecting git+https://github.com/vmware/vsphere-automation-sdk-python.git (from -r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 2))
02:27   Cloning https://github.com/vmware/vsphere-automation-sdk-python.git to /tmp/pip-req-build-pm27t16b
02:33 Requirement already satisfied: pyvmomi in /usr/local/lib/python3.6/dist-packages (from -r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 1)) (6.7.1.2018.12)
02:33 Requirement already satisfied: lxml>=4.3.0 in /usr/local/lib/python3.6/dist-packages (from vSphere-Automation-SDK==1.4.0->-r /root/ansible/test/lib/ansible_test/_data/requirements/integration.cloud.vcenter.txt (line 2)) (4.4.0)
02:33 Processing ./\\localhost/tmp/pip-req-build-pm27t16b/lib/vapi-runtime/vapi_runtime-2.12.0-py2.py3-none-any.whl
02:33 Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/root/ansible/\\\\localhost/tmp/pip-req-build-pm27t16b/lib/vapi-runtime/vapi_runtime-2.12.0-py2.py3-none-any.whl'
```

Bump default-test-container to 1.9.3 to get an up to date release of
`pip` (was 19.0.2, is now 19.2.3).
2019-09-17 17:35:57 -04:00
Gonéri Le Bouder
459677877a hcloud_networ_info: be more resilient is network already exists
We may already have an existing network or subnet. This commit ensures
we don't raise an error in this case.
e.g: https://app.shippable.com/github/ansible/ansible/runs/143559/145/tests
2019-09-17 16:20:38 -04:00
Matt Clay
9f7b124a6f Mark ansible-test cloud credentials as sensitive. 2019-09-17 13:08:14 -07:00
Christian Clauss
23c7bf6481 Fix access to exception using Python 3 scoping rules (#62268) 2019-09-17 13:28:37 -04:00
Gonéri Le Bouder
edf15b346f test: disable hcloud_floating_ip_info
Temporarily disable `hcloud_floating_ip_info`, this until #62414 is
resolved.
2019-09-17 13:19:40 -04:00
Sumit Jaiswal
9addad0f4a
fix ios_lldp_global (#62420) 2019-09-17 22:11:20 +05:30
Matt Clay
0631e057e9 Redact sensitive values by default in ansible-test 2019-09-17 08:09:17 -07:00
Trishna Guha
5cd3be9129
gather_facts action plugin: Fix loading network facts modules for smart gathering (#59856)
* fix smart gathering for network_os in gather_facts action plugin

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Fix detection of network_os for smart gathering

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* Add unittest

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* make pep8 happy

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-09-17 18:35:44 +05:30
Andrey Klychkov
98415dec86 postgresql_copy: move ci tests to a separate target (#62398) 2019-09-17 13:32:45 +01:00
Mike Wiebe
b0668e17ed nxos_telemetry replaced state (#62368) 2019-09-17 16:49:30 +05:30
Felix Fontein
d8d3790d6a Bump acme-test-container version. (#62381) 2019-09-17 13:06:33 +02:00
krisvasudevan
8bc397c229 Bug fixes to the Infoblox NIOS modules (#58521)
* Update nios_ptr_record to fix bug #58378

* Update to api.py to fix bug #58378 and #56856

* Update test_nios_ptr_record.py to fix bug #58378

* Update nios_ptr_record_idempotence.yml to fix bug #58378

*  Update test_nios_ptr_record.py to fix bug ansible#58378
2019-09-17 09:45:50 +05:30
Matt Clay
b73e7721df Mark AWS credentials in ansible-test as sensitive.
This avoids displaying the credentials in CI when retrying tests at maximum verbosity.
2019-09-16 20:21:23 -07:00
Gonéri Le Bouder
6d8743d5f1 test: temp disable azure_rm_azurefirewall
Disabled `azure_rm_azurefirewall` until #62307 is fixed.
2019-09-16 21:24:30 -04:00
Gonéri Le Bouder
d4738596ce test: cleanup sanity/ignore.txt to avoid A100
See: https://app.shippable.com/github/ansible/ansible/runs/143332/5/console
```
21:30 ERROR: Found 1 validate-modules issue(s) which need to be resolved:
21:30 ERROR: test/sanity/ignore.txt:1608:1: A100: Ignoring 'option-incorrect-version-added' on 'lib/ansible/modules/cloud/openstack/os_keystone_endpoint.py' is unnecessary (75%)
21:30 See documentation for help: https://docs.ansible.com/ansible/devel/dev_guide/testing/sanity/validate-modules.html
21:30 ERROR: The 1 sanity test(s) listed below (out of 1) failed.
```
2019-09-16 12:10:14 -07:00
Mark Goddard
448a8c4e5f Fix os_keystone_endpoint endpoint_interface docs (#62283)
The os_keystone_endpoint module has two interface arguments -
'interface' for authentication, and 'endpoint_interface' for the
endpoint being registered. Currently the module documentation only
covers 'interface', when in fact it should cover 'endpoint_interface'
and pick up 'interface' from the standard OpenStack module parameter
documentation.
2019-09-16 11:02:43 -05:00
chkp-orso
b4dcd7c835 Network and address range tests (#62338)
* commit network and address_range

* remove test_cp_mgmt_network from ignore.txt
2019-09-16 11:03:03 +02:00
chkp-orso
6bb8861b0e unique tests (#62328) 2019-09-16 11:00:28 +02:00
chkp-orso
47cf4e6565 Commands tests (#62322)
* commands tests

* add space in order to delete it and tun shipable tests again

* delete space in order to run shipable tests again
2019-09-16 13:51:21 +05:30
chkp-orso
ebdf78d6e4 Forth pr 18 tests (#62216)
* Update test_cp_mgmt_network.py

* 18 tests
2019-09-16 13:32:27 +05:30
Ganesh Nalawade
a9a5f4e40d
Change enable to enabled for junos_interfaces module (#62321)
Fixes #62319

Change `enable` option to `enabled` in junos_interfaces
and junos_lldp_interfaces
data model to be in sync with other network platform
resource modules added in 2.9 version.
2019-09-16 12:17:27 +05:30
Shachaf92
74a3eec1d9 win_format - Idem not working if file exist but same fs (#59819)
* win_format - Idem not working if file exist but same fs

* Test fix

* Fix test assertion syntax

* Update tests.yml
2019-09-15 22:45:44 -04:00
Chris Trufan
14bccef2c2 Add ecs_domain module (#62007)
* Add ecs_domain module

* Fixes to integration tests and module

* Fixes to tests and module

* Corrections to revalidation behavior, cna only revalidate domains in expiring.

* Remove debugs for final test run, fix sanity check test fails.

* Add checks for domain status

* Add changelog fragment for new module.

* Removed extra space in backtick

* Minor fixes to make behavior more consistent and correct documentation.

* Update lib/ansible/modules/crypto/entrust/ecs_domain.py

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

* Update lib/ansible/modules/crypto/entrust/ecs_domain.py

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

* Update lib/ansible/modules/crypto/entrust/ecs_domain.py

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

* Apply suggestions from code review

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

* Change casing of verification method enum, remove redundant changelog fragment

* Return ov_eligible and ev_eligible fields even if false, as long as they're returned by ECS API
2019-09-14 19:33:48 +02:00
Matt Clay
32d965e2c6 Fix display of sanity test doc links.
The documentation links are now displayed when running from an install.

Previously the links were only displayed when running from source.
This was due to ansible-test checking for the presence of documentation files locally, which are only present when running from source.
The check is no longer necessary since there is a sanity test in place to enforce the presence of documentation for all sanity tests.
2019-09-13 22:24:14 -07:00
chkp-orso
3a5c68205c Third pr 18 tests (#62215)
* Update test_cp_mgmt_network.py

* 18 tests
2019-09-14 09:39:21 +05:30
chkp-orso
271825cfaf Add unit tests for check_point ansible modules (#62214)
* Update test_cp_mgmt_network.py

* 18 tests
2019-09-14 09:38:06 +05:30
Gonéri Le Bouder
2421ad3e87 azure: re-balance tests to avoid timeout
- azure_rm_azurefirewall currently takes more than 25m to run: #62307
- azure_rm_manageddisk takes around 2 minutes
2019-09-13 18:19:01 -04:00
flowerysong
d933278f3d Add version 2.14 to the removed_in list (#62298)
devel is now 2.10, so this needs to be bumped as well.
2019-09-13 14:32:11 -05:00
Matt Martz
5be0668fb0
Ensure we don't erase unsafe context in TaskExecutor.run on bytes (#62287)
* Ensure we don't erase unsafe context in TaskExecutor.run on bytes. Fixes #62237

* Remove unused import

* Add missing import

* use args splatting for to_unsafe_text/bytes

* Add security issue to changelog

* fix yaml linting issue
2019-09-13 13:14:35 -05:00
Matt Martz
7d51cac330 Don't treat no checksum as a checksum match (#62146)
Fixes #61978
* moar tests for get_url fetch behavior with existing file
* add changelog fragment
2019-09-13 13:24:15 -04:00
Sam Doran
08279c7d54
Update default test container with Python 3.8b4 (#62100) 2019-09-13 12:38:47 -04:00
Felix Fontein
098a13dff4 Re-enable some docker_swarm tests. (#61875) 2019-09-13 12:08:45 -04:00
Nathaniel Case
7917d4def7
Standardize eos resource modules (#61736)
* Fix eos_l3_interfaces case sensitivity

* Unify EOS module notes

* Add normalize_interfaces to eos_l2_interfaces

* Pull normalize_interface into eos_interfaces

* Add normalize_interface to lag_interfaces

* Add normalize_interface to lldp_interfaces

* Add normalize_interface to lacp_interfaces

* more module cleanup

* Add changelog
2019-09-13 09:35:50 -04:00
Ganesh Nalawade
200ed25648
Fix for junos cli_config replace option (#62131)
* Fix for junos cli_config replace option

*  For device that support replace option by loading
   configuration from a file on device `config` option
   is not required and value of `replace` option is the
   path of configuration file on device. This fix allows
   invoking run() function in cli_config if `config` option
   is None and `replace` option is not boolean

*  The command to replace running config on junos device
   is `load override <filename>` and not `load replace <filename>`
   This is fixed in the junos cliconf plugin.

* Add integration test
2019-09-13 18:52:33 +05:30
Sloane Hertel
efdf52a254
remove undefined YAML anchor (#62273) 2019-09-13 08:50:42 -04:00
chkp-orso
c7f9c3f27e Add unit tests for check_point ansible modules (#62213)
* Update test_cp_mgmt_network.py

* 17 tests
2019-09-13 13:54:29 +02:00
Jordan Borean
46ffcd6c44
ansible-galaxy - add config to control the display wheel (#61902)
* ansible-galaxy - add config to control the display wheel

* Fix changelog and make test more stable

* Don't use display thread at all if progress wheel isn't being shown
2019-09-13 11:06:18 +10:00
Evgeni Golov
48a39f5616 typo: missing-subption-docs → missing-suboption-docs (#62180)
updates the name of the test and all ignore.txt entries
2019-09-12 14:51:20 -05:00
Jeff Geerling
a6ec6c3175 Fixes #56832: Remove warning when falling back to apt-get if aptitude is missing. (#61782) 2019-09-12 15:29:36 -04:00
Chris Van Heuveln
c0f3777fe2 nxos_l2_interfaces: fix for integration tests failing to setup layer2 (#61887) 2019-09-12 21:46:52 +05:30
Mike Wiebe
c4894b512d [stable-2.9] fix nxos_config tests for httpapi (#62082)
* fix nxos_config tests for httpapi

* Remove become parameter
2019-09-12 21:46:00 +05:30
Mike Wiebe
f582d74f7c Fix bfd cmd order and test issues (#61943) 2019-09-12 21:45:37 +05:30
Chris Van Heuveln
6e72893d78 nxos_lacp_interfaces: fix integration test dependencies (#61947)
* nxos_lacp_interfaces: fix integration test dependencies

* Add conditional mode test to m/d/r tests
2019-09-12 21:45:04 +05:30
Andrey Klychkov
7e91998049 fix typos in cloud modules (#62194)
* fix typos in cloud modules

* fix typos in cloud modules, fix ci tests
2019-09-13 00:01:14 +10:00
Matt Clay
cd4882e229 Fix ansible-test vcenter test filtering.
The default behavior of the ansible-test vcenter plugin is to use the govcsim container to run tests.

However, unless the govcsim mode was specified using the VMWARE_TEST_PLATFORM environment variable, the filter code would skip the tests unless the tests ran on Shippable or the user had an ansible-core-ci key.

Now the filter correctly recognizes that govcsim is the default.
2019-09-12 02:13:57 -07:00
Matt Clay
cdc4926340
Fix ansible-test collections requirements installation. (#62181)
* Fix location of unit test requirements.

* Preserve ansible-test unit test requirements.

* Remove redundant unit test requirements.

* Fix location of network test requirements.

* Preserve ansible-test network test requirements.

* Remove redundant network test requirements.

* Add missing ordereddict requirements.

* Load collection requirements correctly.

* Add changelog fragment.
2019-09-12 02:00:33 -07:00
Matt Clay
1dac0df7e5 Remove deleted file from sanity ignore list. 2019-09-11 12:54:32 -07:00
Andrey Klychkov
5eb5f74083 fix typos in modules (#62135) 2019-09-11 13:40:22 -05:00
Tony
2064fc3fc5 Added AWS SAML Federation Module (#55821)
* Added AWS SAML Federation Module

* iam_saml_federation: (integration tests) initial integration tests
2019-09-11 10:00:05 -07:00
minievg
a9d4415657 Several enhancements for Radware modules and their unit testing (#61467)
* Adding support for Plugin runnable type
Adding support for device arrays in vdirect_runnable module.
Adding "output" dictionary to the vdirect_runnable module result dictionary.

* Adding support for Plugin runnable type
Adding support for device arrays in vdirect_runnable module.
Adding "output" dictionary to the vdirect_runnable module result dictionary.
2019-09-11 10:42:26 -04:00
Egor Zaitsev
fa03f438e7 routeros_facts: fix for error when there's more than 10 interfaces (#61376)
* fix: proper regex for preprocessing routeros output

* test: regression test

* test: fix nondeterministic unit test
2019-09-11 19:42:07 +05:30
Mike Wiebe
c5a4086ed7 Add proper hostname cleanup for nxos tests (#61810) 2019-09-11 19:40:14 +05:30
Daniel Mellado
7173267095 Fix test_cp_mgmt flake8 issues (#62129)
This commit deletes unused imports for the check_point cp_mgmt tests.
2019-09-11 08:53:44 -04:00
Andrey Klychkov
bcc3620182 Fix typos in database modules and their integration tests (#62125) 2019-09-11 08:19:25 -04:00
Matt Clay
aaa6d2ecb0
Fix ansible-test pytest plugin loading. (#62119)
* Avoid assertion rewriting in pytest plugins.

Adding PYTEST_DONT_REWRITE to the ansible-test pytest plugin docstrings disables assertion rewriting in pytest for those plugins.

This avoids warnings during test execution if the plugins are loaded multiple times (such as being imported within tests).

* Run ansible-test pytest plugins early.

The ansible-test pytest plugins need to load and run earlier than conftest modules.

To facilitate this, the pytest_configure function is run during loading, which works since they are loaded (but not always run) before conftest modules are loaded.

A check has also been added to the pytest_configure functions to prevent them from running multiple times in the same process.

* Load pytest plugins using an env var.

The -p command line option loads plugins before conftest, but only during collection.
The PYTEST_PLUGINS environment variable loads plugins before confest, both during collection and test execution.
2019-09-10 23:27:05 -07:00
Ganesh Nalawade
ff53ca76b8
Return commands key instead of xml in result for junos rm (#62041)
Fixes https://github.com/ansible/ansible/issues/61773

*  Change `xml` key name to `commands` key to be in sync with
   other platform resource modules.
2019-09-11 11:06:08 +05:30
Jordan Borean
6fb1d56fdc
Fix ansible-test coverage --all (#62115) 2019-09-11 15:12:38 +10:00
Matt Clay
a7bc11ce67
Work around virtualenv/venv issue in ansible-test. (#62111)
Creating a virtual environment using `venv` when running in a virtual environment created by `virtualenv` results in a copy of the original virtual environment instead of creation of a new one.

To work around this, `ansible-test` now identifies when it is running in a `virtualenv` created virtual environment and uses the real Python interpreter to create the `venv` virtual environment.
2019-09-10 19:27:12 -07:00
Jill R
414d844ed2 AWS ec2_vpc_net: Enable ipv6 CIDR assignment (#60983)
* AWS ec2_vpc_net: Enable ipv6 CIDR assignment

Enable IPv6 CIDRs in ec2_vpc_net, and fix ec2_vpc_subnet tests that
were depending on the aws cli for CIDR assignment.

Related to: #27800
2019-09-10 19:25:36 -04:00
Matt Clay
983f0ad5a0 Properly exclude tests/output/ from code coverage. 2019-09-10 15:50:22 -07:00
Matt Clay
f110abb806
Fix ansible-test to ignore tests/output/. (#62084)
The `test/results/` directory for Ansible test output was already ignored when not using git.

When Ansible Collections were switched to `tests/output/` the ignore entry was previously overlooked.
2019-09-10 15:49:40 -07:00
Gonéri Le Bouder
0f52b18f3f
bump hcloud version to 1.4.1 (#62097)
* bump hcloud version to 1.4.1

`hcloud`<=1.4.0 has requirement `requests==2.20.0`. This prevents the
installation of the Vcenter Automation SDK which depends on `requests>=2.22.0`.

`hcloud` 1.4.1 does not have the problem: 8bff356efb
Bumping the dependency will resolve the issue.
2019-09-10 16:49:23 -04:00
Matt Clay
064e8e1ef4
Fix ansible-doc traceback and sanity test. (#62040)
* Fix ansible-doc traceback for removed modules.

This avoids tracebacks with errors like the following when a module has been removed:

module module_name missing documentation (or could not parse documentation): 'NoneType' object does not support item assignment

* Fix ansible-doc sanity test warning handling.

Warnings about removed modules/plugins on stderr are now properly ignored.

Previously an ansible-doc error could result in unrelated errors going undetected because tests were stopped early and the underlying error was ignored.
2019-09-10 00:29:34 -07:00
MyronFanQiu
603c8c171f fix ci (#57216) 2019-09-10 13:23:04 +08:00
Matt Clay
c77ab11051
Fix issues with ansible-test --venv option. (#62033)
* Fix ansible-test venv activation.

When using the ansible-test --venv option, an execv wrapper for each python interpreter is now used instead of a symbolic link.

* Fix ansible-test execv wrapper generation.

Use the currently running Python interpreter for the shebang in the execv wrapper instead of the selected interpreter.

This allows the wrapper to work when the selected interpreter is a script instead of a binary.

* Fix ansible-test sanity requirements install.

When running sanity tests on multiple Python versions, install requirements for all versions used instead of only the default version.

* Fix ansible-test --venv when installed.

When running ansible-test from an install, the --venv delegation option needs to make sure the ansible-test code is available in the created virtual environment.

Exposing system site packages does not work because the virtual environment may be for a different Python version than the one on which ansible-test is installed.
2019-09-09 18:32:29 -07:00
Gonéri Le Bouder
cc758ea574 Revert "shippable: temporary bump the timeout for Azure jobs"
The Azure timeout should not accure anymore since
173d47d1f4.

This reverts commit aaa8835311.
2019-09-09 18:17:25 -07:00
Toshio Kuratomi
b437a19f6d
create-deprecated-issues script can now add to a specified project (#61901)
* create-deprecated-issues script can now add to a specified project

* Migrate the create deprecated issues script into a subcommand of build-ansible

* Remove deprecated-issue script from ignore list
2019-09-09 17:28:52 -07:00
Mark Chappell
e0ebc8c9b4 Fixup aws_secret integration tests (#61241)
* aws_secret: (integration tests) Move tests to using module_defaults

* Update hacking aws security policy to enable management of secrets

* aws_secret: (integration tests) Fixup integration tests
- Update tests to use resource_prefix as a prefix rather than a suffix
- Pause after role creation to cope with AWS being slow (and returning before the role it ready)
2019-09-09 15:23:19 -07:00
Nathaniel Case
50e09be14f
Allow the use of _paramiko_conn even if the connection hasn't been started. (#61570)
* Allow the use of _paramiko_conn even if the connection hasn't been started.

I'm not sure what the benefit is of Noneing paramiko_conn on close, but will keep for now

* Fix test

* Try to fix up net_put & net_get

* Add changelog
2019-09-09 16:59:20 -04:00
Mario Lenz
900a51b283 VMware: Fix issue with order of changes in vmware_vcenter_statistics 2019-09-09 16:01:54 -04:00
Jill R
528f9a6672 Fix ec2_vpc_vgw broken tests (#60981)
* Fix ec2_vpc_vgw broken tests

Add waiter function to wait for API to report detached vgw is available.
Also catch extra error code in attach retry as EC2 sometimes reports that
the vgw is available several seconds before permitting the attachment.

Fixes: #53185

* Re-enable ec2_vgc_vgw test target
2019-09-09 15:57:09 -04:00
Tom De Keyser
6f74fca238 New module for AWS Step Functions state machines (#59116)
* add new module: aws_stepfunctions_state_machine

* add integration tests for new module: aws_stepfunctions_state_machine

* fix sanity checks

* use files/ folder instead for integration test

* rename role name in integration test

* attempt further permissions

* iam states prefix

* iam integration test prefix

* add iam policy for running step functions state machine actions

* slightly increase iam permission scope

* rename integration test folder to proper name

* move main() method to end of file

* move contents of integration-policy.json for state machines to compute-policy.json

* make check_mode return proper changed value + add check_mode integration tests

* rename module to aws_step_functions_state_machine

* fix missed rename in integration test variable

* add purge_tags option

* bump to version 2.10
2019-09-09 10:08:21 -07:00
Gonéri Le Bouder
3ea8e0a144 VMware: not ssl.SSLContext if validate_certs false (#57185)
Python < 2.7.9 does not have the ssl.SSLContext attribute.
ssl.SSLContext is only required when we want to validate the SSL
connection. If `validate_certs` is false, we don't initialize the
`ssl_context` variable.

Add unit-test coverage and a little refactoring:

- avoid the use of `mocker`, when we can push `monkeypatch` which is
  `pytest`'s default.
- use `mock.Mocker()` when possible

closes: #57072
2019-09-09 21:41:46 +05:30
Mark Chappell
1f38a12057 Fix behaviour of module_utils/ec2 compare_policies when dealing with bare bools and ints. (#61115)
* module_utils/ec2: (unit tests) Move unit tests for module_utils/ec2.py into test/units/module_utils

- compare_policies was refactored from s3_bucket
- "ec2_utils" doesn't seem to have ever existed

* module_utils/ec2: (unit tests) Add unit test for comparing quoted and unquoted bools and numbers within policies

As per https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html

"Values are enclosed in quotation marks. Quotation marks are optional for numeric
and Boolean values."

* module_utils/ec2: Explicitly convert bools and ints to strings when comparing policies

See also: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html
2019-09-09 12:08:25 -04:00
Erwan Quélin
7b28960ebe VMware: Add new module VMware vSAN health infos (#58636) 2019-09-09 14:59:31 +05:30
Paul Belanger
a680ff2ade
Clean up unused imports for nxos related code (#61856)
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2019-09-08 22:53:24 -04:00
chkp-amiads
6ccb245a2d test_cp_mgmt_address_range module (#61867)
* test_cp_mgmt_address_range module

* fix test issues

- file location
- api_call is missing from facts
- metclass and import items
2019-09-09 06:51:39 +05:30
Chris Trufan
943888b955 Fixes to ecs_certificate cert chain for #61738 (#61858)
* Fixes to ecs_certificate cert chain for #61738

* Added changelog fragment

* Fixes to ecs_certificate for cleaner join, and better integration test

* Fix integration test formatting

* End cert chain with a \n

* Update changelogs/fragments/61738-ecs-certificate-invalid-chain.yaml

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

* Update main.yml
2019-09-07 07:58:25 +02:00
Mark Chappell
b8650c0a50 aws_asg: Fix idempotency when using tags and metrics (#61284)
* Update AWS hacking policy to enable ASG Tagging management

* aws_asg: Add tests for ASG Tagging (including idempotency)

* aws_asg: ignore sort order when comparing tags on the ASG (fix idempotency)

* ec2_asg: (integration tests) test for idempotency when managing metrics collection

* ec2_asg: sort list of enabled metrics to ensure clean comparisons.
2019-09-06 12:48:40 -07:00
Matt Davis
7f4328ad12
allow external collections under the ansible NS (#61908)
* fixes #59988
2019-09-05 18:50:22 -07:00
Toshio Kuratomi
f58899eef7 Update release name for 2.10
Add a list of previously used release names to make it easy to tell what
release names are no longer usable.

Add a test that new release names have been added to the used list.

Fixes #61616
2019-09-05 18:36:06 -07:00
Mark Chappell
832e03d932 Fixup iam_group integration tests and return value documentation (#61243)
* iam_group: (integration tests) migrate tests to module_defaults

* iam_group: (integration tests) migrate to using temporary user and group with {{ resource_prefix }}

* iam_group: (integration tests) fix test, checking the return values

* iam_group: (integration tests) Add some more tests around the behaviour of 'changed'

* iam_group: (docs) Update documentation of iam_group return value

* Update AWS testing policies to enable group/user management
2019-09-05 19:25:36 -04:00
Mark Chappell
cbe511de1f ec2_vpc_subnet test cleanup (#61663)
* aws_vpc_subnet: (integration tests) migrate to module_defaults

* aws_vpc_subnet: (integration tests) remove hard coded assumption that AZ A exists.

While Amazon now tends to enable all AZs in a region, new customers in us-west-1 are only assigned 2 out of the 3 AZs, which might not include AZ a

* ec2_vpc_subnet: (integration tests) General cleanup

- use "is changed" rather than .changed
- clean up labelling of a couple of assertions (C&P fail)
2019-09-05 15:56:54 -07:00
Jill R
d49d52eb5f
Add tests for new alias deprecation functionality (#61476)
* Add tests for the alias deprecation added in #61245
2019-09-05 15:47:42 -07:00
Sumit Jaiswal
1425d23513 To fix IOSXR L3 Interfaces idempotency failures (#61860)
* fix zuul idemptency failures

* adding eol

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-09-05 16:39:15 -04:00
gen2kes
513bddb44a VMware: Add disk_mode parameter in vmware_guest_disk (#60406)
* Solve issue 58592

Added support to select disk_mode.
2019-09-05 11:52:12 -04:00
Evgeni Golov
1aca1f86b6 don't set default:None in documentation when there is no default (#61111)
otherwise "None" will be rendered as a string on docsite
2019-09-05 10:48:11 -05:00
Gonéri Le Bouder
08e01380e6 azure_rm_iothub: disable the functional test (#61854)
The test fails with: Operation failed with status: 'Unauthorized'
This commit disable the test until the situation is resolved.

See: https://github.com/ansible/ansible/issues/61852
2019-09-05 11:03:12 -04:00
Gonéri Le Bouder
7132466327 test: disable the docker swarm tests (#61816)
`docker_swarm` tests tend to hang during the creation of the Swarn
cluster.

See: https://github.com/ansible/ansible/issues/61815
2019-09-05 10:47:31 -04:00
Sam Doran
173d47d1f4 Rebalance Azure tests groups 2019-09-05 09:28:26 -04:00
Mark Chappell
adfaefb732 ec2_launch_template: Fix integration tests (#61260)
* ec2_launch_template: (integration tests) make sure security_token is optional

* ec2_launch_template: (integration tests) add dependencies at the top level so they're pulled into the docker containers

* Update Hacking Compute Policies for Launch Templates
2019-09-04 15:33:01 -04:00
Nathan Swartz
4c8407fb83 Fix documentation and facts_from_proxy value in the netapp_e_facts module. (#61072) 2019-09-04 14:34:58 -04:00
Sloane Hertel
d5c8d325e4 codebuild/codepipeline - fix regex for shippable resource_prefix (#61783)
* Fix bad assumption about shippable resource_prefix for codebuild and codepipeline tests
* Update test/integration/targets/aws_codepipeline/defaults/main.yml
2019-09-04 12:48:37 -04:00
kucharskim
1dea661ce8 Allow 13 asterisk characters in password field without warning (#54893)
On OpenBSD, 13 asterisk characters as a password hash, marks the
account as disabled. Otherwise daily(8) script which executes
security(8) will email operator about not properly locked accounts.

Before the diff, we see following warning:

> [WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this module to work properly.

After the diff, warning is gone.
2019-09-04 11:49:16 -04:00
Sloane Hertel
9ee0deea24 aws_codebuild tests - add retries and delay instead of a pause task (#61731)
- Add retries instead of a pause task
- Shorten the IAM role name length
- Put the IAM role name in defaults/main.yml instead
- Fix the aws_codepipeline tests too
2019-09-04 09:59:35 -04:00
Sumit Jaiswal
2672dc9694
Fixes IOS L3 intermittent zuul failure (#61682)
* fix ios l3 intermittent failure

* fix self

* dict to ordered dict

* fix diff_again fn

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* remove orderdict as its expensive

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* update verify fn

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-09-04 15:51:05 +05:30
Tim Rupp
2ebeadfc14 Migrate ec2_eip module to boto3 (#61575)
* Migrate ec2_eip module to boto3

This patch is a step towards the integration of several PRs that have
attempted to migrate this code

closes #55190
closes #45478

Follow-up PRs will address the outstanding changes made in #55190
2019-09-03 22:46:29 -04:00
Jordan Borean
00add5b668
Set win_pagefile as unstable as thats what it is (#61732) 2019-09-04 12:29:29 +10:00
John McDonough
86b38a0ead Add ucs_query (#60607)
* Add ucs_query

* fix sanity erros

* Change version_added to 2.10
2019-09-03 21:34:46 -04:00
Sam Doran
c9e7a2122d
Increase unit test timeout to account for long image download times (#61717) 2019-09-03 12:14:55 -04:00
Gonéri Le Bouder
8e22a60f97 ansible-test: vcenter+Worldstream: hide password
Hide the temporary password when `ansible-test` is called with the
`--redact` parameter.
2019-09-03 10:34:34 -04:00
Simon Legner
7dbd6116d8 Fix typesetting of "GitLab" (#61702) 2019-09-03 09:22:26 -05:00
Roland Wolters
9744ce1e1d Rename checkpoint to check_point due to legal reasons, fix #61145 (#61172)
* Fix #61145

* Fix type keyword

* Removed file fragment
2019-09-03 19:05:50 +05:30
Alexandre Mulatinho
e4d72dd981 luks_device.py: Allow manipulate LUKS containers with label or UUID (#61603)
* luks_device.py: Allow manipulate LUKS containers with label or UUID

- Allow create a LUKS2 container format with label support
- Allow manipulate (open, close, modify) an LUKS container based on
  both label (LUKS2 format) or UUID instead of using devices only.

Fixes: #58973
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>

* test_luks_device.py: organizing tests to support labels

- Add label on some tests and fix errors reported by Shippable

Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>

* luks_device.py: adjusting versions and messages

- Modifying version_added from 2.9 to 2.10
- Fixing some messages
- Created a changelog fragment
- Moving blkid from scope

Fixes #58973
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
2019-09-03 05:40:09 +02:00
Vitalii Kostenko
6f7cd8370a Ansible FTD Module improvements and tests update. (#60640)
* Ansible FTD Module improvements and tests update.

* Fix sanity tests

* Fix formatting
2019-09-03 08:38:11 +05:30
Guillaume Leroy
21b101f8e1 add option to define keysize at luks partition creation (#61522)
* add option to define keysize at luks partition creation

* Bump version_added.

* Extend tests.
2019-08-31 19:32:41 +02:00
Felix Fontein
4d057e0331
Make sure postgresql tests are run for all postgres_* modules (#61647) 2019-08-31 18:12:40 +02:00
Sam Doran
3d78dad84b Update Fedora 29 test image 2019-08-30 19:49:40 -04:00
Sumit Jaiswal
24ad1dffc9 To fix iosxr_l3_interfaces module zuul tests (#61592)
* fix 61540

* fix utils
2019-08-30 19:36:15 -04:00
Gonéri Le Bouder
aaa8835311 shippable: temporary bump the timeout for Azure jobs 2019-08-30 18:47:51 -04:00
René Moser
fd4ff54580 apt: honor cache_update=false on auto-install deps (#56549)
* apt: honor cache_update=false on auto-install deps
* add porting guide
2019-08-30 15:57:58 -04:00
Sam Doran
e218c9814c ansible-test - Continue if the git command returns an error (#61605)
* ansible-test - Contiune if the git command returns an error

* Just return stdout

* Use to_text() when displaying exception

* Add a message property to SubprocessError
2019-08-30 12:03:39 -07:00
Mark Chappell
35359959de aws_codecommit: Fix integration tests and Add support for updating the description (#61263)
* Update DevOps AWS policy
- Fix typos in permission names
- While AWS claims you can use 'arn:aws:codecommit:*' it errors unless you use '*'

* aws_codecommit: (integration tests) Migrate to module_defaults

* aws_codecommit: (integration tests) Fix integration tests

* aws_codecommit: (integration tests) Add tests for updating the description

* aws_codecommit: Add support for updating the description and rename "comment" option to "description"
2019-08-30 11:25:37 -07:00
Sloane Hertel
0c2590d3df Run ec2_vol_facts integration tests in CI (#48755)
Filter owner aliases by 'amazon' since amazon marketplace may not be activated
2019-08-30 08:47:32 -07:00
Matt Clay
e4e5005640
Fix ansible-test coverage path handling. (#61528)
* Fix ansible-test coverage path handling.
* Split CI unit tests into two groups.
2019-08-30 00:18:49 -07:00
Jordan Borean
951dac7691
Azure fix _info/_facts return values for some modules (#61584)
* Azure fix _info/_facts return values for some modules

* Further test fixes

* securitygroup fixes after the move to _info module
2019-08-30 16:00:47 +10:00
Jordan Borean
3bd69a47ec
Skip certain tests on 2016 (#61585) 2019-08-30 14:59:00 +10:00
Matt Clay
4063d58339 Use relative submodule status in ansible-test.
The `git submodule status` command is relative to the current git repository by default.
When running from a repository subdirectory paths can be returned above the current directory.
Specifying the current directory with `git submodule status` avoids listing submodules above that directory.

This will fix issues when testing a collection that is rooted below the repository root when that repository uses submodules.
2019-08-29 20:29:38 -07:00
Jordan Borean
a7fd6e99d9
Refactor galaxy collection API for v3 support (#61510)
* Refactor galaxy collection API for v3 support

* Added unit tests for GalaxyAPI and starting to fix other failures

* finalise tests

* more unit test fixes
2019-08-30 11:55:19 +10:00
Mike Wiebe
02572cb9ec Rewrite nxos_file_copy as an action plugin (#60643)
* Initial nxos_file_copy action plugin work
* Remove code from nxos_file_copy module
* Add file_push and file_pull support
* Additional refactoring and shipable updates
* Simplify outcomes and update doc header
* Add more error data information for easier debugging
* Reorder outcomes and add additional tests
* Capture more data for permission denied outcome
2019-08-29 12:57:39 -07:00
Matt Clay
2215a62057 Fix ansible-test handling of submodules.
Resolves https://github.com/ansible/ansible/issues/61550
2019-08-29 12:21:28 -07:00
Ganesh Nalawade
b03fc093b4
Rename junos_lldp_global enable option to enabled (#61551)
*  Change `enable` option to `enabled` option to be in
   sync with other platforms
2019-08-29 22:32:48 +05:30
Toshio Kuratomi
68fa03138c Revert "New Module: NetApp Account (#59939)"
This reverts commit 6a8dcb8fcb.

Reverting this as it breaks CI for azure (more permissions would be
needed for our account)
2019-08-29 09:04:48 -07:00
Paul Belanger
f23bb6f7bd Properly load module_prefix for collections in task_executor.py (#60420)
* Properly load module_prefix for collections

Now that we are using collections for tasks, we need to properly split
the name and load the prefix properly.

Signed-off-by: Paul Belanger <pabelanger@redhat.com>

* Add unit tests for task_executor

This commit adds missing unit tests for action handler in test_task_executor.

Signed-off-by: Daniel Mellado <dmellado@redhat.com>
2019-08-29 09:04:26 -07:00
Chris Archibald
6a8dcb8fcb New Module: NetApp Account (#59939)
* netapp account module for azure

* netapp account module for azure

* fixes

* fixes

* add requirements

* add requirements

* fix issues

* add units

* add units

* updates

* updates

* fixes

* fixes

* fies

* fixes
2019-08-29 11:25:20 -04:00
Diane Wang
54b108175b VMware: add support for multiple CD-ROMs (#51120)
Add support for create or re-configure VM with multiple CD-ROMs attaching to IDE controller now, will implement SATA controller support later.
parameters can be set as below:

    cdrom:
    - controller_type: ide
      controller_number: 0
      unit_number: 0
      type: client
2019-08-29 10:56:33 -04:00
Felix Fontein
0c592c8225
CloudStack modules: rename _facts -> _info (#61090)
* Rename cloudstack _facts -> _info

* Add changelog.

* Fix errors due to overloaded get_result having different parameter names.

* Fix examples.

* Change debug tasks.

* Remove unneeded code.

* Change from rename -> deprecate+new module.

* Make cs_zone_info return a list.

* Make cs_instance_info return a list.

* Fix return value docs.

* Fix typo.

* Improve tests.

* Fix cs_zone_info.

* Linting.

* Fix alias/option switch.

* Fix version numbers.

* Extend docs.
2019-08-29 16:14:51 +02:00