Commit graph

47087 commits

Author SHA1 Message Date
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
Felix Fontein
a6f828e2ab Reordering entries. (#61491) 2019-08-28 18:49:14 -05: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
Miguel Angel Muñoz González
f9b0ab774f Minor bug fixes - 3 (#61461) 2019-08-29 01:33:07 +05:30
Miguel Angel Muñoz González
a1d997cacb Minor bug fixes - 5 (#61462) 2019-08-29 01:19:25 +05:30
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
Yariv Amar
645fe296bd improve list paremeter description. (#60948)
* improve list option description.
2019-08-28 14:52:22 -04:00
Miguel Angel Muñoz González
08c7c6c204 Minor bug fixes - 1 (#61456) 2019-08-28 23:57:45 +05:30
Miguel Angel Muñoz González
b47a291d43 Minor bug fixes - 6 (#61464) 2019-08-28 23:30:23 +05:30
Miguel Angel Muñoz González
35c0782b50 Minor bug fixes - 1 (#61454) 2019-08-28 23:29:21 +05:30
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
The Magician
b20bfc1048 Bug fixes for GCP modules (#61359) 2019-08-28 13:43:57 -04:00
Pavel Holica
89744b72d3 os_image_facts: add ability to filter Openstack images based on properties 2019-08-28 13:43:09 -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
Spencer
21892aaf51 Correct grammar of contribute-message in footer. (#61414)
Adds a comma to the "you can edit this documentation" message in the footer on every documentation page.
2019-08-28 11:41:07 -05:00
Giovanni Geraci
dd3c5500e1 filename attribute (#61426)
Adds missing return key/value 'filename' to the win_find module documentation
2019-08-28 11:35:57 -05:00
chkp-orso
3e0891ed39 assign_global_assignment module (#61290)
* assign_global_assignment module

* add short description

* add '-'
2019-08-28 21:59:30 +05:30
chkp-orso
e0243520dd address_range module (#61273)
* adress_range module

* adding '-'

*  adding state: present

* update example

* list to dict
2019-08-28 21:53:51 +05:30
chkp-orso
1c5a44340e publish module (#61312) 2019-08-28 21:46:58 +05:30
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
Yannis Ansermoz
076726aa08 Typo in example for ios_l2_interface - allow_vlans (#61366) 2019-08-28 12:00:08 -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
Sandra McCann
92d57796dd Update Ansible sphinx theme to rtd theme version 0.4.3 (#61189)
* update theme.conf, header, footer, etc.
* clean up layout.html
* move large Ansible changes out of theme.css
* maxify theme to help merge
* remove redundancies, fix top nav bar
* add Ansible color to header and left-nav menu
2019-08-28 10:47:11 -05: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
Ujwal Komarla
add33ccbdc Fix exos_facts httpapi (#61198) 2019-08-28 10:24:45 -04:00
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
Jill R
8d167bdaef Deprecate alias 'thirsty' from all usages (#61245)
* Deprecate alias 'thirsty' from all usages

Fixes: #61236

* Now with added version quoting

* Handle deprecated aliases in mod_utils

* Make alias deprecation a subkey of the canonical arg, and not a separate argument
2019-08-28 08:27:08 -05:00
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