Commit graph

2601 commits

Author SHA1 Message Date
Toshio Kuratomi
4cad7e479c
Galaxy publish fix (#63580)
* Handle galaxy v2/v3 API diffs for artifact publish response

For publishing a collection artifact
(POST /v3/collections/artifacts/), the response
format is different between v2 and v3.

For v2 galaxy, the 'task' url returned is
a full url with scheme:

        {"task": "https://galaxy-dev.ansible.com/api/v2/collection-imports/35573/"}

For v3 galaxy, the task url is relative:

        {"task": "/api/automation-hub/v3/imports/collections/838d1308-a8f4-402c-95cb-7823f3806cd8/"}

So check which API we are using and update the task url approriately.

* Use full url for all wait_for_import messages

Update unit tests to parameterize the expected
responses and urls.

* update explanatory comment

* Rename n_url to full_url.

* Fix issue with overwrite of the complete path

* Fixes overwrite of the complete path in case there's extra path stored
  in self.api_sever
* Normalizes the input to the wait_import_task function so it receives
  the same value on both v2 and v3

Builds on #63523

* Update unittests for new call signature

* Add changelog for ansible-galaxy publish API fixes.
2019-10-16 15:23:12 -07:00
Matt Clay
20be8693ba Revert "Remove top-level arguments from network modules (#62603)"
This reverts commit d5ac3f7e77.
2019-10-15 12:53:51 -07:00
Nathaniel Case
d5ac3f7e77
Remove top-level arguments from network modules (#62603)
Eh, 2.10 is close enough

* drop top-level authorize

* Remove from documentation

* Remove load_params

* nxos_hsrp: I don't think this is an actual module parameter

* Move local params to provider

* Promote 'timeout' to a real parameter for eos_eapi

* Provider now always has auth_pass
2019-10-15 11:41:35 -04:00
Sam Doran
e9d29b1fe4 Properly mask no_log values is sub parameters during failure (#63405)
* Get no_log parameters from subspec

* Add changelog and unit tests

* Handle list of dicts in suboptions

Add fancy error message (this will probably haunt me)

* Update unit tests to test for list of dicts in suboptions

* Add integration tests

* Validate parameters in dict and list

In case it comes in as a string

* Make changes based on feedback, fix tests

* Simplify validators since we only need to validate dicts

Add test for suboptions passed in as strings to ensure they get validated properly and turned into a dictionary.

ci_complete

* Add a few more integration tests
2019-10-14 09:20:07 -07:00
Xu Yuandong
36457bebc9 add a new module ce lacp to manage Eth-Trunk interfaces mode (#58077)
* add a new module to manage lacp

* add a new module to manage lacp

* add a new module to manage lacp

* add a new module to manage lacp

* add a new module to manage lacp

* update for shippable.

* update for shippable

* add units test to module ce_lacp.

* add units test to module ce_lacp.

* add units test to module ce_lacp.

* update

* update

* update

* update

* update

* update

* update for shippable.

* for shippable

* update ignore.txt to reslove conflict

* update for shippable

* update

* update unittest to remove provider.

* update unittest for shipppable.

* use to_native.

* intergration test

* syntax error

* syntax error

* syntax error

* update for `Andersson007` review and thanks.

* update for shippable
2019-10-14 15:14:43 +01:00
Matt Martz
7f4befdea7
Wrap CLI Passwords with AnsibleUnsafeText, ensure unsafe context is not lost during encode/decode (#63351)
* Wrap .encode and .decode on AnsibleUnsafe objects

* runme.sh needs to be executable

* ci_complete

* Update changelog with CVE
2019-10-11 09:17:10 -05:00
Adrian Likins
bad72693e4 Stop appending '/api' to galaxy server url (#63238)
* Stop appending '/api' to configured galaxy server url

Since not all galaxy REST api server URLs live
at '/api', stop always appending it to the
'url' value loaded from config.

* Add note about manually migrated galaxy configs and /api

* Add '/api/' to galaxy url and guessing if galaxy API

* Fix most unit tests (update to expect /api/)

* Fix test_initialise_unknown unit test

Since we retry now with an added /api/, mock it as well.

* Update fallback default avail_ver to new format
2019-10-08 15:09:19 -07:00
Pedro Magalhães
67d9cc45bd maven_artifact.py - add support for version ranges by using spec (#54309) (#61813) 2019-10-08 15:24:50 +01:00
Adrian Likins
239d639fee Add support for automation-hub authentication to ansible-galaxy (#63031)
Adds support for token authentication in Automation Hub. Fixes: ansible/galaxy-dev#96
2019-10-04 17:57:37 -04:00
Mike Wiebe
918f768890 [stable-2.9] Fix nxos_l3_interfaces module and tests (#62545)
* Fix nxos_l3_interfaces module and tests

* Use get_interface_type

* get_interface_type in utils lib
2019-10-02 13:43:17 -04:00
Will Smith
50d1cbd30a fix issue #60237 when non-ascii is returned from the WLC (#60243)
* fix issue #60237 when non-ascii is returned from the WLC

* update test to work with python3 through use of six library

* remove trailing white space
2019-10-01 16:52:35 -04:00
Dag Wieers
7fa1e4f70f Fix sanity checks (#62782)
This PR fixes all new ACI sanity issues.
2019-09-24 09:00:00 -04:00
David
a2846613b8 Apcon modules (#62028)
* Add APCON modules

* Fix cli regex

* revise for passing sanity tests

* Add unit test for apcon_command module
Remove apconos_config.py apconos_update.py apconos_cert.py for now

* Fix for santiy test

* test

* Ignore action-plugin-docs test

* Add apcon_command module

* conflict solved

* merge

* Fix for sanity test

* Revise integration test

* Mark integration test unstable

* Remove integration test temprorily

* 1. Ignored privilege escalation;
2. Ignored get_configure command;
3. Removed doc_fragments;
2019-09-23 16:42:17 -04: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
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
Christian Clauss
23c7bf6481 Fix access to exception using Python 3 scoping rules (#62268) 2019-09-17 13:28:37 -04: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
Mike Wiebe
b0668e17ed nxos_telemetry replaced state (#62368) 2019-09-17 16:49:30 +05:30
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
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
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
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
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
Mike Wiebe
f582d74f7c Fix bfd cmd order and test issues (#61943) 2019-09-12 21:45:37 +05:30
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
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
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
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
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
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
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
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
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
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
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
Nathaniel Case
41e4ece44b
Defer passlib dependency from plugins/filter/network.py (#59304)
* Defer passlib dependency from plugins/filter/network.py to what utils/encrypt.py provides.

* Revert test changes now that passlib is optional
2019-08-29 09:01:30 -04:00
Matt Davis
d81ae27a4a
Collection role relative deps (#61517)
* 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

* disable default collection test under Windows

* enable collection search for role dependencies

* unqualified role deps in collection-hosted roles will first search the containing collection
* if the calling role has specified a collections search list in metadata, it will be appended to the search order for unqualified role deps

* disable cycle detection unit test

* failing on 3.7+, needs proper cycle detection
* see #61527
2019-08-29 02:25:44 -07:00