Commit graph

2656 commits

Author SHA1 Message Date
Miguel Angel Muñoz González
60a1545092 Fortinet's new module for fortios_switch_controller_vlan (#59630)
* Fortinet's new module for fortios_switch_controller_vlan

* Update fortios_switch_controller_vlan.py

* Update fortios_switch_controller_vlan.py
2019-08-12 14:58:02 +05:30
Miguel Angel Muñoz González
f1a4ab0aa5 Fortinet's new module for fortios_switch_controller_virtual_port_pool (#59601)
* Fortinet's new module for fortios_switch_controller_virtual_port_pool

* Update fortios_switch_controller_virtual_port_pool.py

* Update fortios_switch_controller_virtual_port_pool.py
2019-08-12 14:56:11 +05:30
Miguel Angel Muñoz González
079a4408ab Fortinet's new module for fortios_switch_controller_switch_profile (#59683)
* Fortinet's new module for fortios_switch_controller_switch_profile

* Update fortios_switch_controller_switch_profile.py

* Update fortios_switch_controller_switch_profile.py
2019-08-12 14:55:19 +05:30
sushma-alethea
622a493ae0 icx: new module icx_ping (#59975)
* new module

* new module

* new terminal

* new terminal

* new cliconf

* new cliconf

* cliconf

* 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

* PR changes resolved

* changes resolved

* Changes Resolved

* check_running_config changes resolved

* added notes

* added notes

* removed icx rst

* new changes

* new changes

* deleted icx rst

* icx .rst

* icx .rst

* modified platform_index.rst

* modified platform_index.rst

* modified platform_index.rst

* modified platform_index.rst

* changes resolved

* changes resolved

* PR comments resolved

* PR comments resolved

* Update platform_index.rst

PR comment resolved

* Update platform_index.rst

PR comment resolved

* new module icx_ping

* new changes

* Fixed bot error
2019-08-12 12:01:15 +05:30
Felix Fontein
3290b8343c
docker: fix sanity errors (#60047)
* Remove sanity check errors.

* More linting.

* Forgot to update places.

* Remove choices which aren't provided in argspec.
2019-08-09 23:50:11 +02:00
Chris Archibald
b6202dde32 Allow firmware update for (SP, ACP, Shelf, Disk) (#58597)
* update

* Revert "update"

This reverts commit 84848f829108dde057cf63c9a402dcecab527202.

* correct module

* fixes
2019-08-09 16:04:46 -04:00
Sam Doran
2d266fbc87
Fix unit tests to work with pytest >= 5.0 (#60246)
pytest made a change in the way the message from ExceptionInfo objects was returned.

https://docs.pytest.org/en/latest/changelog.html#pytest-5-0-0-2019-06-28
2019-08-09 14:58:46 -04:00
Yaakov Selkowitz
93d9d64038 facts: fix double-counting of CPUs on POWER systems (#58360)
On POWER systems, /proc/cpuinfo provides a 'processor' entry as a
counter, and a 'cpu' entry with a description (similar to 'model name'
on x86). Support for POWER in get_cpu_facts was added via the 'cpu'
entry in commit 8746e692c1.  Subsequent
support for ARM64 in commit ce4ada93f9
used the 'processor' entry, resulting in double-counting of cores on
POWER systems.

When unit tests were later written for this code in
commit 55306906cf, the erroneous values
were just accepted in the test instead of being diagnosed.

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2019-08-09 13:01:29 -04:00
Matt Clay
6c09b5c659
Unit test cleanup. (#60315)
* Clean up option parsing unit tests.
* Remove unused unit test marker and import.
2019-08-09 08:31:13 -07:00
Chris Archibald
48021a4200 add modify to snapshot policy (#59149) 2019-08-09 07:56:31 -04:00
Andrew Gaffney
b38cb37728
Transform octal escape sequences in mtab fields (#60122) 2019-08-08 16:31:42 -05:00
Sam Doran
aa717661af Move assertion in unit test inside loop (#60232) 2019-08-08 14:27:49 -05:00
Jiri Hnidek
577bb88ad8 Added support for syspurpose to redhat_subscribtion module (#59850)
* Added several unit tests
* Added documentation for new syspurpose option and suboptions
* Simplified specification of module arguments
* Added new changelog file with fragments
2019-08-08 11:43:05 -04:00
Nathan Swartz
10543c8a4c Facts dev upstream (#57082)
* Improved netapp_e_facts module.

Added the following facts:
  - storage system segment size
  - cache block size capabilities
  - workload tags
  - storage array hosts
  - host groups
  - list of mapped volumes for each initiator

* Remove proxy specific facts from netapp_e_facts module

* Add unit tests for netapp_e_facts module.
2019-08-08 11:36:23 -04:00
Martin Krizek
164881d871 Remove UnsafeProxy (#59711)
* Remove UnsafeProxy

Move the work from UnsafeProxy to wrap_var and add support for bytes.
Where wrap_var is not needed, use AnsibleUnsafeBytes/AnsibleUnsafeText
directly.

Fixes #59606

* item is not always text

* Address issues from reviews

* ci_complete
2019-08-07 10:39:01 -05:00
Nathan Swartz
e80f8048ee Fix netapp_e_volume wait-for-initialization to complete issue. (#58304)
* Fix netapp_e_volume wait-for-initialization to complete issue.

* Add unit tests for wait_for operations in netapp_e_volume module.
2019-08-07 11:28:39 -04:00
Wojciech Wypior
d00aaf66d7 fixes assert statements in tests (#59998) 2019-08-07 06:52:41 -07:00
Wojciech Wypior
ce1f25cffd adds module to manage apm acls (#59992) 2019-08-07 06:48:55 -07:00
Wojciech Wypior
77b323459f adds more modules to bigip provision (#59996) 2019-08-07 06:45:27 -07:00
Wojciech Wypior
7b97abf6a2 adds apm module to manage network access components for APM (#59993) 2019-08-07 06:44:57 -07:00
Wojciech Wypior
47e3ed8100 adds module to manage device self signed certificates (#59994) 2019-08-07 06:44:41 -07:00
Wojciech Wypior
0d92abad7d adds module to manage snat translations (#59995) 2019-08-07 06:43:10 -07:00
Jill R
4308b87d72 Don't truncate cidr_ipv6 addresses in ec2_group.py (#59106)
* Better cidr_ipv6 validation in ec2_group.py

* Improve warning/error handling, add changelog

* Update unit test for ipv6 validation

* Fix logic that was causing non /128 cidrs with host bits to not be handled
2019-08-07 08:39:55 -04:00
sushma-alethea
92187ae53e icx: new module icx_command (#59903)
* new module

* new cliconf

* cliconf

* icx cliconf

* icx test units module

* icx units module

* icx banner unit test

* added notes

* new changes

* icx .rst

* modified platform_index.rst

* modified platform_index.rst

* changes resolved

* PR comments resolved

* Update platform_index.rst

PR comment resolved

* new module

* new cliconf

* cliconf

* icx cliconf

* icx test units module

* icx units module

* icx banner unit test

* added notes

* new changes

* icx .rst

* modified platform_index.rst

* modified platform_index.rst

* changes resolved

* PR comments resolved

* Update platform_index.rst

PR comment resolved

* new module icx_command

* PR issue

* new PR fix
2019-08-07 13:27:24 +05:30
Matt Clay
d651bda123
Relocate ansible-test code. (#60147)
* Initial move of `test/runner/` content.

`test/runner/lib/` -> `test/lib/ansible_test/_internal/`
`test/runner/`     -> `test/lib/ansible_test/_internal/data/`

* Initial move of `test/sanity/` content.

`test/sanity/` -> `test/lib/ansible_test/_internal/data/sanity/` (except `test/sanity/ignore.txt`)

* Initial move of `test/units/pytest/` content.

`test/units/pytest/` -> `test/lib/ansible_test/_internal/data/pytest/`

* Follow-up move of `test/runner/unit/` content.

`test/lib/ansible_test/_internal/data/unit/` -> `test/lib/ansible_test/tests/unit/`

* Initial move of `ansible.cfg` content.

`test/units/ansible.cfg` -> `test/lib/ansible_test/_internal/data/units/ansible.cfg`
`test/env/ansible.cfg` -> `test/lib/ansible_test/_internal/data/env/ansible.cfg`

* Follow-up move of `data` directory.

`test/lib/ansible_test/_internal/data/` -> `test/lib/ansible_test/_data/`

* Update import statements.

* Add missing __init__.py for unit tests.

* Fix path references and miscellaneous issues.
2019-08-06 14:43:29 -07:00
Nathan Swartz
acbffce079 Host dev upstream (#57086)
* Improve netapp_e_host module

Add host type strings for windows, windows cluster, linux and vmware to netapp_e_host module
Make host port information case-insensitive in netapp_e_host module
Fix port removal and default group.
Fix port reassignment in netapp_e_host module.
Fix port label or address change within existing host object in module netapp_e_host
Add unit and integration tests

* Created new unit test for netapp_e_host module
2019-08-06 15:01:22 -04:00
Nathan Swartz
a9aeabb456 Improve netapp_e_storagepool and add units. (#57095)
Refactored module to use eseries base class
Removed E322 and E326 for netapp_e_storage module from the ignore.txt file
Updated version_added quotes in netapp_e_storagepool
2019-08-06 10:02:14 -04:00
Matt Clay
fa2adf3b7b
More prep for ansible-test relocation. (#60114)
* Update pytest plugins.
* Fix update-bundled sanity test.
* Remove old validate-modules comment.
* Fix ansible-test plugin loading
* Update code coverage comments.
* Fix Makefile ansible-test reference.
* Remove incorrect path from lint output.
* Update ansible-test unit tests.
* Make ansible-test's own unit tests singular.
2019-08-05 16:38:21 -07:00
Matt Clay
9fd244319e
Clean up ansible-test references in tests. (#60108)
* Clean up comments in integration tests.

Tests reference soon to be outdated paths and implementation details.

* Remove unused test/runner/ reference in test.
2019-08-05 14:55:30 -07:00
Nathan Swartz
41235ac05a Improve netapp_e_hostgroup and add unit tests. (#57094)
* Improve netapp_e_hostgroup and add unit and integration tests.

netapp_e_hostgroup was refactored for maintainability and improved
documentation clarity.

* Remove ignore sanity check E338 for netapp_e_hostgroup module

* Add __future__ import (absolute_import, division, print_function) to test_netapp_e_hostgroup unit test.
2019-08-05 13:19:23 -04:00
Chris Archibald
be24db8886 New module na_ontap_object_store (#59048)
* New module object store

* fixes

* fix tests
2019-08-05 09:27:38 -04:00
Trishna Guha
021b1810c9
Add nxos_vlans resource module (#59294)
* Add nxos_vlans resource module

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

* address review comments

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

* fix CI failure and udpate tests

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

* Add commands in module doc

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-08-05 12:50:16 +05:30
Mike Wiebe
9610f2b8ac NX-OS Telemetry Resource Module (#59126)
* Combined telemetry module commit

* Minor fixes

* Add back whitespace

* Add telemetry subscription support and simplify

* Remove comment line

* Make ansibot happy

* Create common build_args method

* More ansibot fixes

* Refactored integration tests, remove old files

* Add subscription tests

* Add integration tests

* Update module docs

* Test updates

* Address review comments

* Comment should be one line, not two

* Address Trishna comments

* State deleted should purge all config

* Remove misleading comment

* Doc fixes

* Fix source int bug and remove local debug msg

* Add additional integration test checks
2019-08-05 11:35:46 +05:30
Wojciech Wypior
c9a9621a02 fixes issue with recieve parameter idempotency (#59999)
fixes assert statements in unit tests
2019-08-02 13:29:40 -07:00
Andrey Klychkov
64e3cb0fa8 Unit tests: remove unused imports (#59812)
* Unit tests: remove unused imports

* Unit tests: remove unused imports, fix
2019-08-02 17:18:14 +02:00
Sumit Jaiswal
b847327645
Resource module for ios_interfaces and Facts Update (#59716)
* ios interfaces resource
2019-08-02 14:34:05 +05:30
Felix Fontein
6d074d8a94
Move ome_* and idrac_* modules one level up (#59698)
* Move ome_* and idrac_* modules one level up.

* Fix paths.

* Fix package name.

* Oranize in different directories.

* Update BOTMETA.

* Update new ignore entries.

* Revert "Update BOTMETA."
Revert "Oranize in different directories."
Adjust ignores.txt.
2019-08-02 09:06:18 +02:00
Abhijeet Kasurde
056aac1e30 Minor fixes in galaxy command for collection (#59846)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-08-02 07:48:34 +10:00
Nathan Swartz
26fff6f5c3 Improved netapp module utility for E-Series. (#59527)
Add header option to request method in NetAppESeriesModule
Add multipart formdata builder function
Fix issue with url port change
2019-08-01 13:24:38 -04:00
Abhijeet Kasurde
025e30ea0c VMware: add support for http_proxy in connection API
This commit allows users to access a vCenter or a ESXi through a
HTTP CONNECT based proxy.

To do so, the users have to set the `proxy_host` and `proxy_port`
variables.

The can also use the `VMWARE_PROXY_HOST` and `VMWARE_PROXY_PORT`
environment variables.

This feature depends on pyvmomi > v6.7.1.2018.12.

Fixes: #42221

Co-Author: Abhijeet Kasurde <akasurde@redhat.com>
Co-Author: Gonéri Le Bouder <goneri@redhat.com>
2019-08-01 15:57:26 +02:00
itercheng
eea46a0d1b Support Ericsson device management (#59277)
* Support Ericsson device management

* modify code

* modify error

* delete redundant file

* delete file

* modified error

* modify additional file name

* delete code

* add blank line

* delete redundant code

* add platform_eric_eccli.rst

* modify syntaxError

* modify document

* modify error

* modify maintaners

* modify document

* add end_string
2019-08-01 16:55:10 +05:30
Nilashish Chakraborty
730fa78ca4
Add vyos_interfaces resource module (#58589)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-07-31 23:06:53 +05:30
sushma-alethea
f2cb44633a Modules to manage ICX devices (#58969)
* new module

* new terminal

* new terminal

* new cliconf

* cliconf

* icx cliconf

* icx_cliconf

* icx test units module

* icx units module

* icx banner unit test

* PR changes resolved

* changes resolved

* Changes Resolved

* check_running_config changes resolved

* added notes

* removed icx rst

* new commit

* new changes

* deleted icx rst

* icx .rst

* modified platform_index.rst

* modified platform_index.rst

* changes resolved

* PR comments resolved

* Update platform_index.rst

PR comment resolved
2019-07-31 20:01:41 +05:30
Jiri Hnidek
978fe81a6d Added unit tests for redhat_subscription module (#58665)
* Fixed the redhat_subscription module:
  - Option 'pool_ids' works in Python3 now
  - It tries to attach only pools IDs that are available
  - Optimization of code: do not call list --available, when
    no pool is requested
  - Simplified configure() method
  - Small changes to generate same commands on Python2 and Python3.
    Order of arguments/options and pool IDs have to be same to
    be able to run unit test using Python2 and Python3.
  - Added fragments file for redhat_subscribtion module
2019-07-29 16:11:29 -04:00
Andrey Klychkov
32de51adac Unit tests: remove unused imports (#59740) 2019-07-29 22:10:13 +02:00
Shrikant Chaudhari
0b8354751b Added new module avi_user.py (#57116)
* Added new module avi_user.py and tests for that

* Updated documentation as per module argspec

* Updated as per review comments on IP address

* Updated documentation for types

* Fixed sanity check failure for __future__ import

* Updated documentation as per review comments.
2019-07-29 11:49:04 -04:00
Andrey Klychkov
4e8df9a4b8 unit tests: remove unused imports (#59636) 2019-07-26 10:53:31 -04:00
Nilashish Chakraborty
f2b0bfd4aa
Add iosxr_lacp resource module (#59281)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-07-24 22:55:42 +05:30
Sandeep Bandi
1d82d25ea2 Adding Avi ansible lookup module (#58667)
* Adding Avi ansible lookup module

(cherry picked from commit 77b8951f68cbc889e6595b2a359ca27b84a43c0d)

* Added description for examples

* Added debug logs and unit tests

* Fix __builtin__ import and restting super

* Fix pep8 errors

* Updated as per review comments on IP address
2019-07-24 11:35:04 -04:00
Chaitanya Deshpande
f988c23f82 Added unit tests for avi API utils (#58382)
* Added unit tests for ansibble_utils.py

* Removed unnecessary print statement

* Updated Ip address as review comment

* Updated as per review comments on IP address and test asserts
2019-07-24 11:05:28 -04:00
Jordan Borean
ba7097cba3
Collection test (#59488)
* Add missing __init__.py for collection unit tests

* Added more tests for collection install and remove default path
2019-07-24 12:38:32 +10:00
Toshio Kuratomi
8a880d6032 Fix the pytest match test for python-2.6 2019-07-23 14:07:37 -07:00
Toshio Kuratomi
67fb3a8215 Fix root filter test
On python-2.6 the error message is different
2019-07-23 09:50:47 -07:00
Andrey Klychkov
333953117c Add human_to_bytes isbits arg unit tests&docstring
PR #58623

Co-Authored-By: Sviatoslav Sydorenko <webknjaz@redhat.com>
Co-Authored-By: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2019-07-23 14:56:56 +02:00
Matt Clay
79eca9c8fb
Initial ansible-test support for collections. (#59197)
* Initial ansible-test support for collections.
* Include cloud config in delegation payload.
* Add missing types import and fix `t` shadowing.
* Fix plugin traceback when config_path not set.
* Fix encoding issues.
* Remove unused imports.
* More encoding fixes.
* Handle delegation outside exception handler.
* Inject ssh keys only if not already in place.
* More defensive approach to getting remote pwd.
* Add missing string format var.
* Correct PowerShell require regex.
* Rename `is_install` and `INSTALL_ROOT`.
2019-07-22 19:24:48 -07:00
Jordan Borean
aa0de421d2
Ignore collection build release files in the root collection directory (#59121) 2019-07-23 07:52:30 +10:00
Jordan Borean
65049620ee
Generate galaxy.yml based on single source of truth (#59170)
* Generate galaxy.yml based on single source of truth

* Fix up tests and align file names

* Minor Makefile tweak

* Remove link in galaxy.yml file and make it a template file

* Moved collections docs to dev_guide

* change Makefile clean path

* Added readme to example meta file

* review fixes

* Use newer style for doc generation script

* Fix mistake in dev_guide index

* removed uneeded file, fixed links and added preview banner

* Moved banner for sanity test
2019-07-23 06:50:46 +10:00
Matt Martz
284dafe476
Perfy McPerferton (#58400)
* InventoryManager start of perf improvements

* 0 not 1

* More startswith to [0] improvements

* Remove unused var

* The hash doesn't need to be a string, start as a list, make it into a tuple

* set actually appears faster than frozenset, and these don't need to be frozen

* Cache hosts lists, to avoid extra get_hosts calls, pass to get_vars too

* negligible perf improvement, it could help with memory later

* Try the fast way, fallback to the safe way

* Revert to previous logic, linting fix

* Extend pre-caching to free

* Address test failures

* Hosts are strings

* Fix unit test

* host is a string

* update test assumption

* drop SharedPluginLoaderObj, pre-create a set, instead of 2 comparisons in the list comprehension

* Dedupe code

* Change to _hosts and _hosts_all in get_vars

* Add backwards compat for strategies that don't do set host caches

* Add deprecation message to SharedPluginLoaderObj

* Remove unused SharedPluginLoaderObj import

* Update docs/comments

* Remove debugging

* Indicate what patterh_hash is

* That won't work

* Re-fix tests

* Update _set_hosts_cache to accept the play directly, use without refresh in get_hosts_remaining and get_failed_hosts for backwards compat

* Rename variable to avoid confusion

* On add_host only manipulate _hosts_cache_all

* Add warning docs around _hosts and _hosts_all args
2019-07-22 14:25:20 -05:00
Chris Archibald
6adf0c581e New feature to na_ontap_snapmirror (#59047)
* updates

* updating version added for connection type
2019-07-22 13:46:00 -04:00
Chris Archibald
b1360c0d94 bug fixes (#59049) 2019-07-22 11:05:56 -04:00
Andrey Klychkov
59e647910d Add unit tests for bytes_to_human formatter
PR #58664

Co-Authored-By: Sam Doran <sdoran@redhat.com>
2019-07-22 15:45:07 +02:00
Tyler Ramer
8d0f2e5725 Address regression causing bootproto=dhcp for manual IP addresses (#56376)
Commit b7724fdf85
appears to have caused a regression, where `ip4`, `gw4`, `ip6`, `gw6`
were converted to `ipv4.address`, `ipv4.gateway` etc.

This causes bootproto (or `ipv4.method`) to remain `dhcp`, as noted in https://github.com/ansible/ansible/issues/36615

This commit only reverts the key-value pairs to the original names,
which is in line with both expectation (manual ip addr == no dhcp) and
the language used in the playbook, which is, for example, "ip4" not
"ipv4.address"

Co-authored-by: Stuart Pollock <spollock@pivotal.io>
Co-authored-by: Tyler Ramer <tramer@pivotal.io>
2019-07-22 09:30:24 +05:30
Felix Fontein
4a574c4d0c Option parsing: warn if both an option and its alias are specified for a module (#53698)
* Print warning when both an option and its alias is specified.

* Improve output.

* Put warnings into self._warnings directly, resp. use self.warn() when handling subspecs.

* Add changelog.

* Add unit test.
2019-07-19 13:11:41 -04:00
Sam Doran
f231f21669
Handle situation where ansible_architecure may not be defined when gathering facts (#55466) 2019-07-19 11:33:05 -04:00
Toshio Kuratomi
87601969a3 Correct places where match was intended
pytest.raises has two parameters, message and match.  message is meant
to be the error message that pytest gives when the tested code does not
raise the expected exception.  match is the string that pytest expects
to be a match for the repr of the exception.  Unfortunately, it seems
that message is often mistakenly used where match is meant.  Fix those
cases.

message is also deprecated so removed our usage of it.  Perhaps we
should write a sanity test later that prevents the use of
pytest.raises(message) to avoid this mistake.

seealso: https://docs.pytest.org/en/4.6-maintenance/deprecations.html#message-parameter-of-pytest-raises

Also update the exception message tested for as we're now properly
detecting that the messages have changed.
2019-07-18 17:10:58 -07:00
Aljaž Košir
42073b6331 Add lambda_bucket_event module (#58059) 2019-07-18 10:54:01 -07:00
Sumit Jaiswal
b01b1d40cf
PR to add Unit TC for Checkpoint network module (#57710)
* cp_network unit TC

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-07-18 16:24:09 +05:30
Brian Coca
a39b721db5
fixes to config manager (#58530)
* skip unreadable ansible.cfg

* all types should check for type

* patch access for tests and fix tests that relied on missing files not being checked
2019-07-17 10:39:30 -04:00
Matt Davis
d28f25d118
patch ansible-connection collection plugin loading (#59119) 2019-07-16 13:46:15 -07:00
Matt Clay
d4dec59cb0 Fix collection loader builtin handling. (#58897)
- Support more import statements:

  from ansible_collections.ansible.builtin.plugins.module_utils import basic
  from ansible_collections.ansible.builtin.plugins.module_utils.basic import AnsibleModule

- Add unit tests for more import statements.
- Raise ImportError instead of returning None if load_module fails.
2019-07-16 13:40:22 -07:00
Chris Archibald
8bf069114f New Module: Vscan Enable (#57953)
* new module

* fix netapp.py

* updates

* fixes
2019-07-16 13:40:56 -04:00
Alvaro Olmedo Rodriguez
a1dcba63b3 java_keystore - Prefer SHA256 and solve SHA256 keytool in java11 version (#57302) 2019-07-15 12:44:30 -04:00
Chris Archibald
f3aac3a112 MOTD was not idempotent (#57372)
* fix issue

* fix issues

* fix issues

* fix issues
2019-07-12 16:47:41 -04:00
Chris Archibald
9cb78b4826 New options to volume (#58531)
* updates to volume

* fix ansibot

* fix issues

* Revert "fix issues"

This reverts commit 54988709ae7b03841452b01ec22ad01b5ccfacd4.
2019-07-11 17:42:00 -04:00
Chris Archibald
59feb63d19 Add uid, and gid to volume clone (#57371)
* and new features

* fix issues

* fix issues

* fix issues

* add unit tests
2019-07-11 13:57:36 -04:00
Chris Archibald
6e3d54ae81 Set vscan_fileop_profile for na_ontap_cifs (#57373)
* new features

* update unit tests
2019-07-11 10:49:35 -04:00
pratikgadiya12
e8f4ebb22c nmcli: Argument vlanid (int) is changed internally to string (#58963)
* Argument vlanid (int) is changed internally to string
* Modified test case to check vlan id

Fixes: #58949
2019-07-11 18:02:02 +05:30
Matt Clay
c79afb1cba Move ansible-test unit coverage code into plugin. 2019-07-10 10:09:46 -07:00
rajaspachipulusu17
753f998262 Pluribus Networks ipv6 security reguard vlan module with UT (#58319) 2019-07-10 14:39:53 +05:30
Chris Archibald
8731fc7a86 returning invalid security (#58595) 2019-07-10 00:40:31 -04:00
Matt Clay
9e67953b2e
Fix collection loader and add unit tests. (#58701)
* Use `compile` before `eval` in collection loader.

This fixes two issues:

1. File names are available when tracing execution, such as with code coverage.
2. Future statements are not inherited from the collection loader.

* Add unit tests for collection loading.

These tests verify several things:

1. That unit tests can import code from collections when the collection loader is installed.
2. That tracing reports the correct file and line numbers (to support code coverage).
3. That collection code does not inherit __future__ statements from the collection loader.

* Update unit test handling of the collection loader.

Since the collection loader is installed simply by importing ansible.plugins.loader,
we may already have a collection loader installed when the test runs. This occurs if
any other tests are collected which use that import during collection. Until that code
is moved into an initialization function to avoid loading during import, the unit tests
will need to replace any existing collection loaders so that they reflect the desired
configuration.

* Insert into sys.modules before calling exec.

This is a requirement of PEP 302.

It will prevent recursion errors when importing the current module or using a relative import.

* Use the correct value for __package__ in modules.

This allows using relative imports in collections.

* Add warning about modifying code for trace test.

* Add test for relative import in collection.

* Add __init__.py to collection to satisfy pylint.

The relative-beyond-top-level rule in pylint may not be appropriate for collections.
However, until that rule is disabled for collections this will keep tests passing.
2019-07-09 17:31:33 -07:00
Jordan Borean
b6791e6ae3
ansible-galaxy: add collection sub command (#57106)
* ansible-galaxy: add collection init sub command

* Fix changelog and other sanity issues

* Slim down skeleton structure, fix encoding issue on template

* Fix doc generation code to include sub commands

* Added build step

* Tidy up the build action

* Fixed up doc changes and slight testing tweaks

* Re-organise tests to use pytest

* Added publish step and fixed up issues after working with Galaxy

* Unit test improvments

* Fix unit test on 3.5

* Add remaining build tests

* Test fixes, make the integration tests clearer to debug on failures

* Removed unicode name tests until I've got further clarification

* Added publish unit tests

* Change expected length value

* Added collection install steps, tests forthcoming

* Added unit tests for collection install entrypoint

* Added some more tests for collection install

* follow proper encoding rules and added more tests

* Add remaining tests

* tidied up tests and code based on review

* exclude pre-release versions from galaxy API
2019-07-10 05:47:25 +10:00
Miguel Angel Muñoz González
d50531c6bd New Fortinet's module for fortios_user_device (using new httpapi plugin) (#58291)
* New Fortinet's module for fortios_user_device (using new httpapi plugin

* Fix documentation errors

* Update lib/ansible/modules/network/fortios/fortios_user_device.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/modules/network/fortios/fortios_user_device.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/modules/network/fortios/fortios_user_device.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/modules/network/fortios/fortios_user_device.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/modules/network/fortios/fortios_user_device.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/modules/network/fortios/fortios_user_device.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-07-09 15:53:36 +05:30
Andrey Klychkov
88ec5e14cb Add unit tests for lenient_lowercase function (#58586) 2019-07-08 18:33:15 -04:00
Abhijeet Kasurde
79fdc2190a role: Fix role's hash_params (#55263)
* role: Fix role's hash_params

Fix based upon work done by alikins.

Fixes: #20596

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

* review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-07-08 09:25:59 -04:00
Diane Wang
9c140d26d5 VMware: add new module vmware_guest_network (#52075) 2019-07-08 07:54:54 +05:30
Toshio Kuratomi
0c992d5ae4 Fix for skipping of gitlab_runner test.
Correct variable name for skipping of the gitlab test when gitlab python
client is not installed.
2019-07-05 11:47:19 -07:00
Mariusz Mazur
2fb06650a7 kubevirt: even more unit tests (#58593) 2019-07-05 20:35:32 +10:00
Abhijeet Kasurde
96eccda23b
VMware: Add module vmware_vm_storage_policy_info (#56263)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-07-03 16:01:08 +05:30
Ganesh Nalawade
1e3034b96d
junos_facts refactor to work with resources modules (#58566)
* junos_facts refactor to work with resources modules

*  Refactor junos_facts module to work with
   network resource module.

* Fix unit test failures

* Fix review comments
2019-07-03 10:08:45 +05:30
Brian Coca
ee4cba1b85 ensure bytes in run_command (#58411)
* ensure we pass bytes to run_command

* changed tests for new behaviour

* dont b the pytest

* fixes by sivel
2019-07-02 17:07:48 -05:00
Andrey Klychkov
10af2636d1 Add unit tests for human_to_bytes (#58584) 2019-07-01 13:50:54 -04:00
Felix Fontein
f0801879c7 Rename xenserver_guest_facts -> xenserver_guest_info (#57032)
* Rename xenserver_guest_facts -> xenserver_guest_info.

* Add changelog.

* Forgot one test.
2019-06-30 10:04:30 -04:00
Sam Doran
ab6a9ef130
Get minor version number for CentOS and Debian (#57814)
* Get the most detailed version number from distro.version() for CentOS and Debian
* Update tests and fixtures
* Update fixture generation script to gather distro info and work with Python 3
* Update LinuxMint fixtures
* Cleanup fixture formatting
* Improvements based on feedback from abadger:
    - use unicode since that is what distro returns
    - use frozenset with a tuple
    - include link Debian to bug
2019-06-28 19:21:35 -04:00
Sam Doran
6cf6f5a34b
Use atexit to cleanup tmp dirs (#56532)
* Wrap everything in try/except to avoid leaving files behind
* Add unit tests, integration tests, and changelog
* Do text the correct way
2019-06-28 16:19:27 -04:00
Toshio Kuratomi
8acf71f78f
Skip tests with unsatisfied deps (#55853)
* Skip gitlab tests if dependencies aren't met

* Skip certain unittests if passlib is not installed

* Fix tests with deps on paramiko to skip if paramiko is not installed

* Use pytest to skip for cloudstack

If either on Python-2.6 or the cs library is not installed we cannot run
this test so skip it
2019-06-28 13:09:36 -07:00
Sloane Hertel
826f224f02
Handle vaulted non-ascii characters for Python2 (#58503)
* Handle vaulted non-ascii characters for Python2

* Add a test to ensure str() no longer raises UnicodeEncodeError
2019-06-28 13:23:15 -04:00
Olivier Scherler
7ed7d374e4 Fix onepassword lookup plugin and onepassword_facts module when a field has no name. (#58308)
* Fix onepassword lookup plugin crashing on fields with no 'name' or 't' property.

* Fix onepassword_facts module crashing on fields with no 'name' or 't' property.

* Add unit test for onepassword lookup plugin failing on entries without a name.

* Add changelog fragment for onepassword lookup plugin and onepassword_facts module fixes on fields without a name.
2019-06-28 12:37:14 -04:00
Chris Van Heuveln
0868fec8bd nxos_vpc: pkl_vrf fixes for #57069 (#57370)
* nxos_vpc: pkl_vrf fixes for #57069

Fixes #57069

- Symptom: When playbooks specify `pkl_vrf: default`, the result is that the cli does not set the `vrf` state.

- Analysis:
 - First issue: 'default' is a reserved word when used with the `peer-keepalive` `vrf` keyword. It refers to the default rib.
   - This is confusing in several ways because `peer-keepalive`'s *default* vrf is the `management` vrf.

 - Second issue: When changing only one optional value (`pkl_vrf`) while other optional values are idempotent (`pkl_src`), the result is that the idempotent values are ignored; unfortunately the device cli *replaces* the entire command, in which case the idempotent values are removed.
   - e.g. playbook specifies this:
     ```
     { pkl_dest: 10.1.1.1, pkl_src: 10.2.2.2, pkl_vrf: my_vrf }
     ```

     ```
     peer-keepalive dest 10.1.1.1 src 10.2.2.2             # original

     peer-keepalive dest 10.1.1.1 src 10.2.2.2 vrf my_vrf  # intended result

     peer-keepalive dest 10.1.1.1 vrf my_vrf               # actual result
     ```

 - Third issue: the `pkl` getter was relying on positional data. This broke when the `udp` keyword nvgen'd where `vrf` used to appear (shifting all keywords to the right).

- Tested on regression platforms: `N3K,N6k,N7K,N9K,N3K-F,N9K-F`

* PEP fixes

* PEP fix 2

* pkl should merge by default, not override

* rmv debugs

* add mike's tests

* fix comments
2019-06-28 16:18:46 +05:30
Daniel Mellado Area
db689f7221 Fix ovsdb module not being idempotent (#57735)
openvswitch_db was not parsing properly some arguments, which caused
some commands to be executed when they shouldn't. This commit fixesit
and adds unit testing for the usecase.

Closes-Bug: #55432
Closes-bug: #43858
2019-06-26 10:48:46 -04:00
Matt Martz
e32d60bbcd
Add back _contains_vars method as maybe_template (#58290)
* Add back _contains_vars method as maybe_template. Fixes #58282

* Remove template guard in a few places

* maybe_template sounds like it might template something, rename to is_possibly_template

* Add tests for is_possibly_template
2019-06-25 10:54:37 -05:00
Wojciech Wypior
ac101f7f33 adds initial_hotfix parameter to vcmp guest (#58180) 2019-06-25 15:26:09 +02:00
Mariusz Mazur
06292566ec kubevirt: more unit tests (#57739)
* Add tests for KubeAPIVersion

* Legibility improvements for KubevirtVM tests

* Create units.utils.kubevirt with common stuff

* Add some VMIRS unit tests
2019-06-25 20:06:13 +10:00
rajaspachipulusu17
fc1798cc14 Pluribus Networks ipv6security raguard module with UT (#57031)
* Pluribus Networks ipv6security raguard module with UT
* Doc fixes
2019-06-24 16:29:41 +05:30
Felix Fontein
4a12be31fb docker_* modules: improve error message when docker-py is missing (#57914)
* Improve error for docker modules when docker-py can't be imported.

* Add changelog.

* Mention platform and Python interpreter in more cases.

* Clarify wording.

* Adjust tests.
2019-06-23 06:27:33 -04:00
Wojciech Wypior
30ada17d4f Adds message routing transport module (#58201) 2019-06-21 12:58:02 -07:00
Wojciech Wypior
b8fd2f4df3 adds generic routing peer module (#58189) 2019-06-21 12:56:25 -07:00
Wojciech Wypior
429bf5340e adds module for message routing protocol (#58188) 2019-06-21 12:56:03 -07:00
Wojciech Wypior
0a3a94a493 adds new module to manage firewall schedules (#58187) 2019-06-21 12:55:50 -07:00
Wojciech Wypior
92a1e6845c Adds two modules to manage AFM log profiles (#58186) 2019-06-21 12:55:37 -07:00
Toshio Kuratomi
eb7e4591ae Fix ios test for python2 non-ascii paths 2019-06-21 11:32:28 -07:00
Wojciech Wypior
fbca93b8ad removes args from the code and corrects few missed tests (#58175) 2019-06-21 09:09:39 -07:00
Wojciech Wypior
56b3b1ac56 adds message routing router module (#58191) 2019-06-21 09:09:14 -07:00
Wojciech Wypior
c1f2df4753 adds message routing route module (#58190) 2019-06-21 09:08:56 -07:00
Wojciech Wypior
95e59e7ee7 adds description to bigip snatpool (#58179) 2019-06-21 07:52:46 -07:00
Wojciech Wypior
3531bf3148 fixes issue with ssl protocols ordering (#58177) 2019-06-21 06:46:53 -07:00
Wojciech Wypior
becca36c5e Added new module for remote user management (#58171) 2019-06-21 06:45:29 -07:00
Sumit Jaiswal
58d446e61a
PR to fix where ansible_net_model was not being populated (#58159)
* fix bug 57285

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

* minor fix

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

* adding TC fix related

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

* fix shippable error

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-06-21 16:18:59 +05:30
markafarrell
43872d6b88 Fix netconf guess_network_os to use ssh_config if supplied. (#55199)
* feature: use network_os=auto to trigger network os guessing

* doc: add debug messages

* fix linting

* fix test_netconf_init default network_os is auto

* add documentation

* fix rst errors

* use init lexer

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/plugins/connection/netconf.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/plugins/connection/netconf.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update lib/ansible/plugins/connection/netconf.py

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>

* Update docs/docsite/rst/network/user_guide/platform_netconf_enabled.rst

Co-Authored-By: Sandra McCann <samccann@redhat.com>
2019-06-21 09:04:13 +05:30
Chris Van Heuveln
52c811c841 nxos_bgp_neighbor: Add bfd support (#56932)
* nxos_bgp_neighbor: Add bfd support

- Add support for bfd state in nxos_bgp_neighbor

- Feature Pull Request

- nxos_bgp_neighbor

- Tested on platforms: `N3K,N6K,N7K,N9K`

* bfd T/F now bfd enable/disable

* pep fix ws
2019-06-19 21:23:00 +05:30
Chris Van Heuveln
727a6b405a nxos_ospf_vrf: Add 'bfd' support (#57425)
* nxos_ospf_vrf: Add 'bfd' support

* Add default to bfd doc hdr

* bfd T/F now bfd enable/disable
2019-06-19 21:22:32 +05:30
Chris Van Heuveln
30830a4482 nxos_pim: Add bfd support (#56908)
* nxos_pim: Add bfd support

* Add integration sanity

* minor cleanup

* bfd T/F now bfd enable/disable
2019-06-19 21:22:03 +05:30
Andrey Klychkov
64d0559e9f Postgres module_utils: add get_connect_params + unit tests (#58067)
* add get_conn_params

* add get_conn_params: add to the modules
2019-06-19 06:49:19 -07:00
Rob
feae35ab7e add IAM role assumption to aws_ec2 inventory (#41637)
* add IAM role assumption to aws_ec2 inventory
* Ensure inventory._options has necessary option keys populated since the plugin docs parser isn't accessible to unit tests yet
2019-06-18 15:34:41 -07:00
Guillaume Martinez
ec7b18952b gitlab_runner: Fix idempotency when creating runner (#57833) 2019-06-18 13:12:12 +02:00
Abhijeet Kasurde
cf623fa62f
Terraform: Fix unbound local error (#57044)
* Added Unit tests
* Fixed regression

Fixes: #56934

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-06-17 08:23:59 +05:30
bobdoah
33d0d36eaa AWS: Fix KeyError in aws_secret lookup (#54792) 2019-06-13 17:11:44 -07:00
Mariusz Mazur
51add5aa79 kubevirt: enable/update tests + fix merge_dicts() (#57685)
* Actually run the unit tests and separate them into two files

* Re-add recursion to merge_dicts()

* Update tests to work with current code
2019-06-13 11:07:16 +02:00
Chris Van Heuveln
205f6b1699 nxos_pim_interface: Add 'bfd' support (#57133)
* nxos_pim_interface: Add 'bfd' support

* PEP fixes

* fix copyright date

* bfd states changed from T/F to enable/disable/default
2019-06-12 09:47:41 +05:30
Enno Gröper
1ed7a654ba Improve testing of FactCache (#55739)
* Improve testing of FactCache
2019-06-10 16:26:24 -04:00
Sloane Hertel
598a058afe
[FactCache] define first_order_merge method (#55781)
* Add first_order_merge method

Add test for updating a key that already exists

* changelog
2019-06-10 14:34:06 -04:00
Anton Nikulin
4fa93d5b9b FTD configuration module: fix a bug with response parsing (#57480)
* Update dependence's name to firepower-kickstart

* Check response type before getting attributes

* Add unit test for construct_ansible_facts method

* Update error message
2019-06-10 18:30:35 +05:30
Sajna Shetty
e25269e1b3 Adding dell ome device_info module (#53438)
* Adding device_facts module for contribution

* changes added for pylint error

* Updated code to solve ansible-test compile error

* Changes to avoide comile error added

* Review Comments changes update

* Avoided blank line

* pylint error changes

* Removed ansible_facts return in error case

* Updated description

* modules renamed

* changing from ansible_facts to device_info

* avoide pep8 error

* Updated sample output

* version changed to 2.9

* Changed Copyright license to BSD

* Changed 3-clause BSD license to 2-clause BSD

* Added unit test support for ome_device_info

* version change

* removed pylint error in unit test modules

* Avoid Sanity error for unit test modules

* updated version
2019-06-10 06:41:48 -04:00
Chris Archibald
a58570f1bc na_ontap_snapshot_policy: Add ability to multiple schedules (#57366) 2019-06-10 09:24:25 +02:00
Chris Van Heuveln
bd844bc11c nxos_interface_ospf: Add bfd support (#56807)
* nxos_interface_ospf: Add bfd support

Add support for `bfd` state in `nxos_interface_ospf`

- Feature Pull Request

`nxos_interface_ospf`

* Fix pep issues

* sanity loop: syntax

* bfd states changed from T/F to enable/disable/default

* doc hdr fixes
2019-06-07 09:58:29 +05:30
Matt Martz
728fce0c44 Perf improvement for Templar.is_template (#57489)
* Faster is_template
2019-06-06 15:49:26 -04:00
Chris Van Heuveln
7aa0d26fda nxos_bfd_global / NxosCmdRef initial commit (#56317)
* nxos_bfd_global: initial commit

This is an initial POC with just a few commands included.  The code has been written somewhat generically so that it can act as a best practices template for re-use in future modules. The implementation follows the yaml cmd_ref style to define each command's getter/setter/type/default. It supports platform-specific defaults.

The basic logic is to collect all relevant data in a `cmd_ref` dict and pass that around to various methods.

In the BFD case the devices don't provide JSON output so we have to screen-scrape with show runs.

BFD does not support present/absent states so there is no state param.

BFD has three different property types to handle. We can add add'l types as needed:

- int
- int_list (list of ints)
- str (needs support for 'no' keyword)

* Use get_capabilities to find platform type

* PR comment fixes, round 1

* Minor cleanups

* nxos_bfd_global: create NxosCmdRef in module_utils

This commit just takes the latest bfd global code and moves the bulk
of the code into new `class NxosCmdRef` in `module_utils/nxos/nxos.py`.

The only remaining code in `nxos_bfd_global.py` are the calls from `main()`.

* Add remaining command properties and documentation

* update argument_spec

* Add check for _exclude; add sanity test

* Add targets files for bfd

* Context and state absent updates

* Add dict support to cmd_ref

* Changed remaining list commands to dict usage

* Add idempotence check for dict

* Fix existing overwrite bug

* Move pattern matching logic into its own method

* add support for 'command: absent'

* Add `get_platform_shortname`; update BFD platform-specific settings

* /absent/deleted/

* /sh/show/ in prepare_nxos_tests

* add dict check to get_platform_shortname

* Add normalize_defaults()

* UTs for bfd_global

* support yaml for both py2/py3

* update cmd_ref doc header

* Fix python2.6 incompatibility with dict comprehensions

* Fix bfd_global doc header (yaml syntax fail)

* more shippable fixes

* yet more shippable fixes

* shippable: remove r' ' wrappers

* docfix - remove ':'

* escape regex ctl chars in yaml table

* remove extra blank lines

* Fix str(None) issue

* Command context updates

* import PY2,PY3 instead of import sys

* fix ordereddict import & parent_context

* try/except for yaml import

* fix import issue for ordereddict

* remove epdb

* nxosCmdRef_import_check() workaround for shippable

* fix PEP ws errors
2019-06-06 15:52:55 +05:30
Daniel Mellado Area
091bebcbf7 Add support for vlan update on ovs bridges (#57168)
This commit adds support for vlan update on openvswitch_bridge module.
2019-06-05 10:32:14 -04:00
Chris Archibald
57b3160f13 new feature (#57320) 2019-06-04 13:57:54 -04:00
Abhijeet Kasurde
ee8a607cca ipaddr: Handle network address in ipmath (#57149)
* Updated testcase, documentation

Fixes: #54457

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-06-04 14:01:18 +05:30
Chris Van Heuveln
6bb13bbb84 nxos_vlan: fix broken purge behavior (issue #57101) (#57229)
* nxos_vlan: fix broken purge behavior (issue #57101)

Symptoms/Analysis:
- `nxos_vlan` `purge: true` would fail when `purge` was trying to delete all unspecified vlans, including vlan 1.
- `nxos` devices do not allow removing vlan 1 and raise a cli exception error
- Previous fix #55144 caused a side effect when `purge` was used: vlan changes specified by `aggregate` were ignored; e.g.
 - vlan 4 is not present; playbook specifies `aggregate: { vlan: 4 }, purge: true`
 - results in proper purging but vlan 4 is not created

Solutions:
- ignore vlan 1 when purging
- remove the `not purge` check from state present logic

Added additional unit tests and integration tests.
Tested against all regression platforms.

* PEP fixes

* Add agg_show_vlan_brief.txt fixture

* Add warning for removing vlan 1

* change method name check
2019-06-04 09:14:09 +05:30
Andrey Klychkov
3e06013eb6 unittests for module_utils.common.removed.removed_module function (#57214) 2019-06-03 11:12:12 -04:00
rajaspachipulusu17
6b2688245e Pluribus Networks ipv6security raguard port module with UT (#57033)
* Pluribus Networks ipv6security raguard port module with UT

* Dox fix
2019-06-03 11:44:28 +05:30
rajaspachipulusu17
b8a317c527 Pluribus Networks vrouter packet relay module with UT (#57155)
* Pluribus Networks vrouter packet relay module with UT

* Doc fix
2019-06-03 11:43:29 +05:30
Matt Martz
8bd4e2a144 cert validation fixes - Attempt 2 (#55953)
* Attempt 2 of cert validation fixes

* Remove unused code

* Cleanup the tmp cert using atexit

* Fix linting issues

* Only add SSLValidationHandler when not HAS_SSLCONTEXT

* Catch value errors on non PEM certs

* Only catch NotImplementedError to avoid masking issues

* set self._context even with PyOpenSSLContext for conformity

* Fix error building

* normalize how we interact with the context we create

* Remove unused code

* Address test for py3.7 message difference

* open_url should pass the ca_path through

* Account for new error in url lookup test

* Guard some code behind whether or not we are validating certs

* Make _make_context public

* Move atexit.register up to where the tmp file is created
2019-05-31 16:35:25 -04:00
Sviatoslav Sydorenko
4c7fff315e
Fix module_utils.common.test_collections testsuite
PR #57181
2019-05-31 13:40:18 +02:00
Andrey Klychkov
bf25889bfd test_postgres: fix typos 2019-05-30 07:18:30 -07:00
Andrey Klychkov
01ed7a489a Add unit tests for lib/ansible/module_utils/common/text/converters.py (#56915)
Co-Authored-By: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
2019-05-30 09:22:53 -04:00
Felix Fontein
61b48778a7
Rename _facts -> _info (#57028) 2019-05-28 13:43:04 +02:00
rajaspachipulusu17
19a78bdc7b Pluribus Networks vrouter bgp module with unit test cases (#56434)
* Pluribus Networks vrouter bgp module with unit test cases
* Sanity fixes
2019-05-27 11:53:57 +05:30
Andrey Klychkov
86354ff1fb postgresql: remove depricated lib (#56641) 2019-05-24 15:08:16 -04:00
Wojciech Wypior
fca2a4c68b adds ltm policy to bigip facts (#56926)
facts no longer return changed but queried status in results
2019-05-24 10:12:43 -07:00
Yury V. Zaytsev
d88d71e4b1 route53_zone: return existing zone id in check mode (#56702)
* Returns zone ID for existing zone or `null`
* route53_zone: add module unit tests
* route53_zone: add compatibility with Python 2.6 to the unit tests
* route53_zone: address pycodestyle warning (add blank line)
2019-05-24 16:28:55 +05:30
Sam Doran
8f4f3750fe
Ensure uri module always returns status even on failure (#56240)
- Also return url and update docs for other values to indicate they are only returned on success.
- Add integration tests
- Use info variable for common return values
- Use -1 as default status rather than None. This is lines up with with existing code in urls.py
- Add unit tests to ensure status and url are returned on failure
2019-05-23 10:17:17 -04:00
Matt Martz
493cf817a9 Don't rely on netloc for determining hostname and port, just use hostname and port (#56270)
* Add changelog fragment
* Fix IPv6 address parsing for py2.6, and add tests
* make sure hostname isn't None
2019-05-20 16:50:54 -04:00
EvgenyF
ea4842c0d3 Changing the license to Apache 2 2019-05-20 10:14:32 -07:00
Martin Krizek
34e9d6781b Templar: encapsulate _available_variables (#55435)
Ensure variables are reset between iterations
2019-05-20 11:49:54 -04:00
rajaspachipulusu17
8c29c78e22 Pluribus Networks vrouter loopback interface module with UT (#56450)
* Pluribus Networks vrouter loopback interface module with UT

* Sanity fixes
2019-05-20 12:04:05 +05:30
rajaspachipulusu17
7a615a9e0e Pluribus Network vrouter ospf module with unit tests (#56435)
* Pluribus Network vrouter ospf module with unit tests

* Sanity fix

* Doc fixes
2019-05-20 12:02:05 +05:30
Andrey Klychkov
386cef18ed module_utils.postgres: added unittests (#56381) 2019-05-17 23:33:45 -07:00
Andrey Klychkov
f1b5836836 lib/ansible/parsing/ajson.py: added UNIT-tests (#56398) 2019-05-17 23:29:42 -07:00
anasbadaha
5a7bce1f8d Adding New Model onyx_qos for Configuring QoS on Onyx Switches (#55127)
* Adding New Model onyx_qos for Configuring QoS on Onyx Switches

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_qos

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures phase 2

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Samer's Comments on onyx_qos Module

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Shippable Comments Phase 3

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Current Version 2.9

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-17 14:20:56 -04:00
James Tanner
940d58e1b3 Nullify improperly licensed test file 2019-05-15 13:57:36 -04:00
Gonéri Le Bouder
cf78759f5b vmware_vm_facts: fix the support with regular ESXi
Ensure the module still work with the ESXi where CustomFieldsManager
does not exist.

From: https://www.vmware.com/support/developer/converter-sdk/conv60_apireference/vim.CustomFieldsManager.html

    The CustomFieldsManager object is used to add and remove custom fields to
    managed entities.
    The custom fields values set on managed entities are available through the
    customValue property and through the summary objects for VirtualMachine
    and HostSystem. They are not available directly through this managed object.
    This functionality is only available through VirtualCenter.

Fixes: #56071
2019-05-13 17:25:16 -04:00
anasbadaha
0f852f01c0 Adding Support For EVPN in BGP Module (#55503)
* Adding Support For EVPN in BGP Module

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_bgp.py

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_bgp.py Phase 2

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Samer's Comments

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Remove file Variable

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-11 08:21:10 -04:00
anasbadaha
0cb0fa918f Adding Support for NVE Protocol in onyx_protocol (#55513)
* Adding Support for NVE Protocol in onyx_protocol

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_protocol.py

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-11 08:09:48 -04:00
anasbadaha
031655def0 Adding Support for Traffic Class in Onyx Switches (#55577)
* Adding Support for Traffic Class in Onyx Switches

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Enhancing the code and elemenating code duplicate

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-05-11 08:08:52 -04:00
vicmunoz
ecdb616954 NetApp ONTAP module for manage ipspaces (#49821)
* NetApp ONTAP module for manage ipspaces

* fixes for ci_cd and code layout

* indentation fixes

* code style fixes

* fixing yamllint issue

* unit test for module na_ontap_ipspace

* fixing sanity tests

* change pytest.skip to pytest.mark.skip

* adding ansible version to 2.9
2019-05-10 11:24:02 -04:00
Felix Fontein
bd47e64bc7 Hetzner failover IP: refactoring (#56203)
* Rename helper function.

* Extract hetzner.py module_utils.

* Rewrite docs.

* Add module docs fragment.

* Split up get_failover function.

* Add tests for new function.

* hetzner_pass -> hetzner_password

* Move common argspec to module_utils.
2019-05-10 08:33:51 +02:00
zengchen
d8314e1a45 refactor moudule utils of hwc_utils.py (#55858)
* use navigate_value instead navigate_hash

* add async wait method

* update dict compare

* remove unuse methods

* not all modules have timeouts parameter

* navigate_value, the input data may be None
2019-05-09 09:04:51 -04:00
rajaspachipulusu17
458b473d06 Pluribus network prefix list module (#55686)
* Pluribus network prefix list module

* Doc fix and unit test fix

* Added default value with args spec change

* Sanity fix
2019-05-09 10:31:06 +05:30
Trishna Guha
2e8a3efccb
Revert nxos, ios, iosxr return_timestamps (#56206)
* Revert "nxos_command:run_commands results failure when commands array size >1 (#52670)"
This reverts commit 0df5b92af3.
* Revert "added timestamps to nxos_command module (#50261)"
This reverts commit e150943314.
* Revert "added timestamps to ios_command module (#50323)"
This reverts commit 2a432a093b.
* Revert "added response_timestamps to iosxr_command module (#50095)"
This reverts commit 2a0c356da9.
2019-05-08 20:49:29 +05:30
Trishna Guha
57e0567310
fix nxos_vlan mode idempotence bug (#55144)
* fix nxos_vlan mode idempotence bug

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

* Fix CI failure

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-05-08 11:19:15 +05:30
Felix Fontein
ba9fee6c37 Hetzner failover IP module (#56103)
* First version of Hetzner failover IP module.

* Extend module.

* Add comments.

* Add basic unit tests.

* Add more tests.

* Tests for set_failover.
2019-05-07 19:11:15 +02:00
Anatoly Pugachev
6e73150244 refactor iscsi network facts module, remove external grep call, add unit test (#55643)
* remove external grep call and parse with python
* use function for repeated code
* use module.get_bin_path() for iscsiutil on HPUX
* some code opt for HPUX
* clean up non-module code, module being defined is a requirement for this code
* import get_bin_path() directly and use without module prefix
* Add integration tests for AIX and HP-UX
* add changelog fragment
* Apply suggestions from code review
Co-Authored-By: mator <matorola@gmail.com>
* Apply suggestions from code review #2
Co-Authored-By: Sam Doran <sdoran@redhat.com>
* Remove strict requirement on executable to exist for get_bin_path() as
it will allow facts gathering to continue without an error. Almost all
other files under facts do not have "required=True" (except 2 files,
which should be probably fixed). And check return value for
get_bin_path() , before run attempt.

* add check for AIX lsattr run_command return code
2019-05-07 12:26:20 -04:00
rajaspachipulusu17
5309d6c131 Pluribus networks fabric local module with UT (#55872)
* Pluribus networks fabric local module with UT

* Sanity fix

* Ansible doc standards

* Unit test fix
2019-05-02 18:34:29 +05:30
Anatoly Pugachev
b9af6847c2 network facts, add unit test for FC WWN (#55848)
* use 'None' as return value for get_bin_path and set return code to non-zero on run_command error
2019-04-30 17:26:00 -04:00
Sam Doran
b3ce3fc5eb
Restore ansible --version output (#55728)
* Add custom action class for version info
* Use args from CLI as prog for ArgumentParser object
* Make prog a required parameter of create_base_parser() and update all uses to pass in the newly required parameter.
* Add unit test for checking ansible --version
* Update other related unit tests
2019-04-29 16:38:31 -04:00
Matt Clay
272bb8da7a Fix test_postgresql dependency analysis. 2019-04-25 10:00:49 -07:00
Matt Martz
2732cde031
Support using importlib on py>=3 to avoid imp deprecation (#54883)
* Support using importlib on py>=3 to avoid imp deprecation

* Add changelog fragment

* importlib coverage for py3

* Ansiballz execute should use importlib too

* recursive module_utils finder should utilize importlib too

* don't be dumb

* Fix up units

* Clean up tests

* Prefer importlib.util in plugin loader when available

* insert the module into sys.modules

* 3 before 2 for consistency

* ci_complete

* Address importlib.util.find_spec returning None
2019-04-25 10:28:18 -05:00
Matt Martz
db6cc60352
Migrate command line parsing to argparse (#50610)
* Start of migration to argparse

* various fixes and improvements

* Linting fixes

* Test fixes

* Fix vault_password_files

* Add PrependAction for argparse

* A bunch of additional tweak/fixes

* Fix ansible-config tests

* Fix man page generation

* linting fix

* More adhoc pattern fixes

* Add changelog fragment

* Add support for argcomplete

* Enable argcomplete global completion

* Rename PrependAction to PrependListAction to better describe what it does

* Add documentation for installing and configuring argcomplete

* Address rebase issues

* Fix display encoding for vault

* Fix line length

* Address rebase issues

* Handle rebase issues

* Use mutually exclusive group instead of handling manually

* Fix rebase issues

* Address rebase issue

* Update version added for argcomplete support

* -e must be given a value

* ci_complete
2019-04-23 13:54:39 -05:00
Alex Stephen
e298de0986 GCP deprecations (#53355)
* gcdns_record deprecation

* gcdns_zone deprecation

* gcp_forwarding_rule deprecation

* gcp_url_map deprecation

* gcspanner deprecation

* gcp_healthcheck deprecation

* porting guide

* test failures

* forgot to rename

* deprecating

* porting guide changes

* unit test fixes

* changing ignores
2019-04-18 15:30:27 +01:00
Anatoly Pugachev
de3bd8b791 extends linux cpuinfo test unit with sparc64 data (#55394)
* added debian sparc64 ldom cpuinfo

* updated linux data test unit with sparc64 cpuinfo
2019-04-17 12:00:17 -04:00
Matt Martz
9f83139dcb
Don't register tests as filters (#55332)
* Don't register tests as filters. Fixes #55319

* Remove tests for deprecated functionality

* Remove no-tests-as-filters sanity tests

* Remove docs too

* Revert "Remove docs too"

This reverts commit 7daf457a742e67ec6e91964852c7f804507b46b8.

* Make no-tests-as-filters doc an orphan
2019-04-16 14:10:14 -05:00
Anatoly Pugachev
b28c73af62 Fixes solaris (sunos) uptime in ansible facts module (#54626)
* correct uptime on solaris by using system boot_time instead of snaptime
* add unit test
2019-04-15 18:01:24 -04:00
Toshio Kuratomi
a1c8fc37e8 Remove modules which have ended their deprecation cycle
* Remove code but leave the metadata so that they can be listed as
  removed in documentation.
* Remove removed modules from validate-modules ignore
* Remove unittests for the removed nodules
* Remove links to removed modules and add list of removed moduels to the
  2.9 porting guide
2019-04-12 12:57:35 -07:00
Nathan Dines
5eb3117822 Added the OnFailure option to the AWS CloudFormation module (#52431)
* Added the OnFailure option to the AWS CloudFormation module

* Added unit tests for CloudFormation `on_create_failure`
2019-04-12 09:18:06 -07:00
Brian Coca
e40832df84
become mixin is no more (#54002)
* become mixin is no more
  since sudo/su keywords are removed in 2.9 .. no need to keep this code around
 * also don't need test for code that is removed
 * made preprocess_data on base noop
   its not used by anything anymore, but kept for backwards compat since other methods of same name are used
2019-04-12 12:13:55 -04:00
anasbadaha
2cc91e26e0 Adding Support For Vxlan In Onyx Switches (#55081)
* Adding Support For Vxlan In Onyx Switches

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_vxlan.py

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_vxlan phase 2

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Shippable failures

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Samer's Comments on PR

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-04-11 20:59:11 +05:30
Swartz, Nathan
5e3a7ec1f5 Improve netapp_e_volume module and add unit tests.
netapp_e_volume was refactored for maintainability and its documentation
was improved for better clarity.
2019-04-11 11:16:45 -04:00
anasbadaha
9bd060292e Adding New Model for Configure Buffer Pool on Onyx Switches (#55082)
* Adding New Model for Configure Buffer Pool on Onyx Switches

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 Failures in onyx_buffer_pool.py

Signed-off-by: Anas Badaha <anasb@mellanox.com>
2019-04-11 11:02:08 +05:30
Chris Archibald
e12846f540 Update na_ontap_export_policy_rule to allow multiple rules to be set at once. (#54801)
* update

* add unit tests
2019-04-10 20:48:49 -04:00
Chris Archibald
c51f840faa Allow for multiple LIFS instead of 1 at a time (#54800)
* upload unit tests
2019-04-11 00:15:08 +02:00
Jordan Borean
ebd4462c23
Fix tests for the psrp connection plugin (#55061) 2019-04-10 08:22:48 +10:00
Matt Martz
fbf2d5d2f4
Don't pollute include_variables (#54687)
* Don't pollute include_variables. Fixes #51667. Fixes #54618.

* Rename include_variables to include_args, so we can make the distinction about what they are

* Track args and vars separately

* oops

* oops again

* linting fix

* Add test
2019-04-09 10:14:42 -05:00
Sam Doran
6761fc1475
Update distro unit test (#55003)
Remove test comparing output to platform.linux_distribution() since we are relying on distro.id() and are not concerned about matching the output of platform.linux_distribution()
2019-04-08 16:26:31 -04:00
Chris Archibald
c6f12eea32 push fix (#54916) 2019-04-08 13:11:42 +01:00
Anil Kumar Muraleedharan
f5d97205a0 The module fails on switchport. Check added to fix. (#54970) 2019-04-08 10:41:36 +05:30
Bruno Inec
c637104078 Allow Netbox device modification (#53631)
* netbox_device: Allow device modification

* Add ability to update and existing device
* Allow check_mode
* Fail when device name is missing
* Fail when cannot resolve ID instead of taking ID 1 by default

* netbox_device: Add diff output

* netbox: Some refactoring

* Add diff output and check_mode to netbox_ip_address
* Deduplicate redundant code into netbox_utils

* netbox_utils: A few unit tests
2019-04-07 15:47:11 +05:30
Brian Coca
bda541fa0d
fix missing attribs with dirct module execution (#53875)
* fix missing attribs with dirct module execution
* also make remote tmp handling smarter
 update tests
* set default if attrib does not exist
* add simple test
2019-04-04 09:59:52 -04:00
Claes Nästén
339f6cfcd1 NSO modules now work as expected with NSO 5.X (#54766)
Update NSO modules for NSO 5.0 which change how prefix mapping is made
as a single prefix can have multiple meanings depending on device
being managed
2019-04-03 20:56:35 +01:00
Federico87
48e83c39ba ASA network/service object-group module (#52925)
* add asa_og module

* add test

* fix pep8

* fix some sanity pylint

* fix import error order

* fix import

* replace cmd() method

* rename file and class

* add mock for connection

* fix commands in  replace test function

* fix lines list

* update unit test

* fix 'and' logic for port-object command

* restore previous unit test; fix pep8 and remove debug

* other unit tests

* Add state present, absent, replace

* Update doc; add default for state

* update unit test with state present/absent

* fix typo in unit test

* fix pep8 too many blank lines

* fix show run for service object ASA Ver 8.x

* Add description field; fix bug for state present and absent

* Re-designed module structure for network, service and port objects

* update integration test for new module structure

* fix pep8

* update EXAMPLES and RETURN

* update units tests

* fix module typos in unit test

* removed provider from examples

* fix missing comma in replace test

* fix module name and remove provider

* update license

* remove register; update license; change import order; chage def state

* remove shebang

* fix doc default state

* change import order

* Update year in banner

* fix integration test as set of tasks

* remove arg_spec

* remove extends_documentation_fragment: asa

* Update DOC, remove unused import, change import order
2019-04-03 23:22:45 +05:30
Chris Archibald
ec03ddd336 Multiple fixs for na_ontap_user (#54610)
* Fix ontap user for 9.1

* fix bugs:

* update unit tests
2019-04-01 17:22:48 +01:00
Łukasz Szczęsny
bcdd1dc951 pamd: fix idempotence issue when removing rules (#54105) 2019-04-01 10:18:33 -04:00
Vitalii Kostenko
2176b53a55 Add latest updates from FTD Ansible downstream repository. (#53638)
* Add latest updates from FTD Ansible downstream repository.
 - add a better implementation of the upsert operation;
 - add API version lookup functionality;
 - add filter which remove duplicated references from the list of references;
 - fix minor bugs.

* fix issues outlined by ansibot

* fix argument name for _check_enum_method
2019-04-01 18:08:01 +05:30
Wojciech Wypior
6a27e308dd BIGIP: deprecates TMOS v11.x support for GTM modules (#54543)
* deprecates TMOS v11 support for GTM modules

* correct version

* correct version
2019-03-30 14:52:55 -07:00
zhongjun2
5599b0484f cloud: huawei: Add new module hwc_network_vpc (#54102) 2019-03-30 17:20:54 +01:00
Evgeniy Krysanov
a6a73594ec Add Bitbucket Pipelines SSH key pair module (#54241)
* Add module to manage Bitbucket Pipelines key pairs

* Rename module bitbucket_pipelines_ssh_key to bitbucket_pipeline_key_pair

* Update `version_added` documentation field

* Cosmetic changes

* Apply suggestions from code review

Co-Authored-By: catcombo <evgeniy.krysanov@gmail.com>
2019-03-29 14:13:59 +01:00
Yury V. Zaytsev
c914df354b Add Bitbucket access key module (#54592)
* Add Bitbucket access key module

* Add Bitbucket access key tests

* Remove superseded `bitbucket_deploy_key` module

* Apply suggestions from code review
2019-03-29 14:12:17 +01:00
Evgeniy Krysanov
655d35cd06 Add Bitbucket Pipelines known host module (#54238)
* Add module to manage Bitbucket Pipelines "Known Hosts"

* Rename bitbucket_pipelines_known_host to bitbucket_pipeline_known_host

* Rename `hostname` module param to `name`

* Rename `public_key` module param to `key`

* Fix documentation `version_added` tag

* Remove suppression of deprecation warnings

* Added check availability of package `paramiko`

* Make `paramiko` package optional if `key` is present

* Apply suggestions from code review

Co-Authored-By: catcombo <evgeniy.krysanov@gmail.com>

* Add error messages for invalid username or repository

* Add detection of public key type for key passed as parameter

* Restore Python 2 compatibility

* Fix error message wording
2019-03-29 13:42:15 +01:00
Patryk D. Cichy
43514e9d93 Add a new CloudStack module - cs_traffic_type (#54451)
* Add get_physical_network to AnsibleCloudStack

* Add new module cs_traffic_type
2019-03-28 21:53:32 +01:00
Matt Davis
f86345f777
Collection content loading (#52194)
* basic plugin loading working (with many hacks)

* task collections working

* play/block-level collection module/action working

* implement PEP302 loader

* implicit package support (no need for __init.py__ in collections)
* provides future options for secure loading of content that shouldn't execute inside controller (eg, actively ignore __init__.py on content/module paths)
* provide hook for synthetic collection setup (eg ansible.core pseudo-collection for specifying built-in plugins without legacy path, etc)

* synthetic package support

* ansible.core.plugins mapping works, others don't

* synthetic collections working for modules/actions

* fix direct-load legacy

* change base package name to ansible_collections

* note

* collection role loading

* expand paths from installed content root vars

* feature complete?

* rename ansible.core to ansible.builtin

* and various sanity fixes

* sanity tweaks

* unittest fixes

* less grabby error handler on has_plugin

* probably need to replace with a or harden callers

* fix win_ping test

* disable module test with explicit file extension; might be able to support in some scenarios, but can't see any other tests that verify that behavior...

* fix unicode conversion issues on py2

* attempt to keep things working-ish on py2.6

* python2.6 test fun round 2

* rename dirs/configs to "collections"

* add wrapper dir for content-adjacent

* fix pythoncheck to use localhost

* unicode tweaks, native/bytes string prefixing

* rename COLLECTION_PATHS to COLLECTIONS_PATHS

* switch to pathspec

* path handling cleanup

* change expensive `all` back to or chain

* unused import cleanup

* quotes tweak

* use wrapped iter/len in Jinja proxy

* var name expansion

* comment seemingly overcomplicated playbook_paths resolution

* drop unnecessary conditional nesting

* eliminate extraneous local

* zap superfluous validation function

* use slice for rolespec NS assembly

* misc naming/unicode fixes

* collection callback loader asks if valid FQ name instead of just '.'
* switch collection role resolution behavior to be internally `text` as much as possible

* misc fixmes

* to_native in exception constructor
* (slightly) detangle tuple accumulation mess in module_utils __init__ walker

* more misc fixmes

* tighten up action dispatch, add unqualified action test

* rename Collection mixin to CollectionSearch

* (attempt to) avoid potential confusion/conflict with builtin collections, etc

* stale fixmes

* tighten up pluginloader collections determination

* sanity test fixes

* ditch regex escape

* clarify comment

* update default collections paths config entry

* use PATH format instead of list

* skip integration tests on Python 2.6

ci_complete
2019-03-28 10:41:39 -07:00
Gonéri Le Bouder
fc3064471b virt_net: idempotency of create/stop actions (#53276)
Currently, if we try to stop or start a network two time in a row, the
second call will fail. With this patch:

- we don't recreate a network, if it exists
- we only stop a network if it's active, and so we avoid an exception
  saying the network is not active

* test: mock libvirt

* add integration tests for virt_net

* test: enable virt_net test on RedHat 7 and 8

* ci: use the unsupported alias

* tests that require privileged mode are run in VM

* virt_net/create raise unexpected libvirt exception

* import mock from units.compat

* virt_net: do not call create() on "active" network

* virt_net func test: only clean up the libvirt packages

* test: virt_net: don't use assert_called()

* virt_net: add the destructive alias

* move the test in virt_net dir

* test/virt_net: clean up the network at the end
2019-03-28 21:42:35 +05:30
Anil Kumar Muraleedharan
82d26c8c93 Lenovo cnos vrf (#54188)
* Adding module cnos_vrf to manage VRF Configurations.

* Update cnos_vrf.py

* Adding Functional Tests, Unit Tests and Bug Fixes.

* Fixing discrepancy in description against sample

* Review comments incorporated

* Review comments 2 Done

* Update basic.yaml

* Update test_cnos_vrf.py

* Review comments 3
2019-03-28 19:19:37 +05:30
James Cassell
bc4ef99533 standardize TLS connection properties (#54315)
* openstack: standardize tls params

* tower: tower_verify_ssl->validate_certs

* docker: use standard tls config params

- cacert_path -> ca_cert
- cert_path -> client_cert
- key_path -> client_key
- tls_verify -> validate_certs

* k8s: standardize tls connection params

- verify_ssl -> validate_certs
- ssl_ca_cert -> ca_cert
- cert_file -> client_cert
- key_file -> client_key

* ingate: verify_ssl -> validate_certs

* manageiq: standardize tls params

- verify_ssl -> validate_certs
- ca_bundle_path -> ca_cert

* mysql: standardize tls params

- ssl_ca -> ca_cert
- ssl_cert -> client_cert
- ssl_key -> client_key

* nios: ssl_verify -> validate_certs

* postgresql: ssl_rootcert -> ca_cert

* rabbitmq: standardize tls params

- cacert -> ca_cert
- cert -> client_cert
- key -> client_key

* rackspace: verify_ssl -> validate_certs

* vca: verify_certs -> validate_certs

* kubevirt_cdi_upload: upload_host_verify_ssl -> upload_host_validate_certs

* lxd: standardize tls params

- key_file -> client_key
- cert_file -> client_cert

* get_certificate: ca_certs -> ca_cert

* get_certificate.py: clarify one or more certs in a file

Co-Authored-By: jamescassell <code@james.cassell.me>

* zabbix: tls_issuer -> ca_cert

* bigip_device_auth_ldap: standardize tls params

- ssl_check_peer -> validate_certs
- ssl_client_cert -> client_cert
- ssl_client_key -> client_key
- ssl_ca_cert -> ca_cert

* vdirect: vdirect_validate_certs -> validate_certs

* mqtt: standardize tls params

- ca_certs -> ca_cert
- certfile -> client_cert
- keyfile -> client_key

* pulp_repo: standardize tls params

remove `importer_ssl` prefix

* rhn_register: sslcacert -> ca_cert

* yum_repository: standardize tls params

The fix for yum_repository is not straightforward since this module is
only a thin wrapper for the underlying commands and config.  In this
case, we add the new values as aliases, keeping the old as primary,
only due to the internal structure of the module.

Aliases added:
- sslcacert -> ca_cert
- sslclientcert -> client_cert
- sslclientkey -> client_key
- sslverify -> validate_certs

* gitlab_hook: enable_ssl_verification -> hook_validate_certs

* Adjust arguments for docker_swarm inventory plugin.

* foreman callback: standardize tls params

- ssl_cert -> client_cert
- ssl_key -> client_key

* grafana_annotations: validate_grafana_certs -> validate_certs

* nrdp callback: validate_nrdp_certs -> validate_certs

* kubectl connection: standardize tls params

- kubectl_cert_file -> client_cert
- kubectl_key_file -> client_key
- kubectl_ssl_ca_cert -> ca_cert
- kubectl_verify_ssl -> validate_certs

* oc connection: standardize tls params

- oc_cert_file -> client_cert
- oc_key_file -> client_key
- oc_ssl_ca_cert -> ca_cert
- oc_verify_ssl -> validate_certs

* psrp connection: cert_trust_path -> ca_cert

TODO: cert_validation -> validate_certs (multi-valued vs bool)

* k8s inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* openshift inventory: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* tower inventory: verify_ssl -> validate_certs

* hashi_vault lookup: cacert -> ca_cert

* k8s lookup: standardize tls params

- cert_file -> client_cert
- key_file -> client_key
- ca_cert -> ca_cert
- verify_ssl -> validate_certs

* laps_passord lookup: cacert_file -> ca_cert

* changelog for TLS parameter standardization
2019-03-28 00:19:28 -05:00
Chris Archibald
8dbdd987d8 Fix .encode('hex') call for python3 (#53343)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* documentation changes

* Revert "documentation changes"

This reverts commit 02c369d0414fdff492d90865c903bdade3174261.

* fix encode calls for python3

* fix small issue

* switch to to_text

* Fix string
2019-03-27 16:03:58 +00:00
dgadmin
8de00e3e1c To ipv6 network (#48572)
* Add to_ipv6_subnet function

* Use the correct function for subnet

* Corrected code style and tests

* Corrected testcase assertion

64 bits make 8 octets, or 4 hextets

* Import from correct module directly
2019-03-27 11:20:27 -04:00
Olivier BLIN
1a57daf9b0 Add support for multiple IPv6 addresses in nxos_l3_interface module (#50892)
* Add support for multiple IPv6 addresses in nxos_l3_interface module

Cisco support multiple IPv6 addresses on each interface but only the first
IPv6 is considered by this module. There is no impact on the configuration
but the module is not idempotent.

* Add internal support for IPv6 list
* Fix module idempotency

* Initialize tests for nxos_l3_interface

* Fix IPv4 removal idempotency
* Fix data extraction from nxos config

* Fix silently ignored interfaces in nxos_l3_interface

* Add warning when interface does not exist in nxos config
2019-03-27 10:52:42 -04:00
Chris Archibald
68ad75a56a New Module na_elementsw_cluster_config (#52373)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* New module

* fix author

* update copy right

* fixes
2019-03-27 14:20:52 +00:00
Chris Archibald
194af05832 bug fix (#54430) 2019-03-27 14:14:17 +00:00
Anil Kumar Muraleedharan
8d742d9bff Lenovo cnos user module (#53763)
* Adding cnos_user module to Ansible

* Update cnos_user.py

* Adding Functional test cases and unit test cases.

* Fixing Bug found in testing with Lenovo Mars.

* Review comments incorporated

* Review comments implemented.

* Copy paste mistake
2019-03-27 19:22:05 +05:30
Ujwal Komarla
9384773e1e Exos httpapi (#54405)
* Modify EXOS module utils to utilize 'httpapi' or 'network-cli' connection

* Changes to cliconf plugin to support 'json' or 'text' output for compatibility between network-cli and httpapi

* Add HTTPAPI plugin supportng JSONRPC and RESTCONF for EXOS

* exos_facts modify commands with run script cli2json.py to command dictionary specifying 'json' output
Load appropriate fixtures

* Update exos_config module to utilize the get_diff and get_default_flag functionality.
JSONRPC doesn't work well with pipes, regex MULTILINE

* Support for NOS agnostic 'cli_config' module by implementing 'get_default_flag' and 'get_diff' functionality

* Update Ansible Documentation regarding the connections available for EXOS
2019-03-27 14:44:04 +01:00
Kyryl Galanov
4a5b9bd8eb New lookup module: manifold (#50435)
* New lookup module: manifold

Add Manifold.co integration. The plugin fetches resource credentials
from Manifold service.

* module manifold: fix ansible lint warnings

* module manifold: fix false warning - split test assertion

* manifold module: fix unittest import

* manifold module: fix unittest patch

* manifold module: fix python3 requests getheader error
2019-03-27 07:20:15 -04:00
Alex Stephen
a191ed7b58 More GCP Utils Tests (#53568)
* navigate_hash tests

* remove_nones_from_dict tests

* replace_resource_dict tests
2019-03-27 08:23:58 +00:00
Bojan Vitnik
54d23a8297 XenServer: Minor changes to error messages (#54434)
Changed "." for "!" in some error messages to make error messages uniform across the code.
2019-03-27 09:57:08 +05:30
Chris Van Heuveln
20fb77c49b nxos_interfaces_ospf: fix passive-interface states & check_mode (#54260)
* nxos_interfaces_ospf: fix passive-interface states & check_mode

This fix addresses issues #41704 and #45343.

The crux of the problem is that `passive-interface` should have been treated as a tri-state value instead of a boolean.

The `no` form of the command disables the passive state on an interface (allows it to form adjacencies and send routing updates).  It's essentially an override for `passive-interface default` which enables passive state on all OSPF interfaces.\*
This `no` config will be present in `running-config`.

   \**See `router ospf` configuration.*

Since both enable and disable states are explicit configs, the proper way to remove either of these is with the `default` syntax.

Passive-interface config syntax:
```
  ip ospf passive-interface              # enable  (nvgens)
  no ip ospf passive-interface           # disable (nvgens)
  default ip ospf passive-interface      # default (removes config, does not nvgen)
```

Code changes:

* `passive_interface` param changed from boolean to string, restricted to `true`,`false`,`default`.

* Several passive-interface specific checks were added because the existing module logic tends to test for true or false and doesn't handle the None case.

* Fixed `check_mode`.

Sanity verified on: N9K,N7K,N3K,N6K

* Fix doc header

* Unit tests for passive-interface

* doc fix #2

* Fix indent for SA

* Remove 'default' keyword, restore bool behavior

* remove changes to sanity
2019-03-27 09:15:50 +05:30
Matt Clay
399fc110e7 Use pytest.mark.skip instead of pytest.skip. 2019-03-26 11:10:51 -07:00
Rigel Di Scala
51f38b090e Fix failing test modules due to incorrect use of pytest.skip() (#54282) 2019-03-26 10:51:06 -07:00
Anton Nikulin
c231fc5a7c New module to install images on Cisco FTD devices (#53467)
* Add ftd_install module

* Remove shebangs

* Avoid using enum package

* Update module docs

* Update ftd_install docs

* Update PropertyMock import

* Fixing unit tests

* Move get_system_info and FtdOperations to module_utils

* Update dependency name

* Move Kick assertion to module_utils

* Add a note about Python interpreter for this module
2019-03-26 19:35:53 +05:30
Hannes Ljungberg
be293fbe50 docker_swarm_service: Remove configs and secrets defaults (#54361)
* Remove defaults

* Skip redundant casting

* Indentation fix

* Use generic compare functions

* Add tests for compare functions

* Remove extra whitespace

* Add changelog fragment
2019-03-26 09:45:40 -04:00
Alan Rominger
f2f11341a3 Avoid erroring on host group confusion in keyed groups (#54099) 2019-03-25 16:57:46 -04:00
Sloane Hertel
54be769e8d fix AWS plugin credential precedence for environment variables (#52945)
* fix AWS plugin credential precedence for environment variables

* Allow aliases in direct plugins options

Consolidate precedence fix just in the doc fragment using aliases for mismatched options

* Access options with the option name rather than alias

* fix indentation

* update unit tests

* Improve readability
2019-03-25 16:53:11 -04:00
Abhijeet Kasurde
83be129923
helper: raise Exception when ds is not dict type (#53936)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-25 11:18:33 +05:30
Matt Clay
89a022b6a0 Update handling of the non_local test alias.
Previously the alias disabled all code coverage collection.
Now it only disables Ansible module code coverage collection.
2019-03-22 16:05:24 -07:00
Chris Archibald
6a2b9c2a86 New Module: na_elementsw_cluster_snmp (#52374)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* new module

* fix author

* update copyright date

* test/units/modules/storage/netapp/test_na_elementsw_cluster_snmp.py
2019-03-22 14:18:39 +00:00
Chris Archibald
1e6aa9533c New na_ontap_volume option (#52587)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Update to volume

* fix documentation

* Fix doc
2019-03-22 14:12:18 +00:00
Evgeniy Krysanov
907765a3a5 Add Bitbucket Pipelines variable module (#54049)
* Add Bitbucket pipelines variable module

* Add tests

* Remove parameters check for `absent` state

* Update version_added documentation field

* Minor fixes

* A few additional cosmetic changes

* Move to source_control

* Rename lib/ansible/modules/source_control/bitbucket_pipelines_variable.py to lib/ansible/modules/source_control/bitbucket/bitbucket_pipelines_variable.py

* Reflect directory change

* Move these imports as well

* Rename 'key' parameter (API) to 'name' (GUI)

* Add missing __init__.py files to mark modules

* Rename module (pipeline should be singular)

* Adjust module references and variable names after renaming
2019-03-22 13:17:08 +01:00
James Cassell
530771e6f8 rename rhsm_repository_release to rhsm_release (#53430)
no changelog needed, as it is a new module for 2.8
2019-03-21 10:21:45 -05:00
Sam Doran
ff88bd82b5
Move type checking methods out of basic.py and add unit tests (#53687)
* Move check_type_str() out of basic.py

* Move check_type_list() out of basic.py

* Move safe_eval() out of basic.py

* Move check_type_dict() out of basic.py

* Move json importing code to common location

* Move check_type_bool() out of basic.py

* Move _check_type_int() out of basic.py

* Move _check_type_float() out of basic.py

* Move _check_type_path() out of basic.py

* Move _check_type_raw() out of basic.py

* Move _check_type_bytes() out of basic.py

* Move _check_type_bits() out of basic.py

* Create text.formatters.py

Move human_to_bytes, bytes_to_human, and _lenient_lowercase out of basic.py into text.formatters.py
Change references in modules to point to function at new location

* Move _check_type_jsonarg() out of basic.py

* Rename json related functions and put them in common.text.converters

Move formatters.py to common.text.formatters.py and update references in modules.

* Rework check_type_str()

Add allow_conversion option to make the function more self-contained.
Move the messaging back to basic.py since those error messages are more relevant to using this function in the context of AnsibleModule and not when using the function in isolation.

* Add unit tests for type checking functions

* Change _lenient_lowercase to lenient_lowercase per feedback
2019-03-21 09:40:19 -04:00
Matt Clay
98fdbf6a13 Fix test_oneview_ethernet_network unit test.
Use yaml.safe_load since yaml.load without a loader is deprecated.
2019-03-20 22:13:26 -07:00
Matt Clay
3ea05f7757 Add pypsrp to unit tests and disable failing test. 2019-03-20 14:10:21 -07:00
Felix Fontein
4ced1c693c Docker: mention Docker SDK for Python instead of docker/docker-py (#53917)
* Mention Docker SDK for Python instead of docker-py / docker.

* Docs fixes.

* Add myself as docker_container author.

* Use array syntax for running command.

* Break long lines.

* Avoid failure when docker_version is None.

* Improve docker-py vs. docker note in requirements.

* Canonicalize Docker SDK for Python upgrade instructions.

* Split long line.

* Make it clearer which hostnames are meant.
2019-03-20 13:27:44 -04:00
Chris Archibald
e3b6a07f6e Adds Gather Subset Feature to na_ontap_gather_facts (#53993)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "documentation changes"

This reverts commit 02c369d0414fdff492d90865c903bdade3174261.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "documentation changes"

This reverts commit 02c369d0414fdff492d90865c903bdade3174261.

* Revert "Revert "documentation changes""

This reverts commit fffeb974104f2da047435021e0dce94311e945b1.

* Gather facts

* Revert "Gather facts"

This reverts commit 67bfd54f6780818854b5e5d99db52afef89ac4f2.

* Revert "Revert "Gather facts""

This reverts commit 199c27c520bdfce1fc2dfa685dc953cb56381de2.

* Revert "Gather facts"

This reverts commit fc6d21418123d03af3cedd1903175277b1612856.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "documentation changes"

This reverts commit 02c369d0414fdff492d90865c903bdade3174261.

* Gather facts

* Revert "Gather facts"

This reverts commit 67bfd54f6780818854b5e5d99db52afef89ac4f2.

* Revert "Revert "Gather facts""

This reverts commit 199c27c520bdfce1fc2dfa685dc953cb56381de2.

* Revert "Gather facts"

This reverts commit fc6d21418123d03af3cedd1903175277b1612856.

* revert

* Revert "Revert "documentation changes""

This reverts commit fffeb974104f2da047435021e0dce94311e945b1.

* fix conflicts
2019-03-20 13:56:23 +00:00
Anil Kumar Muraleedharan
7a24ecde86 Lenovo cnos system module (#53764)
* Adding cnos_system module to Ansible.

* Adding UT, Functional test required for cnos_system. Bugs came up are fixed

* Adding more files to the cnos_system suit.
2019-03-20 08:50:45 -04:00
Anil Kumar Muraleedharan
e4a1473a8f Lenovo cnos static route (#53736)
* Adding new module to Ansible viz. cnos_static_route.
2019-03-20 08:47:45 -04:00
Toshio Kuratomi
f5f4948480
Remove nose from unittests (#54055)
* Remove nose from unittests

This PR migrates the last of our unittests from using nose to using
pytest.  We don't need to install nose in our testing environments
anymore
2019-03-19 18:36:45 -07:00
Wojciech Wypior
dcf833d31c adds new module to manage bigip devices on the BIGIQ (#53987) 2019-03-19 15:15:43 -07:00
Wojciech Wypior
e13cb29e23 Refactors main() function and module manager in multiple modules in line with recent changes (#53954)
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
Adds missing Return values to documentation
Removes deprecated modules unit tests
2019-03-19 14:59:14 +00:00
Wojciech Wypior
dcf40d43ea deprecates the old module name (#53972)
adds ha order, ha group and ha load as failover types
refactors main() function and module manager to accomodate new patterns
updates docs
refactors unit tests
2019-03-19 14:58:39 +00:00
Wojciech Wypior
cd1ff016ef deprecates the old package name bigip_iapplx_package (#53988)
Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-19 14:57:57 +00:00
Chris Archibald
309f7e59a3 Add ability to run in Privileged mode to Na_ontap_command (#52343)
* update command

* doc update

* fix review comments
2019-03-19 14:49:58 +00:00
Chris Archibald
3ff20436b6 Modify port would remove and re-add ports on a modify which can results in an error (#53341)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* documentation changes

* Revert "documentation changes"

This reverts commit 02c369d0414fdff492d90865c903bdade3174261.

* Issue with port being removed and added on modify
2019-03-19 14:47:24 +00:00
Wojciech Wypior
9a007799d4 Refactors main() function and module manager in multiple modules in line with recent changes (#53984)
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 23:30:58 -07:00
Wojciech Wypior
1e4dab822b BIGIP: Bugfix.bigiqapplication (#53986)
* adds function to do version checks for bigiq

* adds version limitation to bigiq application modules
Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 23:13:06 -07:00
Wojciech Wypior
648ac17be3 Refactors main() function and module manager in multiple modules in line with recent changes (#53983)
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 23:12:34 -07:00
Wojciech Wypior
348b6e7da9 Refactors main() function and module manager in multiple modules in line with recent changes (#53982)
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 23:12:17 -07:00
Wojciech Wypior
1a411e9c6b Refactors main() function and module manager in multiple modules in line with recent changes (#53981)
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 22:57:00 -07:00
Wojciech Wypior
739df1c348 Refactors main() function and module manager in multiple modules in line with recent changes (#53979)
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 22:40:40 -07:00
Wojciech Wypior
9744ef80a0 BIGIP: Bugfix.multiple modules 3 (#53969)
* Moving comparision functions to compare.py from common.py

* Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 22:03:47 -07:00
Wojciech Wypior
284565c39e Refactors main() function and module manager in multiple modules in line with recent changes (#53974)
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 21:45:18 -07:00
Wojciech Wypior
313e07dfd3 BIGIP: Bugfix.bigip.data.group (#53968)
* Moving comparision functions to compare.py from common.py

* fixes issue with data group elements containing IPs with Route Domains
refactors main() function and module_manager to accomodate new patterns
updates doc variables
2019-03-18 21:25:54 -07:00
Wojciech Wypior
2b00cb592d Adds new module to manage and create ha groups (#53967) 2019-03-18 21:11:24 -07:00
Wojciech Wypior
5be1348081 Fixes issue with sub collection for pool members (#53955)
Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
2019-03-18 20:49:21 -07:00
Wojciech Wypior
fbc8ee0288 Refactors main() function and module manager in multiple modules (#53948)
Improves docs
2019-03-18 20:28:54 -07:00
Chris Archibald
baf255e4c1 Allow comment for na_ontap_svm (#52300)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* updates

* doc changes

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.
2019-03-18 16:53:48 +00:00
Abhijeet Kasurde
3fa39ac818 ec2_vpc_vpn: Add delay and wait_timeout parameter (#53940)
* ec2_vpc_vpn: Add delay and wait_timeout parameter

Fixes: #53481

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

* Fix unit tests

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-18 11:05:51 -05:00
MonsieurBon
eb790cd3c6 Added support for iptables module iprange (#53732) (#53732) 2019-03-18 13:05:04 +00:00
Olivier Bourdon
668f014b3c Add more tests for method option change (#52228) 2019-03-15 09:53:32 +00:00
Lindsay Hill
b92d81cc01 Update slxos_vlan for new SLX-OS versions, linting fixes (#52956) 2019-03-15 08:55:50 +00:00
rajaspachipulusu17
e2d92e82c4 Pluribus Networks network cli terminal and cliconf plugins (#53735)
* Pluribus Networks network cli terminal and cliconf plugins

* Changes in Unit tests and modules according to network_cli connection

* Changes in Unit tests and modules according to network_cli connection
2019-03-15 13:51:50 +05:30
Sam Doran
43a44e6f35
Move utility functions out of basic.py (#51715)
Move the following methods to lib/anisble/module_utils/common/validation.py:

- _count_terms()
- _check_mutually_exclusive()
- _check_required_one_of()
- _check_required_together()
- _check_required_by()
- _check_required_arguments()
- _check_required_if
- fail_on_missing_params() --> create check_missing_parameters()
2019-03-14 21:29:55 -04:00
Sloane Hertel
87ebc56de6 Allow parent groups to be variables or literal (#53649)
* Allow parent groups to be variables or literal, requires {{ }}
* Check strict before failing on templating errors
* Don't add a group if an invalid parent group was provided
2019-03-14 14:22:18 -04:00
Alan Rominger
8c2037aaa9 do not error in case of empty list constructed group (#53748) 2019-03-14 12:27:56 -04:00
Chris Archibald
14d670573a Ability to add port in portset (#52734)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* add ports
2019-03-14 15:39:11 +00:00
Chris Archibald
b5144a36ab New Module: na_elementsw_initiators (#52375)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b42886aebb4d2b2ab27c91c96d97858a.

* new module

* update author

* update copyright

* fixes
2019-03-14 15:38:49 +00:00
Brian Coca
e280f2f7b0
Try to get correct buffer size to avoid races (#53547)
* Try to get correct buffer size to avoid races

  fixes #51393

* fix test, mock buffer function since all is mocked
2019-03-14 11:04:56 -04:00
Sam Doran
55306906cf
Correctly count processors on ARM systems. (#52884)
- Add unit tests for Linux CPU info
- Add cpuinfo output from several systems for unit tests

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-14 10:31:47 -04:00
Chris Archibald
fa2e8d8fe1 New Module: na_ontap_snapshot_policy.py (#52299)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add snapshot policy

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.

* review change
2019-03-14 13:30:51 +00:00
Bojan Vitnik
edcd921258 XenServer: Fix wrong FakeXenAPI module import in unit tests (#53634) 2019-03-14 17:03:52 +05:30
Chris Archibald
0e77eeb205 Merging of broadcast domain and Broadcast domain port (#51978)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add domain ports in to broadcast domain

* ansibot fixes

* Revert "Revert "changes to clusteR""

This reverts commit 2713c75f31cbf81ef1785d6ab9ea5d0d4db9af60.

* Fix author
2019-03-13 18:32:54 +00:00
albinpopote
473596a472 New module: na_ontap_net_subnet (#50491)
* New module: na_ontap_net_subnet

* Sanity tests Fix

* Fix: correct examples

* Fix: examples syntax

* Correction: Sanity 1

* Code review

* Code review + Bugfix

* Add Unit Tests

* Fix Sanity Indentation tests

* FIX: Validator change request

* FIX : Change unit test json fail message

* FIX: Typo ip_ranges in example section

* FIX: Remove NetApp copyright
2019-03-13 18:31:55 +00:00
Chris Archibald
2e47e9fffa Modify na_ontap_net_port NetAppModule module format, allow for multiple ports, unit tests (#52286)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add update to netport

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.

* fix docs

* fix option
2019-03-13 13:06:37 +00:00
Abhijeet Kasurde
8d4343b94c
iptables: implement log_level parameter (#52880)
Fixes: #25100

Based upon https://github.com/ansible/ansible/pull/25118

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-13 18:10:59 +05:30
Abhijeet Kasurde
f0ef4dae05
iptables: Add support for gateway parameter (#53465)
When user specifies the JUMP value to 'tee', gateway is required.
This fix adds new parameter 'gateway' to support this functionality.

Fixes: #53170

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-13 17:47:44 +05:30
Felix Fontein
c2cb82ec14 ACME: add support for IP identifiers (#53660)
* Adding support for IP identifiers according to https://tools.ietf.org/html/draft-ietf-acme-ip-05.

* Add changelog.

* Make sure that the authorizations return value is unchanged for CSRs with DNS-only SANs.

* Remove unneeded import.

* type -> identifier_type

* Python 2.6 compatibility.

* Fix unit tests.

* Add IP address normalization.

* Extend tests.

* Move data into fixtures.

* Adjust BOTMETA.
2019-03-13 10:16:56 +01:00
krisvasudevan
651fc88303 Added support for infoblox member object (#53174)
* changes for member module
2019-03-12 17:48:51 +05:30
Nilashish Chakraborty
9365c0f468
New module for BGP configuration management in Arista EOS (#52722)
* New module for BGP in EOS

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

* Add function to validate input

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

* Fix line indentation

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

* Add integration tests

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

* Fix CI

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

* Fix sanity test failure

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

* Remove unused code

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-03-12 17:31:58 +05:30
Jordan Borean
c8c326d88e
Use unicode string for auto interpreter warnings (#53671)
* Use unicode string for auto interpreter warnings

* Added some unit tests for interpreter selection

* Fix python 3 syntax issues
2019-03-12 14:16:49 +10:00
Brian Coca
f73e03632f
remove obsolete set_play on play_context (#47934)
* remove redundant assignments from play

 - fix unit tests
2019-03-11 18:25:48 -04:00
Matt Clay
887ab35656
Add support for ansible-test --coverage-check. (#53573) 2019-03-11 15:13:09 -07:00
Chris Archibald
1a306ce871 Rewrite of na_ontap_snapshot to follow NetAppModule, add new option to rename snapshot, bug fix to modify snapmirror_label (#52297)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* upadets

* fix docs

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.

* review change
2019-03-11 15:49:59 +00:00
Chris Archibald
48098ba688 Updates to na_ontap_net_route (#49656)
* new option and rewrite

* update documentation

* fix documentation

* Review change

* add comment
2019-03-11 14:43:26 +00:00
Chris Archibald
dbcfb3d0fe Update to na_ontap_firewall_policy (#51976)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Fix issue and unit tests

* update to firewall

* fix import issues

* Revert "Revert "changes to clusteR""

This reverts commit 2713c75f31cbf81ef1785d6ab9ea5d0d4db9af60.

* fix docs

* stop pylint on unicode line, line can only be run in python2

* Review comment

* add pylint skip

* add pylint skip
2019-03-11 13:56:30 +00:00
Trishna Guha
a41028244d
Add platform facts in network facts modules (#51434)
* Add platform facts in network facts modules

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

* Add nxos

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

* Add vyos

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

* Add iosxr

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

* Add junos

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

* fix pep8

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

* update unit test

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

* fix vyos_facts unittest

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

* fix ios_facts unittest

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

* fix iosxr unittests

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

* fix CI failure

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

* fix junos test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-03-11 10:56:39 +05:30
Bojan Vitnik
e775434a52 XenServer: Documentation improvements and fixes for XenServer related modules (#53498)
- More info added to module docs.
 - Fixed errors and typos in module docs.
 - Added parameter types to module docs.
 - Some error messages are fixed and/or changed to be more helpful.
 - Some code comments changed and added.
 - Updated unit tests that test changed error messages.
 - Improved module examples.
 - Improved docs for custom_params xenserver_guest module parameter
2019-03-11 08:56:17 +05:30
ndswartz
26d87a912b Added eseries base with tests (#49269) 2019-03-08 18:13:45 +00:00
Sam Doran
1d91e03119
Ensure Clear Linux parsing is actually parsing a Clear Linux host and all others fall back to NA (#53298)
Fixes a bug where parse_distribution_file_ClearLinux() was called on CoreOS (and probably many other distros) and it returned True since it successfully parses the distribution file. Since this file exists on many Linux distributions and they are a very similar format, add an additional check to make sure it is Clear Linux.

Change the order in which distribution files are processed so NA is last. This prevents a match on CoreOS hosts since they also have /etc/os-release and the called matching function for NA is very general and will match CoreOS.

* Add changelog

* Add unit tests

Only add tests for Clear Linux parsing since that was the cause of this issue.
2019-03-08 10:40:49 -05:00
Jordan Borean
8ef2e6da05 Add support for Windows hosts in the SSH connection plugin (#47732)
* Add support for Windows hosts in the SSH connection plugin

* fix Python 2.6 unit test and sanity issues

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

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

* Add connection_windows_ssh to classifier

* use test dir for inventory file

* Required powershell as default shell and fix tests

* Remove exlicit become_methods on connection

* clarify console encoding comment

* ignore recent SCP errors in integration tests

* Add cmd shell type and added more tests

* Fix some doc issues

* revises windows faq

* add anchors for windows links

* revises windows setup page

* Update changelogs/fragments/windows-ssh.yaml

Co-Authored-By: jborean93 <jborean93@gmail.com>
2019-03-07 16:38:02 -08:00
Sam Doran
bf28b5ceca
Use distro.id() instead of distro.name() (#52199)
* Update sys_info unit tests

* Correct distribution values in hostname.py

* Normalize Rhel to Redhat
2019-03-07 13:25:59 -05:00
Ankit Bhansali
85ba4d7c73 itential iap_start_workflow module (#51238)
* initial commit

* fixed the linting and requests error

* updated test file setup

* updated code as per feedback

* updated test import

* updated test import with unittest

* updated validate certs for https

* updated after pep8 test

* removed under-construction remark

* Initial commit

* removed type for tests

* removed types and added ssl compatibility

* applied return type

* applied return type as dict instead of obj

* applied types in eact field

* tested with a playbook

* modified owner

* added unit test

* following pep8 guidelines

* added mock and unittest separately

* Sanity check using pep8

* added full path on patch
2019-03-07 13:23:40 -05:00
hexdump0x0200
4d407d1781 ios_logging: fix idempotence errors (#53109)
* ios_logging: fix the error checking the existence of "host" destinations (IOS 12)

In the "have" list, records of type "host" do not contain the key "size",
although in the list "want" it is always there. Because of this, the module
assumes that the "host" type destinations is not configured and does it again.
This does not change the configuration on the device, but is redundant and
the status of the task will always be "changed". This patch fixes it.

* ios_logging: fixes #53227

* ios_logging: minor changes in string matching
2019-03-07 17:40:03 +05:30
abirami-n
ce9fc9b912 opx_cps_changes (#51952) 2019-03-07 03:41:36 -05:00
ftntcorecse
be3fe8f364 FortiManager Plugin Module Conversion: fmgr_ha (#52768)
* Auto Commit for: fmgr_ha

* Auto Commit for: fmgr_ha

* Removed about 50 lines of validation in favor of "required_if" clauses.
2019-03-07 12:31:17 +05:30
Sloane Hertel
9687879840
Fix inventory cache interface (#50446)
* Replace InventoryFileCacheModule with a better developer-interface

Use new interface for inventory plugins with backwards compatibility

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

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

* Fix foreman inventory caching

* Add tests

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

* Add some developer documentation for inventory and cache plugins

* Add user documentation for inventory caching

* Add deprecation docs

* Apply suggestions from docs review

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

* Adding mock return value for is_switch_port method
2019-03-06 12:08:53 -05:00
Brian Coca
d241794daa
Add toggle to control invalid character substitution in group names (#52748)
* make add_group return proper name
* ensure central transform/check
* added 'silent' option to avoid spamming current users
  those already using the plugins were used to the transformations, so no need to alert them
* centralized valid var names
* dont display dupes
* comment on regex
* added regex tests
  ini and script will now warn about deprecation
* more complete errormsg
2019-03-06 11:49:40 -05:00
Alan Rominger
56e3597856 Add keyed_groups feature (#52045)
This implements:
- Allow creating keyed group parents
2019-03-05 12:34:34 -06:00
Chris Archibald
04c6f94269 New Module: na_ontap_quotas (#49783)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module na_ontap_quotas

* fix file location

* Fix author

* updates

* Revert "Revert "changes to clusteR""

This reverts commit 1c82958764ea38a91d51d3cfe8a85b418df8f0b8.

* fix author

* Add types
2019-03-05 16:22:31 +00:00
Chris Archibald
af6e4cc75b Add tcp_max_xfer_size option for na_ontap_nfs, plus unit test (#52288)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* updates

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.

* fix docs

* Fix boolean to bool

* Update lib/ansible/modules/storage/netapp/na_ontap_nfs.py

Co-Authored-By: carchi8py <carchi@netapp.com>
2019-03-05 16:04:21 +00:00
Felix Fontein
07fcb60d55 Python 2: accept both long and int for type=int (module options) (#53289)
* Added unit test
2019-03-05 09:39:03 -05:00
ftntcorecse
d1c0df9e92 FortiManager Plugin Module Conversion: fmgr_secprof_web (#52788)
* Auto Commit for: fmgr_secprof_web

* Auto Commit for: fmgr_secprof_web

* Auto Commit for: fmgr_secprof_web
2019-03-05 14:55:43 +05:30
ftntcorecse
7ee7c3cf2c FortiManager Plugin Module Conversion: fmgr_secprof_waf (#52789)
* Auto Commit for: fmgr_secprof_waf

* Auto Commit for: fmgr_secprof_waf

* Auto Commit for: fmgr_secprof_waf
2019-03-05 14:53:30 +05:30
ftntcorecse
60c0069fec Auto Commit for: fmgr_secprof_spam (#53021) 2019-03-05 14:51:33 +05:30
ftntcorecse
55e431de54 Auto Commit for: fmgr_secprof_av (#53022) 2019-03-05 14:49:57 +05:30
ftntcorecse
73e6f15d64 Auto Commit for: fmgr_secprof_wanopt (#53023) 2019-03-05 14:47:51 +05:30
ftntcorecse
d684359997 Auto Commit for: fmgr_secprof_ips (#53024) 2019-03-05 14:44:23 +05:30
ftntcorecse
803c2b4724 New FortiManager Module: fmgr_device_provision_template (#53025)
* Auto Commit for: fmgr_device_provision_template

* Auto Commit for: fmgr_device_provision_template

* Auto Commit for: fmgr_device_provision_template
2019-03-05 14:42:44 +05:30
Sam Doran
aba4bed803
Move _handle_no_log_values() out of basic.py (#48628)
* Rename method and make private
* Use is_iterable, combine transformations
* Remove unused return_values from network modules
* Improve docstrings in new functions
* Add new PASS_VAR
* Add unit tests for list_no_log_values
* Fix unit tests for Python 2.6
2019-03-04 17:02:44 -05:00
ftntcorecse
718a591fb2 New FortiManager Module: fmgr_fwpol_package (#53026)
* Auto Commit for: fmgr_fwpol_package

* Auto Commit for: fmgr_fwpol_package

* Auto Commit for: fmgr_fwpol_package
2019-03-04 16:46:28 +05:30
ftntcorecse
e585e948fb New FortiManager Module: fmgr_fwobj_service (#53027)
* Auto Commit for: fmgr_fwobj_service

* Auto Commit for: fmgr_fwobj_service
2019-03-04 16:43:05 +05:30
ftntcorecse
340aa26edf New FortiManager Module: fmgr_secprof_appctrl (#53028)
* Auto Commit for: fmgr_secprof_appctrl

* Auto Commit for: fmgr_secprof_appctrl
2019-03-04 16:39:48 +05:30
ftntcorecse
29657bdda5 New FortiManager Module: fmgr_secprof_proxy (#53029)
* Auto Commit for: fmgr_secprof_proxy

* Auto Commit for: fmgr_secprof_proxy

* Auto Commit for: fmgr_secprof_proxy
2019-03-04 16:25:02 +05:30
ftntcorecse
421a5c4c91 New FortiManager Module: fmgr_secprof_voip (#53030)
* Auto Commit for: fmgr_secprof_voip

* Auto Commit for: fmgr_secprof_voip
2019-03-04 16:19:50 +05:30
ftntcorecse
8888faf716 New FortiManager Module: fmgr_fwobj_ippool (#53031)
* Auto Commit for: fmgr_fwobj_ippool

* Auto Commit for: fmgr_fwobj_ippool
2019-03-04 16:09:56 +05:30
ftntcorecse
0e9bf838ff New FortiManager Module: fmgr_fwobj_ippool6 (#53032)
* Auto Commit for: fmgr_fwobj_ippool6

* Auto Commit for: fmgr_fwobj_ippool6
2019-03-04 16:07:55 +05:30
Nilashish Chakraborty
e55955d01b
frr: New module for BGP configuration management (#51281)
* Added frr_bgp module

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

* Fix pycodestyle warnings

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

* Fix CI docs issues

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

* Initial test files

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

* Fix dir structure to make CI happy

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

* Fix imports

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

* Fix CI

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

* Fix CI

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

* Split neighbor spec to handle general session and af session

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

* New set of unittests

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

* Fix CI

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

* Fix CI - 2

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

* Update license

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

* Add port option for neighbor

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

* Validate network input

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

* Validate network input

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

* Fix sanity test failure

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

* Add validation for AF and more examples

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-03-04 15:02:56 +05:30
Nilashish Chakraborty
55bfa18c0c
New module to support BGP configuration management in IOS (#49121)
* ios_bgp initial push

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

* Added tests for ios_bgp

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

* Fixed docs

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

* Added space

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

* Fix Shippable Errors

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

* Fix Shippable Errors

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

* Add support for af_neighbor option

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

* Add support for af_neighbor option - 2

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

* Add support for af_neighbor option - 3

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

* Fix typo

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

* Refactor BGP

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

* Fix CI and previous reviews

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

* Add missing params documentation

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

* Remove previous tests

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

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

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

* Added function to validate input

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

* Fix sanity test failure

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

* Minor bug fixes

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

* Fix typo in fixture

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

* Add integration tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-03-04 13:37:57 +05:30
ftntcorecse
13517fe822 FortiManager Plugin Module Conversion: fmgr_device_config (#52765)
* Auto Commit for: fmgr_device_config

* autopep8 changes

* Auto Commit for: fmgr_device_config

* Auto Commit for: fmgr_device_config
2019-03-04 11:25:40 +05:30
ftntcorecse
785c567f72 FortiManager Plugin Module Conversion: fmgr_device (#52767)
* Auto Commit for: fmgr_device

* Auto Commit for: fmgr_device
2019-03-04 11:22:16 +05:30
ftntcorecse
a8f1ad8602 FortiManager Plugin Module Conversion: fmgr_query (#52770)
* Auto Commit for: fmgr_query

* Auto Commit for: fmgr_query
2019-03-04 11:06:12 +05:30
ftntcorecse
c4d29868ca FortiManager Plugin Module Conversion: fmgr_fwobj_address (#52773)
* Auto Commit for: fmgr_fwobj_address

* Auto Commit for: fmgr_fwobj_address

* Auto Commit for: fmgr_fwobj_address

* Auto Commit for: fmgr_fwobj_address

* Commit contains updates to module, unit test, and/or fixture files: fmgr_fwobj_address
2019-03-04 10:59:55 +05:30
Sam Doran
2a98faee2b
Move _handle_aliases() out of basic.py (#48578)
Refinements:
- return legal_inputs and update class properties
- remove redundant arguments from method and handle in caller
- add better exception types to method

* Add unit tests for handle_aliases
2019-02-28 16:43:19 -05:00
Dag Wieers
4e6c113bf0 uri/win_uri: Make method a free text field (#49719)
* uri/win_uri: Make method a free text field

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

* Fix HTTP method check in module_utils urls

* Add integration test for method UNKNOWN

* Clarify the change as requested during review
2019-02-28 15:55:18 -05:00
Bojan Vitnik
88e8330e3e New module: xenserver_guest_powerstate - manages powerstate of XenServer VMs (#49425)
* Initial commit for xenserver_guest_powerstate module
* Added unit tests for the module, removed unused imports
2019-02-28 17:55:05 +05:30
Matt Davis
4d3a6123d5
Python interpreter discovery (#50163)
* Python interpreter discovery

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

* docs revisions for python interpreter discovery

(cherry picked from commit 5b53c0012ab7212304c28fdd24cb33fd8ff755c2)

* verify output on some distros, cleanup
2019-02-27 23:52:02 -08:00
Anil Kumar Muraleedharan
a78c40322c Lenovo cnos logging (#52978)
* Adding the module cnos_logging.py to the module suite from Lenovo
2019-02-27 14:15:56 -05:00
ftntcorecse
ff368ff55d FortiManager Plugin Module Conversion: fmgr_secprof_dns (#52771)
* Auto Commit for: fmgr_secprof_dns

* Auto Commit for: fmgr_secprof_dns
2019-02-27 21:11:33 +05:30
ftntcorecse
e8c983155c FortiManager Plugin Module Conversion: fmgr_secprof_profile_group (#52772)
* Auto Commit for: fmgr_secprof_profile_group

* Auto Commit for: fmgr_secprof_profile_group
2019-02-27 21:08:28 +05:30
ftntcorecse
c37f6bed1c FortiManager Plugin Module Conversion: fmgr_fwobj_vip (#52774)
* Auto Commit for: fmgr_fwobj_vip

* Auto Commit for: fmgr_fwobj_vip

* Auto Commit for: fmgr_fwobj_vip

* Auto Commit for: fmgr_fwobj_vip
2019-02-27 18:11:03 +05:30
ftntcorecse
b1f117ec99 Auto Commit for: fmgr_device_group (#52784) 2019-02-27 12:19:18 +05:30
ftntcorecse
2efacfcdad FortiManager Plugin Module Conversion: fmgr_fwpol_ipv4 (#52785)
* Auto Commit for: fmgr_fwpol_ipv4

* Auto Commit for: fmgr_fwpol_ipv4
2019-02-27 12:15:06 +05:30
ftntcorecse
fa585151c2 FortiManager Plugin Module Conversion: fmgr_script (#52786)
* Auto Commit for: fmgr_script

* Auto Commit for: fmgr_script

* Auto Commit for: fmgr_script
2019-02-27 12:09:27 +05:30
ftntcorecse
bf162e258b FortiManager Plugin Module Conversion: fmgr_secprof_ssl_ssh (#52787)
* Auto Commit for: fmgr_secprof_ssl_ssh

* Auto Commit for: fmgr_secprof_ssl_ssh

* Auto Commit for: fmgr_secprof_ssl_ssh
2019-02-27 12:01:03 +05:30
Farhan Nomani
27804b3b8b Ansible module to enable the user to provision CPGs on HPE StoreServ 3PAR device (#39656)
* Added storage modules and unit tests

Removed unnecessary file

Fixing pep8 issues

Adding reusable documentation to the data fragment file

Fixing issues reported by module validation in documentation

Fixed issues: 10549, 10553

Fixed unit tests

Added future imports and removed license from init py file

Resolved import issue reported by ansible sanity test

Fixed unit tests

Adding CPG management module

Fixing sanity test issues

Resolving line ending issues

Resolved import issue reported by ansible sanity test

Correcting the error message when resource is more than 31 char

Update hpe3par_cpg.py

Fix for defect 10556: Unable to modify volume. Persona not set

Fix for defect 10556: Unable to modify volume. Persona not set

Fixing pep8 changes

Fixed pep8 issues

Added more pep8 related fixes

Added more pep8 related fixes

Fixed rebase issue in cps test

Adding GPL3.0+ License (#7)

* Update hpe3par.py

* Update hpe3par_cpg.py

* Update hpe3par_cpg.py

Adding GPLV3+ only license

Fix anity test

Addressing review comments

Fixing undefined variable error

Addressed review comments and added more unit tests (#8)

Added maintainers

Fixed sanity test

Update test_hpe3par_cpg.py

Renamed the module as per the review comments (#9)

* Added maintainers

* Renaming the module to remove the vendor name from the module

* remove pep8 related issues

Modify the requirements to add version of 3par sdk

Review address (#10)

* Unit is no longer a different paramter in the task

* Fixing unit tests

* Taking into account the default values

Fixing issue with default values

fixing unit test

Adding more flexibility and checks to the size and it's units

Fixed pylint extra line issue

Fixing conflicts in BOTMETA.yml

Made changes according to the review comments

Updating ansible version

Refactored the code to move reusable method to module utils

Modified the GPLv3+ license text according to the review comments. Modified the module utils license to BSD

Corrected the BOTMETA entry. Fixed the pep8 issues

Fixing entries in BOTMETA.yml

Removed ansible version, renamed the version to address the name review comments

Reverting name change for module to revert test failures

Set size and raid type and now reuqired together based on the review comment

Fixed unit tests

Removing default value as raid and set size are now required together

Renaming the modules to ss_3par_*

Resolving the pep8 issues

Added storage modules and unit tests

Removed unnecessary file

Fixing pep8 issues

Adding reusable documentation to the data fragment file

Fixing issues reported by module validation in documentation

Fixed issues: 10549, 10553

Fixed unit tests

Added future imports and removed license from init py file

Resolved import issue reported by ansible sanity test

Fixed unit tests

Adding CPG management module

Fixing sanity test issues

Resolving line ending issues

Resolved import issue reported by ansible sanity test

Correcting the error message when resource is more than 31 char

Update hpe3par_cpg.py

Fix for defect 10556: Unable to modify volume. Persona not set

Fix for defect 10556: Unable to modify volume. Persona not set

Fixing pep8 changes

Fixed pep8 issues

Added more pep8 related fixes

Added more pep8 related fixes

Fixed rebase issue in cps test

Adding GPL3.0+ License (#7)

* Update hpe3par.py

* Update hpe3par_cpg.py

* Update hpe3par_cpg.py

Adding GPLV3+ only license

Fix anity test

Addressing review comments

Fixing undefined variable error

Addressed review comments and added more unit tests (#8)

Added maintainers

Fixed sanity test

Update test_hpe3par_cpg.py

Renamed the module as per the review comments (#9)

* Added maintainers

* Renaming the module to remove the vendor name from the module

* remove pep8 related issues

Modify the requirements to add version of 3par sdk

Review address (#10)

* Unit is no longer a different paramter in the task

* Fixing unit tests

* Taking into account the default values

Fixing issue with default values

fixing unit test

Adding more flexibility and checks to the size and it's units

Fixed pylint extra line issue

Fixing conflicts in BOTMETA.yml

Made changes according to the review comments

Updating ansible version

Refactored the code to move reusable method to module utils

Modified the GPLv3+ license text according to the review comments. Modified the module utils license to BSD

Corrected the BOTMETA entry. Fixed the pep8 issues

Removed ansible version, renamed the version to address the name review comments

Reverting name change for module to revert test failures

Set size and raid type and now reuqired together based on the review comment

Fixed unit tests

Removing default value as raid and set size are now required together

Renaming the modules to ss_3par_*

Resolving the pep8 issues

Update lib/ansible/modules/storage/hpe3par/ss_3par_cpg.py

Co-Authored-By: farhan7500 <farhan7500@gmail.com>

Update lib/ansible/modules/storage/hpe3par/ss_3par_cpg.py

Co-Authored-By: farhan7500 <farhan7500@gmail.com>

Fixed rebase issue

Fixed rebase issuein BOTMETA.yml

* Modified the documentation based on the review comments

* Fixed the pep8 sanity issue

* Moved the doc fragment file based on latest changes

* Reverting inadvertent rebase changes

* Fixed inadvertent change during rebase
2019-02-26 14:09:03 +00:00
Theron Savery
1f7ffe2619 NSO - added validate_certs parameter to allow for ignoring of SSL certificates (#51981)
* added validate_certs paramter to allow for ignoring of SSL certificates

* formatting

* updated NSO unit tests with validate_certs variable

* fixed NSO tests
2019-02-25 14:17:56 +00:00
Jordan Borean
9717bc4bcf
Add laps_password lookup for retrieving a Windows LAPS Password (#52012)
* Add laps_password lookup for retrieving a Windows LAPS Password

* Remove python-ldap from requirements and fix doc typos

* enable unit tests without ldap dependency

* use config options for lookup plugin

* Update docs and tests based on further distro testing
2019-02-25 05:30:12 +10:00
Chris Archibald
7d5418e3d0 New Module: na_ontap_vscan_on_access_policy (#49785)
* changes to clusteR

* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module na_ontap_vscan_on_access_policy

* update author

* remove blank trys'

* switch to int
2019-02-22 12:03:53 +00:00
Dag Wieers
365ded2df6 nmcli: Fix known validate-modules issues (#52493)
This PR includes:
- Adding parameter types
- Fix validate-modules issue
- Improve parameter types and resulting changes

This PR needs to be verified and tested by maintainer(s).
2019-02-22 11:28:57 +00:00
Chris Archibald
740d53011e Change na_ontap_igroup to NetAppModule module format (#52280)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* update to igroup

* fix author

* Revert "Revert "changes to clusteR""

This reverts commit 2c517792115179665d43d74780dc356ca41b9abe.
2019-02-21 19:01:36 +00:00
Chris Archibald
fdc3f16bba New Module: Ontap Igroup initiator (#52281)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add igroup initiator

* fix author

* Revert "Revert "changes to clusteR""

This reverts commit 2c517792115179665d43d74780dc356ca41b9abe.
2019-02-21 16:02:32 +00:00
Chris Archibald
fde2e2d195 New Module: Allow for copy of Luns (#52285)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add lun copy

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.
2019-02-21 16:02:05 +00:00
Chris Archibald
d63794741f New Module: Manage security keys (#52291)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add key manager

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.
2019-02-21 15:35:00 +00:00
Chris Archibald
cf491e8b5b Modify na_ontap_service_processor_network to use NetAppModule, add new option to wait for completion, and unit tests. (#52292)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* updates

* fix docs

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.

* fix docs
2019-02-21 15:34:24 +00:00
Chris Archibald
42fe43a0c7 New options for na_ontap_aggregate (wait_for_online, and time_out) (#52353)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* updates

* fix author

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6cf6a65de339e516f7134a6b6b39cba.

* update copyright

* fix doc
2019-02-21 15:20:03 +00:00
Chris Archibald
a60740a37d New Module: na_ontap_vscan_on_demand_task (#51183)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add vscan on demand task

* fix author line
2019-02-21 15:13:45 +00:00
Chris Archibald
bd8e75a67b Make na_ontap_user idempotent (#51509)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Fix Idempotent issue

* Fix author

* Fix author
2019-02-21 15:11:07 +00:00
Chris Archibald
a722133640 Modify job schedule to allow list of date and times instead of a single datetime (#51510)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* allow for more than 1 time to be set

* move file to correct directory

* Ansibot fixes
2019-02-21 15:04:55 +00:00
Hannes Ljungberg
da8574c567 docker_swarm_service: Allow passing period strings on relevant options (#52530)
* Allow duration to be passed as duration strings

* Remove whitespace

* Add changelog fragment

* Fix broken test

* Better error handling
2019-02-21 11:47:06 +00:00
Anil Kumar Muraleedharan
c9fea2b74b Lenovo cnos lldp (#52568)
* To add new module cnos_lldp.
2019-02-20 17:30:09 -05:00
Alan Rominger
62feba3d15 support deterministic host ordering from group ancestors (#44067)
Fixes #44065
2019-02-20 10:41:25 -05:00
Matt Martz
d1116ef2d8
Remove unused internal -a argument and functionality (#52602) 2019-02-19 17:49:06 -06:00
Martin Krizek
84ba41e0e1 ansible-doc: fix traceback when passing -a arg (#52036)
Fixes #52034
2019-02-19 15:14:28 -05:00
Chris Archibald
f9139be5e6 Added support for nvme, and bug fixes for na_ontap_interface (#52283)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add interface

* updates

* fix author

* Revert "add interface"

This reverts commit 26ef11602e549fee0a6070c1e983c325d08da8df.

* Revert "Revert "add interface""

This reverts commit 4518d537a2b876a8cb0eae4e4cc02f5232c813f3.

* Revert "updates"

This reverts commit 47b58dde021c1dd6aeca6080bffc26b78cf944ea.

* Revert "Revert "changes to clusteR""

This reverts commit 2c517792115179665d43d74780dc356ca41b9abe.
2019-02-19 17:49:59 +00:00
Chris Archibald
1da29c8ebe Update user roles to NetAppModule format (#50992)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Rewrite of user roles

* Rewrite of user roles

* Fix author tag

* update

* fix author
2019-02-19 14:54:49 +00:00
Chris Archibald
c9eb186a94 New Module: Na_ontap_unix_user (#50888)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module na_ontap_unix_user

* update modules

* Update author

* Fix author line

* add na_ontap_unix_user to no-get-exception exception list

* Remove no-get-exception line

* updates

* Revert "updates"

This reverts commit 6771b7fdd78c9f8f7f6fb0fda0858b888c7b753e.

* Revert "Revert "changes to clusteR""

This reverts commit b4b9f9dcc3449deb43d00bf09c4f428559b6ccc0.
2019-02-19 14:36:49 +00:00
Chris Archibald
0c76d8db08 New Module: Na_ontap_flexcache (#50885)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* New module Flexcache

* update documentation string, and copyright date

* fix issues

* Revert "Revert "changes to clusteR""

This reverts commit 4dab6f7607223037ab18e75a3247747f74ffbc8b.
2019-02-19 14:35:29 +00:00
Chris Archibald
b56428c223 Allow to to upgrade more than 1 node at a time. (#50780)
* Updates to software update

* remove ip address

* Fix version

* Update author line

* Review comment
2019-02-19 14:33:49 +00:00
Chris Archibald
c62a6988b1 New parameters and bugfixes for na_ontap_volume (#49511)
* add changes

* Fixed documentation

* Review comment
2019-02-19 14:32:40 +00:00
Naval Patel
90e1c58a00 new module lxca_cmms for Lenovo XClarity Administrator (#49594)
* new module for lxca_cmms

* modified exception and error message

* Removed unused import in test

* Corrected Return block
2019-02-19 08:55:51 -05:00
Bojan Vitnik
922af44d7d Fix a bug that caused exception on XenServer 7.1 with Cummulative Update (#52303)
- xenserver module_util: fixed a bug in gather_vm_params function where
   an exception was generated if XenServer product_version_text_short
   parameter contained non numeric characters, e.g. "7.1 CU1" on
   XenServer version 7.1 with Cummulative Update 1. Code was changed
   to use product_version parameter instead which is all numeric.
 - xenserver module_util: get_xenserver_version function is changed
   to return a list of integers for major, minor and update version
   instead of list of strings.
 - xenserver module_util: unit tests are updated according to changes.
 - xenserver module_util: removed unused imports.
2019-02-19 12:36:57 +00:00
Ganesh Nalawade
41e2bd1df5
Add support for elements validation in argspec (#50335)
* Add support for elements validation in argspec

Fixes #48473

*  Add support to validate the elements value in argspec
   when type is `list`

* Fix unit test failures

* Add unit test for elements validation

* Fix CI failures

* Fix review comments

* Fix unit test and CI failures after rebase
2019-02-19 17:35:20 +05:30
Abhijeet Kasurde
57d85031d7
Parse multiple values for single key in cmdline facts (#49591)
* Facts parsing for cmdline can now handle multiple values for a single key.
* Unit tests for cmdline fact parsing
* Review comments

Fixes: #22766

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-19 15:47:06 +05:30
Matt Martz
77bfcad33a
Support unix socket with urls/uri (#43560)
* First pass at allowing unix socket with urls/uri. See #42341

* Only insert handler as needed

* Fix and add tests

* Add HTTPS functionality for unix sockets

* Additional test fixes

* Create context manager for monkey patching HTTPConnection.connect, de-dupe code, raise better errors

* doc

* Add a few more tests

* Fix __call__

* Remove unused import

* Patch HTTPConnection.connect with the functionality we want, instead of duplicating code and disabling

* Fix var name

* Remove unused var

* Add changelog fragment

* Update uri docs

* Fix rebase indentation issue
2019-02-18 10:21:42 -06:00
Nilashish Chakraborty
bc403dbcda
Added new module - frr_facts (#51804)
* Add new module frr_facts

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

* Fix return value

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

* Fix review comments

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

* Fix review comments

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

* Handle empty row for mpls ldp neighbors

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

* Fix review comments

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

* Fix CI

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

* Remove timestamp from cliconf pluging

* Updated examples

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

* Fix sanity tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-02-18 19:35:40 +05:30
Hannes Ljungberg
18b968d486 docker_swarm_service: Add healthcheck option (#52419)
* Define yaml versions as strings

* Add healthcheck option

* Add changelog fragment

* Don’t set version_added as strings

* Use single quoted string

* Disable healthcheck tests on python 2.6

* Bring back quoting on already quoted version-added

* Python 2.6 compat

* Move functions to docker-common

* Move parse_healthcheck to docker-common

* Cast exception to str before printing failure

* Extend parse_healthcheck tests
2019-02-18 09:46:14 +00:00
Abhijeet Kasurde
fad6443e58
Distribution: Add support for Linux Mint 18.3 (#52224)
* Distribution: Add support for Linux Mint 18.3
* Review comments

Fixes: #52210

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-18 08:28:04 +05:30
Matt Clay
f5c92f6bc1
Allow setting resource.RLIMIT_NOFILE in modules (#51989) 2019-02-15 17:52:35 -08:00
Sviatoslav Sydorenko
f1e67c3328 Bugfix/ fix mocker patch in tests (#52372)
* 🐛 Fix invalid os.stat mock in tests

* 🐛 Fix leaking mock patch in tests

Closes #52347
2019-02-15 13:58:26 -08:00
Martin Krizek
50d7483632
Native Jinja2: raise undefined error immediately (#52237)
Fixes #52158
2019-02-15 19:36:12 +01:00
Abhijeet Kasurde
db03f88b63
distribution: Add support for Cumulus Linux (#52309)
* Refactored code
* Added support for Cumulus Linux 2.5.4
* Added support for Cumulus Linux 3.7.3
* Test added

Fixes: #29969

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-15 22:30:51 +05:30
japokorn
68d43130d0 New LUKS devices management module (#48991)
* New LUKS devices management module

- new module that uses cryptsetup (LUKS) functions for management
of encrypted devices
- unit tests included

* New LUKS devices management module

- modified interface by removing 'open' option and moving its functionality
into 'state' option
2019-02-15 09:25:14 +00:00
Dag Wieers
cd9471ef17 Introduce new 'required_by' argument_spec option (#28662)
* Introduce new "required_by' argument_spec option

This PR introduces a new **required_by** argument_spec option which allows you to say *"if parameter A is set, parameter B and C are required as well"*.

- The difference with **required_if** is that it can only add dependencies if a parameter is set to a specific value, not when it is just defined.
- The difference with **required_together** is that it has a commutative property, so: *"Parameter A and B are required together, if one of them has been defined"*.

As an example, we need this for the complex options that the xml module provides. One of the issues we often see is that users are not using the correct combination of options, and then are surprised that the module does not perform the requested action(s).

This would be solved by adding the correct dependencies, and mutual exclusives. For us this is important to get this shipped together with the new xml module in Ansible v2.4. (This is related to bugfix https://github.com/ansible/ansible/pull/28657)

```python
    module = AnsibleModule(
        argument_spec=dict(
            path=dict(type='path', aliases=['dest', 'file']),
            xmlstring=dict(type='str'),
            xpath=dict(type='str'),
            namespaces=dict(type='dict', default={}),
            state=dict(type='str', default='present', choices=['absent',
'present'], aliases=['ensure']),
            value=dict(type='raw'),
            attribute=dict(type='raw'),
            add_children=dict(type='list'),
            set_children=dict(type='list'),
            count=dict(type='bool', default=False),
            print_match=dict(type='bool', default=False),
            pretty_print=dict(type='bool', default=False),
            content=dict(type='str', choices=['attribute', 'text']),
            input_type=dict(type='str', default='yaml', choices=['xml',
'yaml']),
            backup=dict(type='bool', default=False),
        ),
        supports_check_mode=True,
        required_by=dict(
            add_children=['xpath'],
            attribute=['value', 'xpath'],
            content=['xpath'],
            set_children=['xpath'],
            value=['xpath'],
        ),
        required_if=[
            ['count', True, ['xpath']],
            ['print_match', True, ['xpath']],
        ],
        required_one_of=[
            ['path', 'xmlstring'],
            ['add_children', 'content', 'count', 'pretty_print', 'print_match', 'set_children', 'value'],
        ],
        mutually_exclusive=[
            ['add_children', 'content', 'count', 'print_match','set_children', 'value'],
            ['path', 'xmlstring'],
        ],
    )
```

* Rebase and fix conflict

* Add modules that use required_by functionality

* Update required_by schema

* Fix rebase issue
2019-02-15 10:57:45 +10:00
Chris Archibald
6a06e9f485 New Module: na_ontap_nvme (#51182)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add new module nvme
2019-02-13 20:36:58 +00:00
Matt Martz
b34d141eed
Disallow use of remote home directories containing .. in their path (CVE-2019-3828) (#52133)
* Disallow use of remote home directories containing .. in their path

* Add CVE to changelog
2019-02-13 10:38:28 -06:00
Juan Antonio Osorio
9f081ca04f identity: Add GSSAPI suport for FreeIPA authentication (#52031)
* identity: Add GSSAPI suport for FreeIPA authentication

This enables the usage of GSSAPI for authentication, instead of having
to pass the username and password as part of the playbook run.

If there is GSSAPI support, this makes the password optional, and will
be able to use the KRB5_CLIENT_KTNAME or the KRB5CCNAME environment
variables; which are standard when using kerberos authentication.

Note that this depends on the urllib_gssapi library, and will only
enable this if that library is available.

* identity: Add documentation for GSSAPI authentication for FreeIPA

This documentation describes how to use GSSAPI authentication with the
IPA identity modules.

* identity: Add changelog for GSSAPI support for IPA

This adds the changelog entry for the GSSAPI authentication feature for
the IPA identity module.
2019-02-13 15:38:13 +00:00
Chris Archibald
7d55dc1a38 Add ontap version to gather facts (#51181)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add FlexGroup to Gather facts:

* fix call error
2019-02-13 15:33:38 +00:00
Chris Archibald
93237edcda New Module: na_ontap_qos_policy_group (#51392)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add new module na_ontap_qos_policy_group

* fix issues
2019-02-13 15:32:25 +00:00
Chris Archibald
311a076dae New Module: na_ontap_nvme_subsystem (#50887)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* New module na_ontap_nvme_subsystem

* updates

* update author

* fix author
2019-02-13 14:36:48 +00:00
Ondra Machacek
797a5218fb kubevirt: Add new kubevirt_vm module (#50768)
This module is managing virtual machines using KubeVirt.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2019-02-13 10:17:01 +00:00
Matt Clay
467d2ebecd Fix unit tests on Python 3.8. 2019-02-13 01:03:06 -08:00
rajaspachipulusu17
0825cbad40 Pluribus Networks prefix list network module with Unit test cases (#52064) 2019-02-12 20:40:58 +05:30
Chris Archibald
ce092ed939 New Modules: na_ontap_unix_group (#51390)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add new module ontap_unix_groups
2019-02-12 15:06:28 +00:00
Bojan Vitnik
64a6dcdd1d New module: xenserver_guest_facts - returns facts of XenServer VMs (#49426)
* Initial commit for xenserver_guest_facts module
* New module: xenserver_guest_facts. Returns facts of XenServer VMs. Module is fully documented.
* Added unit tests for the module
* Moved FakeXenAPI import to a dedicated fixture, other fixes
* Removed unused imports, minor fixes to unit test code
2019-02-12 16:56:49 +05:30
rajaspachipulusu17
48edffac60 Pluribus Networks vrouter ospf6 module with UT (#51793)
* Pluribus networks vrouter ospf6 module with UT

* Changes in check cli method
2019-02-12 13:41:30 +05:30
Hannes Ljungberg
70d8f02db7 docker_swarm_service: Extend env and add env_files support (#51762)
* Extend env and add env_files support

* Python 2.6 compat

* Handle lists passed as string

* Add changelog fragment

* Use correct link formatting

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

* Fix typo

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

* Handle empty env and env_files values
2019-02-12 08:06:58 +00:00
rajaspachipulusu17
2e3964b474 Pluribus Networks vrouter interface ip module with UT (#51792)
* Pluribus networks vrouter interface ip module with UT

* Indetentation fix

* Changes in check cli method
2019-02-12 13:33:34 +05:30
rajaspachipulusu17
76534b45b0 Pluribus networks vflow table profile module with UT (#51722) 2019-02-12 13:32:59 +05:30
rajaspachipulusu17
338ad565a7 Pluribus Networks vrouter bgp network module with UT (#51791) 2019-02-12 09:07:15 +05:30
onigra
063cd5ea44 Add force parameter to gem module (#51366) 2019-02-11 17:13:16 -05:00
Matt Martz
c55317a2bd
Update connection plugins to use correct, non-deprecated, methods (#52038)
* Update connection plugins to use correct, non-deprecated, methods

* Update tests to reflect calling become plugins
2019-02-11 13:44:54 -06:00
Matt Martz
445ff39f94
Become plugins (#50991)
* [WIP] become plugins

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

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

* cleanup

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

* Port become_plugins to context.CLIARGS

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

* Refactor make_become_commands as asked for by alikins

* Typo in comment fix

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

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

* Rename BECOME_PLUGIN_PATH to DEFAULT_BECOME_PLUGIN_PATH

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

* One to throw away

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

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

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

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

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

class Task(Base):
    pass

And still have a playbook like this function:

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

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

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

* Revert "One to throw away"

This reverts commit 23aa883cbed11429ef1be2a2d0ed18f83a3b8064.

* Set FieldAttr defaults directly from CLIARGS

* Remove dead code

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

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

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

* Logic fix

* Nuke connection testing if it supports specific become methods

* Remove unused vars

* Address rebase issues

* Fix path encoding issue

* Remove unused import

* Various cleanups

* Restore network_cli check in _low_level_execute_command

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

* minor cleanups

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

* Fix up ksu become plugin

* Only set prompt if build_become_command was called

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

* Fix tests and code expectations

* Doc updates

* Various additional minor cleanups

* Make doas functional

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

* Remove unused imports

* Add comment about setting the become plugin on the playcontext

* Fix up tests for recent changes

* Support 'Password:' natively for the doas plugin

* Make default prompts raw

* wording cleanups. ci_complete

* Remove unrelated changes

* Address spelling mistake

* Restore removed test, and udpate to use new functionality

* Add changelog fragment

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

* Remove unrelated change to loader

* Remove internal deprecated FieldAttributes now

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

* Fix from comment of the PR + Unit Test

* Fix on ufw module after the second review

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

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

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

* Adjust tests and fix some problems (#1)

* 'active' also appears in 'inactive'.

* 'reject' is also a valid option here.

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

* Improve and adjust tests.

* Fix after merging integration test

* handle "disabled" on default routed

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

* add unit test

* Fix pep8 formatting error

* Separate ipv6 and ipv4 rules process from checkmode

* fix non-ascii error on ci

* Some change after review

* Add unit test with sub network mask

* rename is_match function by is_starting

* add changelog fragment
2019-02-11 11:05:35 +00:00
Guillaume Martinez
7b84c0ee80 gitlab_hook: renaming module name (#51979)
* gitlab_hook: renaming module name

* gitlab_hook: rename module in documentation

* gitlab_hook: remove plural in docs and code

* gitlab_hook: fix unit test functions
2019-02-11 00:30:36 +01:00
Felix Fontein
0c2bb3da04 docker modules: various adjustments (#51700)
* Move docker_ module_utils into subpackage.

* Remove docker_ prefix from module_utils.docker modules.

* Adding jurisdiction for module_utils/docker to $team_docker.

* Making docker* unit tests community supported.

* Linting.

* Python < 2.6 is not supported.

* Refactoring docker-py version comments. Moving them to doc fragments. Cleaning up some indentations.
2019-02-08 08:16:11 +00:00
Jordan Borean
a39c4ad464
Final round of moving modules to new import error msg (#51852)
* Final round of moving modules to new import error msg

* readd URL to jenkins install guide

* fix unit tests
2019-02-08 10:07:01 +10:00
Guillaume Martinez
959939b866 Refactor gitlab modules (#51141)
* gitlab_group: refactor module

* gitlab_user: refactor module

* gitlab_group, gitlab_user; pylint

* gitlab_project: refactor module

* gitlab_group, gitlab_project, gitlab_user: Enchance modules

- Add generic loop to update object
- Enchance return messages
- PyLint

* gitlab_runner: refactor module

* gitlab_hooks: refactor module

* gitlab_deploy_key: refactor module

* gitlab_group: enchance module and documentation

- Enchange function arguments
- Add check_mode break
- Rewrite module documentation

* gitlab_hook: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Rename functions

* gitlab_project: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Add try/except on project creation

* gitlab_runner: enchance module and documentation

- Rewrite documentation
- Fix Copyright
- Enchance function arguments
- Add check_mode break
- Add missing function: deletion

* gitlab_user: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Add check_mode break
- Add try/except on user creation

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project,
gitlab_runner, gitlab_user: Fix residual bugs

- Fix Copyright
- Fix result messages
- Add missing check_mode break

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: pylint

* gitlab_runner: Add substitution function for 'cmp' in python3

* unit-test: remove deprecated gitlab module tests

- gitlab_deploy_key
- gitlab_hooks
- gitlab_project

Actually, they can't be reused because of the modification of the way that the module communicate with the Gitlab instance. It doesn't make direct call to the API, now it use a python library that do the job. So using a pytest mocker to test the module won't work.

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: add copyright

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: Support old parameters format

* module_utils Gitlab: Edit copyright

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project,
gitlab_runner, gitlab_user: Unifying module inputs

- Rename verify_ssl into validate_certs to match standards
- Remove unused alias parameters
- Unify parameters type and requirement
- Reorder list order

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: Unifying module outputs

- Use standard output parameter "msg" instead of "return"
- Use snail_case for return values instead of camelCase

* validate-module: remove sanity ignore

* BOTMETA: remove gitlab_* test

- This tests need to be completely rewriten because of the refactoring
of these modules
- TodoList Community Wiki was updated

* gitlab_user: Fix group identifier

* gitlab_project: Fix when group was empty

* gitlab_deploy_key: edit return msg

* module_utils gitlab: fall back to user namespace is project not found

* gitlab modules: Add units tests

* unit test: gitlab module fake current user

* gitlab_user: fix access_level verification

* gitlab unit tests: use decoration instead of with statement

* unit tests: gitlab module skip python 2.6

* unit tests: gitlab module skip library import if python 2.6

* gitlab unit tests: use builtin unittest class

* gitlab unit tests: use custom test class

* unit test: gitlab module lint

* unit tests: move gitlab utils

* unit test: gitlab fix imports

* gitlab_module: edit requirement

python-gitlab library require python >= 2.7

* gitlab_module: add myself as author

* gitlab_modules: add python encoding tag

* gitlab_modules: keep consistency between variable name "validate_certs"

* gitlab_modules: enchance documentation

* gitlab_runner: fix syntax error in documentation

* gitlab_module: use basic_auth module_utils and add deprecation warning

* gitlab_module: documentation corrections

* gitlab_module: python lint

* gitlab_module: deprecate options and aliases for ansible 2.10

* gitlab_group: don't use 'local_action' is documentation example

* gitlab_module: correct return messages

* gitlab_module: use module_util 'missing_required_lib' when python library is missing

* gitlab_module: fix typo in function name.

* gitlab_modules: unify return msg on check_mode

* gitlab_modules: don't use deprecated options in examples
2019-02-07 20:40:14 +01:00
rajaspachipulusu17
0745d6a10a Pluribus Networks point feature module for vrouter pim config with UT (#51013) 2019-02-07 20:13:00 +05:30
Bojan Vitnik
64084d593e Initial commit for xenserver module_util unit tests (#50850) 2019-02-05 09:41:26 -08:00
Hannes Ljungberg
4a5d38b55a docker_swarm_service: Enable tests (#51170)
* Enable tests

* Comment fixes

* Try lowering timeouts

* Comment fix

* Comment fix

* Comment fix

* Add a pause to let service update

* Fix comment

* Disable dns_search tests

* Disable dns_servers test

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Revert "Disable dns_servers test"

This reverts commit 763e9da716b78f4986f313b3ba1ab98faacb742e.

* Revert "Disable dns_search tests"

This reverts commit 2859e4e3a5ebdca078de84d821bb53bbdf967dfd.

* Revert "Add a pause to let service update"

This reverts commit e990dfae1a62e9a42b07960819818bc75fd04427.

* Revert "Try lowering timeouts"

This reverts commit 1617772de81ecef0e560b38c7564646ec3874c3c.

* Ensure that services are running while testing

* Retry tasks on update out of sequence error

* Remove unnecessary check for APIError.explanation

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

* Ignore errors when tearing down test suite

* Retry with a loop instead of tail recursion

* Initialize self.diff_trace in run

* Add change log fragment

* Actually raise error

* Add unit test for retrying

* Lint

* Change to bugfix

* Remove whitespace

* Mock docker dependency

* Use download.fedoraproject.org

* Revert "Use download.fedoraproject.org"

This reverts commit 5931791f7cfdd339f15068c8706b39905517abdf.
2019-02-05 08:25:29 +00:00
rajaspachipulusu17
d5797aa02f Pluribus Networks role module with Unit tests (#51261)
* Pluribus Networks role module with Unit tests

* pep8 sanity fixes

* Doc fix
2019-02-05 10:23:07 +05:30
vaneuk
2a0c356da9 added response_timestamps to ios_xr_command module (#50095) 2019-02-04 18:49:06 +05:30
rajaspachipulusu17
449b7e9f10 Pluribus Networks snmp community module with unit tests (#51165) 2019-02-04 10:42:00 +05:30
Wojciech Wypior
cccb681c0a Adds aggregate functionality to the module (#51638) 2019-02-01 18:04:49 -08:00
Wojciech Wypior
803bf79dce Adds aggregate functionality to the module (#51639) 2019-02-01 18:03:45 -08:00
Wojciech Wypior
a5c630a81f Adds aggregate functionality to the module (#51640) 2019-02-01 17:53:06 -08:00
Wojciech Wypior
fd2e0ddcac Adds clone_pools parameter (#51635)
Adds rate_limit parameter
Minor bug fixes
2019-02-01 17:47:46 -08:00
rajaspachipulusu17
a48af10b2c Pluribus Networks stp port module with UT (#51476) 2019-02-01 21:19:32 +05:30
Federico87
f94378fc2f ios_ntp module (#50705)
* ios_ntp module

* add execute_module for config func

* fix units test

* test empty list

* update example

* change want logic to follow have - removed try/except

* update commands list for config test

* add idempotent test case

* add more test
2019-02-01 09:20:02 -05:00
Anil Kumar Muraleedharan
004d8b03d4 Lenovo cnos l3interface (#51322)
* Adding cnos_l3_interface module in alignment with others vendors.
2019-02-01 09:17:52 -05:00
Chris Archibald
c6a9534d61 Rewrite of na_ontap_cluster and unit tests. (#49780)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* ontap cluster changes
2019-01-31 18:43:54 +00:00
Chris Archibald
7b5897d266 New Module: na_ontap_vscan_scanner_pool (#49786)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* na ontap vscan scanner pool

* Update author
2019-01-31 18:42:42 +00:00
vaneuk
2a432a093b added timestamps to ios_command module (#50323)
ios_command module now returns timestamps field, which shows command execution time
2019-01-31 18:11:53 +05:30
rajaspachipulusu17
a9b459e406 Pluribus Networks stp module with unit test (#51475) 2019-01-31 09:47:17 +05:30
rajaspachipulusu17
5e88cd9972 Pluribus Networks pn user module with UT (#51428)
* Pluribus Networks user module with UT

* Added choice to State in doc

* pep8 standards correction
2019-01-31 09:43:04 +05:30
rajaspachipulusu17
5fa2d29c9a Pluribus Networks point feature cpu mgmt class module with UT's (#51427) 2019-01-31 09:41:58 +05:30
rajaspachipulusu17
52cab33e4e Pluribus Networks point features for snmp vacm with UT's (#51423)
* Pluribus Networks point features for snmp vacm with UT's

* Duplicates removal

* Added choice for state
2019-01-31 09:40:38 +05:30
rajaspachipulusu17
271e14638e pn snmp trap sink (#51420)
* Pluribus Network snmp trap sink module with Unit tests

* pep8 standard fix

* Added proper author name
2019-01-31 09:39:23 +05:30
Brian Coca
abb964a5a0
move extravars and option vars loading into VM (#51070)
* move extravars and option vars loading into VM

  also safedir setting, all these are intrinsic to VM
  avoid uneeded and inefectual shallow copy
  remove setters/getters as VM now does most of the work in init
  updated and added tests

* feedback + fixes

* keep extra_vars property for vars_prompt

* pass values not objects
2019-01-30 16:25:36 -05:00
mrmagooey
8eff4cae10 VMware: vmware_guest - allow existing vmdk files to be attached to guest (#45953) 2019-01-30 15:35:24 +01:00
Nilashish Chakraborty
2f0c666b5b
Add option to enter admin configuration mode in iosxr_user (#51430)
* Add admin mode to iosxr_user

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

* Update docs for admin option

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

* Fix review comment

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-01-30 15:37:28 +05:30
Brian Coca
50b40c47df aws_ec2 Implement the missing 'region discovery' (#51333)
* aws_ec2 Implement the missing 'region discovery'

  fixes #45288

  tries to use api as documented (which seems to fail in latest boto3 versions)
  and fallback to boto3 'hardcoded' list of regions

* fixes and cleanup, add error for worst case scenario

* fix tests, remove more unused code

* add load_name

* acually load the plugin

* set plugin as required

* reverted test changes, removed options tests

* fixes as per feedback and cleanup
2019-01-29 14:59:38 -06:00
Chris Archibald
d897ff7bf2 Updates to ontap_user 2019-01-29 14:05:08 +00:00
Nilashish Chakraborty
77303d72ab
Add new module - junos_ping (#50711)
* WIP junos_ping

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

* Added junos_ping module

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

* Minor changes

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

* Minor changes - 2

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

* Fix CI

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

* Initial tests

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

* WIP tests

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

* Fix spaces

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

* Fixed unit tests

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

* Removed unused print statements

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

* Removed unused print statements

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

* Update license template

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

* Fixed Review Comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-01-29 15:36:12 +05:30
Chris Archibald
cc618b00a5 changes to cifs_server 2019-01-28 20:34:56 +00:00
Chris Archibald
0ab5b765ec Rewrite of Na_ontap_job_schedule and new options (#49507)
* New options, and rewrite

* add module
2019-01-28 20:30:59 +00:00
Chris Archibald
5cc34af927 ucadapter rewrite and unit test (#49497)
* ucadapter rewrite

* update skip line
2019-01-28 20:29:56 +00:00
Nilashish Chakraborty
69dd03d472
ios_user: Add support for multiple sshkeys (#51173)
* Add support for multiple sshkeys

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

* Fix CI

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

* Add the keys at on go

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

* Update tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-01-28 13:44:15 +05:30
Chris Archibald
7e4336a3f4 Switch na_ontap_ifgrp to use NetAppModule and new option (#50774)
* rewrite

* fixes to ifgrp

* Fixed Author
2019-01-25 11:48:20 -05:00
Chris Archibald
1c54ca52b2 New Module: na_ontap_nvme_namespace (#50886)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module nvme namespace

* updates

* Revert "updates"

This reverts commit 92056e5ba49046990b8265870b7f26b1667e0fad.

* update author

* Fix author line
2019-01-25 11:46:10 -05:00
Chris Archibald
d5add305ab New Module: na_ontap_portset (#49784)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module na_ontap_portset

* Fix author

* fix issue from comment
2019-01-25 10:31:41 -05:00
Chris Archibald
c940c6df41 Rewite of na_ontap_cifs to use NetAppModule, new options, and unit tests. (#49782)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* changes to na_ontap_cifs

* fix dup
2019-01-24 10:41:36 -05:00
Anatoly Pugachev
fe8412128b facts: solaris: introduce distribution_major version detection for Solaris (#43978)
* facts: solaris: introduce distribution_major version detection for Solaris

Currently, there's no distribution_major in facts module on Solaris OS.
Use "uname -r" output to report major version.

Before the patch we get this on Solaris 11.3 :

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {}, "changed": false}

and after this patch, output is the following:

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {"ansible_distribution_major_version": "11"}, "changed": false}

Tested with Solaris 11.3 and Solaris 10 (both are x86_64 VMs)

Includes patch for test/units.

Fixes #18197

* Try to fix test unit

* should work now...

* fixes for W291 (trailing whitespace) and E265 (block comment)

* mock uname_release for solaris 10 and solaris 11

* facts: solaris: introduce distribution_major version detection for Solaris

Currently, there's no distribution_major in facts module on Solaris OS.
Use "uname -r" output to report major version.

Before the patch we get this on Solaris 11.3 :

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {}, "changed": false}

and after this patch, output is the following:

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {"ansible_distribution_major_version": "11"}, "changed": false}

Tested with Solaris 11.3 and Solaris 10 (both are x86_64 VMs)

Includes patch for test/units.

Fixes #18197

* Try to fix test unit

* should work now...

* fixes for W291 (trailing whitespace) and E265 (block comment)

* mock uname_release for solaris 10 and solaris 11

* typo uname_v -> uname_r

* rebase

* fix pep8 E302: 2 blank lines

* remove int() cast to match test case

* use single function for uname_r and uname_v

* add solaris 11.4 OS to distribution test unit

* fix pep8 sanity - E231 missing whitespace

* distribution_major_version variable strip newline

* mocker test function for mock_get_uname with parameters instead of two different functions

* failed to make one fuction with test unit, revert to use 2 different functions

* try to use single get_uname function

* fix pep8: E703
2019-01-23 20:33:32 -05:00
Chris Archibald
890f4eb5c4 New Options for Autosupport (#50773)
* new option

* spelling

* fix minor issue

* Fix Doc line

* Add update netapp_module

* fix issue with autosupport

* Fix docuemntation
2019-01-23 18:18:07 +00:00
Matt Martz
8c08d03989
Fieldattribute inheritance with defaults (#50891)
* Add tests for check_mode at play and task level

These test inheritance of check_mode from the various levels (command
line, as a play attribute and as a task attribute) so they will be
useful for checking that the change to fieldattribute inheritance with
defaults works

* Add a sentinel object

The Sentinel object can be used in place of None when we need to mark an
entry as being special (usually used to mark something as not having
been set)

* Start of using a Sentinel object instead of None.

* Handle edge cases around use of Sentinel

* _get_parent_attribute needs to deal in Sentinel not None

* No need to special case any_errors_fatal in task.py any longer

* Handle more edge cases around Sentinel

* Use Sentinel instead of None in TaskInclude

* Update code to clarify the vars we are copying are class attrs

* Add changelog fragment

* Use a default of Sentinel for delegate_to, this also allows 'delegate_to: ~' now to unset inherited delegate_to

* Explain Sentinel stripping in _extend_value

* Fix ModuleArgsParser tests to compare with Sentinel

* Fixes for tasks inside of roles inheriting from play

* Remove incorrect note. ci_complete

* Remove commented code
2019-01-23 11:40:07 -06:00
Brian Coca
42c35a2e01
parallelize getting mount info (#49398)
* parallelize getting mount info

* fixed timeout and made 8 max thread count

  - minor cleanup
  - avoid empty mount entries
  - set timeout on get
  - enforce timeout per mount/thread
  - make note on failure per mount
  - make note on timeout per mount
  - ensure proper pool control
  - minor fixes
  - less vars, simpler code
  - move filter 'pre threading'
  - remove timeout for all mounts, now per mount
  -  also use cpu count from multiprocessing lib
  -  moved 'bind' options out of thread as per comments
  - warn on error, more info on failure to get info
2019-01-23 12:33:59 -05:00
Sam Doran
9d4c0dc111 Catch sshpass authentication errors and don't retry multiple times to prevent account lockout (#50776)
* Catch SSH authentication errors and don't retry multiple times to prevent account lock out

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

* Subclass AnsibleAuthenticationFailure from AnsibleConnectionFailure

Use comparison rather than range() because it's much more efficient.

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

* Add tests

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

* Make paramiko_ssh connection plugin behave the same way

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

* Add changelog

Signed-off-by: Sam Doran <sdoran@redhat.com>
2019-01-23 11:32:25 -05:00
Sumit Jaiswal
4049e33817
PR to implement support feature for creating NIOS network container (#51168)
* resolves 51161

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

* resolves 51161

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

* resolves 51161

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

* resolves 51161

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

* resolves 51161

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-01-23 19:21:00 +05:30
Olivier BLIN
87a01df6ad Fix 'defaults' option in the nxos_config module (#51076)
* Fix 'defaults' option in the nxos_config module

Nxos get_config is allways called with the 'all' option.
* Fix flag's calculation
* Add tests

* nxos_config: the 'backup' option take into account the value of 'defaults' option

If 'defaults' option is true, the running-config backup is done with the all
keyword.
2019-01-23 11:29:27 +05:30
rajaspachipulusu17
61a342f0bb Pluribus Networks admin syslog modules with unit tests (#50596) 2019-01-22 22:00:12 +05:30
Abhijeet Kasurde
2a2e9c4ea2 dataloader: unit tests (#50942)
* dataloader: unit tests

Based on work from Alikins (https://github.com/ansible/ansible/pull/16500)

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

* review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-22 09:51:27 -05:00