Commit graph

9033 commits

Author SHA1 Message Date
Matt Clay
ed46f83905 Fix paths in sanity tests. 2019-08-28 20:06:22 -07:00
Chris Archibald
4879cf8fff new module: Cloud Volume for AWS FileSystems (#61343)
* new module"

* fixes

* updates
2019-08-28 23:02:15 -04:00
Matt Clay
81ca44b7e5 Change location of collections tests.
The directories used for collections tests are changing as follows:

`test/` -> `tests/`
`test/results/` -> `tests/output/`

This is a breaking change for collections tests executed by ansible-test.
All collections will need to be updated to use the new directory.

The `tests/output/` directory should be added to the `.gitignore` or equivalent in each collection.

This change is being made before the first pre-release of Ansible 2.9 since ansible-test has not yet been shipped.
Using the `tests/` directory matches the other collections directories `plugins/` and `roles/`.

This resolves https://github.com/ansible/ansible/issues/60218
2019-08-28 19:15:36 -07:00
Matt Clay
460b583dff Improve ansible-test --venv error handling.
This allows it to fall back to virtualenv when venv is broken.
2019-08-28 16:50:42 -07:00
James Cammarata
51b33b79c0
T woerner max concurrent (#60702)
* play, block, task: New attribute forks

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

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

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

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

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

* Handle forks in free strategy

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

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

* Test cases for forks with linear and free strategy

With ansible_python_interpreter defined in inventory file using
ansible_playbook_python.

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

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

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

* ignore bogus sanity error

* filed #61460

* fixed task unit test failure

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

* ignore leftover local_action in mod_args ds action parsing

* fix async_extra_data test to not require ssh and bogus locale

* disable default collection test under Windows

* ensure collection location FS code is always bytes

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

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

* Bug fixes for ec2_group.py

* Dictionaries cannot be compared/sorted in Python3

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

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

* Add some basic diff mode testing to exercise the rule-sorting code
2019-08-28 16:28:42 -07:00
Sam Doran
8dd79fbbd2 Show doc URL for sanity test failures 2019-08-28 15:32:31 -07:00
Matt Clay
4afe757f93
More ansible-test path handling updates. (#61484)
* Move test results vars into layout.

* Add test_path to layout.

* Add sanity_path to layout.

* Clean up layout.

* Update change classification.

* Improve classification layout.

* Relocate common classification code.

* Use is_subdir for relocated code.

* Relocate ansible test/units/compat/ hack.

* Fix variable shadowing.

* Remove unused code.

* Fix ordering of path tests.

* Clean up ansible classification.

* Fix hard-coded plugin paths in classification.

* Relocate more common classification.

* Fix logic.

* Fix pylint issue.

* Add missing licenses classification.
2019-08-28 15:13:00 -07:00
Milan Zink
7ff7ce0123 New storage/netapp module - na_ontap_kerberos_realm (#59923)
* New module na_ontap_kerberos_realm

* Copyright updated

* Unit test for modules + fixed required_if parameters issue

* reverting state=modify

* fixing test

* Fixing imports section
2019-08-28 18:03:45 -04:00
Matt Clay
8521474f06 Revert "maven_artifact.py - add support for version ranges by using spec (#54309)"
This reverts commit 145a6a8756.
2019-08-28 14:41:11 -07:00
Chris Trufan
44c18b544f Addition of ECS_Certificate Module (#60883)
* Addition of ecs_certificate module.

* Documentation and code fixes

* Updates per code review

* Doc fixes, rename of chain_path to full_chain_path, add regex for cert_Expiry check

* Fixes to pep8 check to make regexp string 'raw'.

* Mistakes with find/replace of caseing.

* Added integration tests and some doc cleanup

* Some additional assertions and test typo cleanup

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

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

* Responses to code review comments

* Remove fake passwords from aliases file.
2019-08-28 23:38:48 +02:00
Nathan Swartz
1d9b473e56 Add netapp_e_firmware module (#59529)
* Add na_santricity_firmware module.

Manages NetApp E-Series firmware upgrades.
Includes unit and integration tests.

* Add legacy support to na_santricity_firmware module.

* Rename na_santricity_firmware to netapp_e_firmware

* Improved netapp_e_firmware example documentation.
2019-08-28 17:17:35 -04:00
Nathan Swartz
f02a62db50 Add netapp_e_drive_firmware (#59528)
* Add na_santricity_drive_firmware module

Manage NetApp E-Series drive firmware downloads
Includes unit and integration tests

* Rename na_santricity_drive_firmware to netapp_e_drive_firmware
2019-08-28 17:15:19 -04:00
Sam Doran
73248bf27d validate-modules - Use error codes instead of numbers (#60711) 2019-08-28 14:12:56 -07:00
Adrian Likins
af01cb114c
Support galaxy v3/autohub API in ansible-galaxy (#60982)
* Add galaxy collections API v3 support

Issue: ansible/galaxy-dev#60

- Determine if server supports v3

Use 'available_versions' from `GET /api`
to determine if 'v3' api is available on
the server.

- Support v3 pagination style

ie, 'limit/offset style', with the paginated
responses based on https://jsonapi.org/format/#fetching-pagination

v2 galaxy uses pagination that is more or less
'django rest framework style' or 'page/page_size style',
based on the default drf pagination described
at https://www.django-rest-framework.org/api-guide/pagination/#pagenumberpagination

- Support galaxy v3 style error response

The error objects returned by the galaxy v3 api are based
on the JSONAPI response/errors format
(https://jsonapi.org/format/#errors).

This handles that style response. At least for publish_collection
for now. Needs extracting/generalizing.

Handle HTTPError in CollectionRequirement.from_name()
with _handle_http_error(). It will raise AnsibleError
based on the json in an error response.

- Update unit tests

update test/unit/galaxy/test_collection*
to paramaterize calls to test against
mocked v2 and v3 servers apis.

Update artifacts_versions_json() to tale an
api version paramater.

Add error_json() for generating v3/v3 style error
responses.

So now, the urls generated and the pagination schema
of the response will use the v3 version if
the passed in GalaxyAPI 'galaxy_api' instance
has 'v3' in it's available_api_versions

* Move checking of server avail versions to collections.py

collections.py needs to know the server api versions
supported before it makes collection related calls,
so the 'lazy' server version check in api.GalaxyAPI
is never called and isn't set, so 'v3' servers weren't
found.

Update unit tests to mock the return value of the
request instead of GalaxyAPI itself.
2019-08-28 16:59:34 -04:00
Felix Fontein
59ab4d9307
oVirt: rename _facts -> _info (#61299)
* Rename oVirt _facts -> _info

* Adjust PR #.

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

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

* Update note.

* Fix/improve docs.

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

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

* Fix variable.

* Fix return value documentation for ovirt_external_provider_info.
2019-08-28 21:01:46 +02:00
Ujwal Komarla
5e200f2d0a Resource Module for exos_lldp_global (#60988)
* Model->Role->Module.
Yet to import modules/exos_facts.py

* exos_facts refactor

* future-import and metaclass

* Fix unit tests

* Fix openconfig-lldp word and send_request API from Httpapi class

idempotent, json.dumps in base class, send_requests from base exos class

* action file for exos_lldp_global

* Add intergration tests for exos_lldp_global

* Test data field of the request
2019-08-28 13:58:45 -04:00
Nathaniel Case
841d204d0d
Fixes #61244 (#61432) 2019-08-28 13:53:33 -04:00
Sam Doran
58edfec145
Add listen_port_facts module (#61463)
Co-authored-by: Nathan Davison <ndavison85@gmail.com>
2019-08-28 13:16:13 -04:00
Nathaniel Case
a7a053defc
New module eos_lacp_interfaces (#61349)
* Prepare for lacp_interfaces.

* Import module from builder

* Implement facts

* Implement config

* Add tests
2019-08-28 13:06:45 -04:00
Diane Wang
d987dca2b1 VMware: vmware_guest_screenshot module fix get_parent_datacenter issue (#60626)
Fix get_parent_datacenter not found issue, and change "local_path" parameter to "path" type.

closes: #60565
2019-08-28 13:04:30 -04:00
Matt Clay
20d9c34862 Fix CI test result placement. 2019-08-28 09:58:00 -07:00
Matt Clay
1db78d4ba4 Attempt quick fix for CI failures. 2019-08-28 09:42:23 -07:00
chkp-orso
c3d37f39b7 Checkpoint Network module (#61309)
* network module

* delete cp_network, cp_network_facts, and change test_cp_network to match the new network module

* Update ignore.txt

* adding state: present

* update example

* list to dict

* Update test_cp_mgmt_network.py

* remove white-space
2019-08-28 21:46:05 +05:30
Matt Clay
830f995ed4
Add a --venv option to ansible-test. (#61422)
* Add --venv delegation to ansible-test.

* Update import sanity test venv creation.

* Fix import test when using --venv on Python 2.x.

* Improve virtualenv setup overhead.

* Hide pip noise for import sanity test.

* Raise verbosity on venv info messages.

* Get rid of base branch noise for collections.

* Add missing --requirements check.
2019-08-28 09:10:17 -07:00
Nathan Swartz
8ebed4002f Add tray/drawer loss protection preference and integration tests to netapp_e_storagepool module. (#60151) 2019-08-28 12:02:46 -04:00
Nathaniel Case
95ecf24b87
New module eos_lldp_interfaces (#61341)
* Prepare existing files for lldp_interfaces

* Initial commit of scaffolding

* Implement facts

* Implement config

* Add tests

* Appease Shippable
2019-08-28 11:56:43 -04:00
Chris Archibald
49cff3d4a6 New options to Interface (#60499)
* update to interface

* force ansibot to run again

* fixes
2019-08-28 11:45:15 -04:00
Chris Archibald
c6710ebf6b Auto support logs were not being created (#60901)
* Auto support logs were not being created

* fixes
2019-08-28 11:23:54 -04:00
Ruturaj Vyawahare
f872c61712 Added integration tests for the following modules: (#55523)
- exos_facts
- exos_command
- exos_config
2019-08-28 10:48:32 -04:00
Don Yao
7a1237781d Files from PR#60621, continue working on fortios_facts modules (#61405)
* Files from PR#60621, continue working on fortios_facts modules

* PR#61405 unit test module test_fortios_facts.py

* sanity fixed in test_fortios_facts unit test module
2019-08-28 19:58:41 +05:30
anas-shami
f4fa4e4e0e Feature/onyx wjh upstream (#61269)
* support wjh module config with testing file

* Fix version, fix enable/disable all groups

* refactor get current group status

* fix indentation and change command_generate function, add test cases and check them

* Update onyx_wjh.py

fix description

* Update onyx_wjh.py

remove extra spaces, add type to choices after run validate-modules

* fix format string - pytest use 2.6.6 format function

* Remove unused imports

* chenge onyx_wjh file permessions

* Fix version, fix enable/disable all groups

* fix indentation and change command_generate function, add test cases and check them

* support wjh module config with testing file

* Fix version, fix enable/disable all groups

* refactor get current group status

* fix indentation and change command_generate function, add test cases and check them

* Update onyx_wjh.py

fix description

* Update onyx_wjh.py

remove extra spaces, add type to choices after run validate-modules

* fix format string - pytest use 2.6.6 format function

* fix format string - pytest use 2.6.6 format function

* chenge onyx_wjh file permessions
2019-08-28 19:41:56 +05:30
sushma-alethea
73767778e0 icx: new module icx_lldp (#61310)
* new module

* icx_cliconf

* icx test units module

* icx units module

* added notes

* new changes

* new module

* new fix

* new changes

* new fixes

* new changes

* Rebase
2019-08-28 18:26:31 +05:30
smile37773
161c1ce17e Rename Azure modules: "facts"->"info" (#61417)
* rename

* add symlink

* add the log

* fix the ignore file

* fix

* fix
2019-08-28 19:01:10 +08:00
Andrey Klychkov
a6f6256a0a new module postgresql_publication (#59439)
* new module postgresql_publication: initial commit

* new module postgresql_publication: add seealso section

* new module postgresql_publication: fix RETURN section, fix typo

* new module postgresql_publication: add __exec_sql method

* new module postgresql_publication: fix typos

* new module postgresql_publication: fix typos

* new module postgresql_publication: fix typos
2019-08-28 10:24:59 +02:00
Miguel Angel Muñoz González
da762018e8 FortiOS modules for 2.9 - 11 (#61387) 2019-08-28 13:24:59 +05:30
Matt Clay
f5d829392a
Overhaul ansible-test test path handling. (#61416)
* Remove .keep files from test/results/ dirs.

* Remove classification of test/results/ dir.

* Add results_relative to data context.

* Use variables in delegation paths.

* Standardize file writing and results paths.

* Fix issues reported by PyCharm.

* Clean up invocation of coverage command.

It now runs through the injector.

* Hack to allow intercept_command in cover.py.

* Simplify git ignore for test results.

* Use test result tmp dir instead of cache dir.

* Remove old .pytest_cache reference.

* Fix unit test docker delegation.

* Show HTML report link.

* Clean up more results references.

* Move import sanity test output to .tmp dir.

* Exclude test results dir from coverage.

* Fix import sanity test lib paths.

* Fix hard-coded import test paths.

* Fix most hard-coded integration test paths.

* Fix PyCharm warnings.

* Fix import placement.

* Fix integration test dir path.

* Fix Shippable scripts.

* Fix Shippable matrix check.

* Overhaul key pair management.
2019-08-27 23:40:06 -07:00
Zim Kalinowski
bf108ee7bf
Adding snapshot module (#61418)
* adding snapshot module

* adding snapshott module

* updates

* updates

* positional args
2019-08-28 14:17:40 +08:00
sushma-alethea
ee3e8704e8 icx: new module icx_interface (#60037)
* new module

* new module

* new module

* new terminal

* new terminal

* new terminal

* new terminal

* new terminal

* new terminal

* new cliconf

* new cliconf

* cliconf

* cliconf

* icx cliconf

* icx cliconf

* icx_cliconf

* icx_cliconf

* icx test units module

* icx test units module

* icx units module

* icx units module

* icx banner unit test

* icx banner unit test

* icx banner unit test

* PR changes resolved

* PR changes resolved

* changes resolved

* changes resolved

* Changes Resolved

* Changes Resolved

* check_running_config changes resolved

* check_running_config changes resolved

* check_running_config changes resolved

* added notes

* added notes

* new changes

* PR comments resolved

* new module icx_interface

* new module icx_interface

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* new fix

* new fix

* new fix

* new fix

* new fix

* new fix

* new fix

* new fix

* new fix

* new fix

* new fix

* new changes

* new changes

* new changes

* new changes

* new changes

* new changes

* notes updated

* Update icx.py

* Whitespace error
2019-08-28 09:03:50 +05:30
sushma-alethea
746acccc64 Branch icx l3 interface new (#61363)
* new module

* icx_cliconf

* icx test units module

* icx test units module

* icx units module

* icx units module

* icx banner unit test

* added notes

* new changes

* New branch to prevent complex rebase

* Rebase had problems
2019-08-28 08:59:57 +05:30
Matt Clay
f510d59943
Support relative imports in AnsiballZ. (#61196) 2019-08-27 18:11:21 -07:00
Ruben-Bosch
5549788c8d win_updates: Add flag to only download updates without installing them (#58631)
* win_updates: Add flag to only download updates without installing them

* Fix test

* Fixes ansible-test (pep8)

* Fix integration test

* Fix actual fix.
2019-08-28 09:46:59 +10:00
Shachaf92
03bbba4a9f win modules - standarize regex and regxp as alias (#59037)
* win modules - standarize regex  and regxp as alias

* Changes to reflect desired state

* Update parameter names of funtions

* Update main.yml

* Update win_lineinfile.py

* Update win_wait_for.py
2019-08-28 09:38:23 +10:00
Jordan Borean
66f52b74b1 Change collection PS util import pattern (#61307)
* Change collection PS util import pattern

* Add changes for py2 compat

* fix up regex and doc errors

* fix up import analysis

* Sanity fix for 2.6 CI workers

* Get collection util path for coverage collection
2019-08-27 16:02:27 -07:00
Brian Scholer
eaa6848932 Allow password to be null in Scheduled Task for gMSA (#60990)
* Allow password to be null in Scheduled Task for gMSA

* Remove test for removed password validation, linting fixes
2019-08-28 08:44:45 +10:00
Yuwei Zhou
41778a8e12 Add azure resource lock module (#55700)
* add locks

* rename the module

* add test

* add test

* address comments

* add quote

* can list child scope lock

* minor docs tweaks

* Add files via upload (#62)

* change '\r\n' to '\n' (#63)

* Small changes, just to trigger CI verify.

* trigger CI verify

* remove 's'

* Update according by comments

* change small for trigger CI check
2019-08-28 05:35:12 +08:00
smile37773
31a1eadab2 Add the azure_rm_azurefirewall_info module (#58697)
* add the info module of azure firewall

* fix the format_item()

* add the test

* fix the indented line

* fix

* fix the test

* change the test file
2019-08-28 05:23:29 +08:00
Felix Fontein
c9a9bd9d64
OneView: rename _facts -> _info (#61208)
* Rename OneView _facts modules -> _info

* Adjust PR #.

* Forgot to update test names.

* Remove superfluous blank line.

* Some more things from review.
2019-08-27 23:21:40 +02:00
Jordan Borean
faaa669764
PowerShell - Added coverage collector (#59009)
* Added coverage collection for PowerShell - ci_complete ci_coverage

* uncomment out coverage uploader call

* Generate XML for PowerShell coverage

* Use whitelist to exclude coverage run on non content plugins

* Remove uneeded ignore entry

* Try to reduce diff in cover.py

* Fix up coverage report package - ci_complete ci_coverage
2019-08-28 07:03:23 +10:00