Commit graph

7780 commits

Author SHA1 Message Date
Yunge Zhu
23670913ba
support application security group in network security group (#54584) 2019-04-01 16:56:16 +08:00
Zim Kalinowski
c85e3e0794
Fix for function app settings (#54662) 2019-04-01 16:50:08 +08:00
Yunge Zhu
11e3cc3cab
add azure_rm_rediscache reboot/regenerate key (#54572) 2019-04-01 13:54:08 +08:00
Zim Kalinowski
f9877fca18
Rename inconsistent azure_rm_virtualmachine_scaleset modules (#54579)
@yungezz yes, i remember. pls keep in mind that they are not broken
2019-04-01 13:05:45 +08:00
James E. King III
97e7266633 azure_rm_managed_disk additional disk types (#54644) 2019-04-01 11:04:14 +08:00
René Moser
01f63ee871
cloudstack: fix E326 (#54657)
* cloudstack: remove choice list for hypervisor param

* cloudstack: streamline network_type with returned value by the API

* cloudstack: remove E326

* add changelog fragment
2019-03-31 23:36:56 +02:00
Hannes Ljungberg
833512b07c docker_swarm: Add support for default_addr_pool and subnet_size (#54642)
* Add support for default_addr_pool and subnet_size

* Add changelog fragment

* Document options only used on init / join
2019-03-31 16:56:55 -04:00
Micah Hunsberger
26d9341891 Add new windows module: win_hosts (#46450)
* Add win_hosts module

added win_hosts module for easier manipulation of hosts entries in "%windir%\system32\drivers\etc\hosts" for windows systems

* Update win_hosts.py

* Add alias support to win_hosts module (#1)

* win_hosts supports aliases

added support for adding / removing aliases from a host entry, rather than adding a new entry

added ability for win_hosts to detect aliases:
`192.168.1.1 alias1 alias2 alias3`
```
win_hosts:
  host_name: alias2
  ip_address: 192.168.1.1
```
will result in `192.168.1.1 alias1 alias3`

also includes `replace` and `add` as options for `ip_action` (`replace` is default)

for example:
```
192.168.1.1 my_reused_alias
192.168.1.2 my_reused_alias
```
with
```
win_hosts:
  host_name: my_reused_alias
  ip_address: 192.168.1.3
  ip_action: add
```
the result will be
```
192.168.1.1 my_reused_alias
192.168.1.2 my_reused_alias
```
but with `ip_action=replace` the result would be
```
192.168.1.3 my_reused_alias
```

* fixed metadata version and version added

* fix line endings

* upload fixed line endings

try to upload the file with the fixed line endings

* aliases and canonical names are separate entities. added IPv4 and IPv6 validation

* only makes changes if "check_mode" is false

* improved behavior for duplicate aliases/entries.

* adding tests

* missing aliases file

* fix trailing whitespace and uses explicit paths

* Tweak tests to copy and restore original hosts file
2019-04-01 06:54:05 +10:00
Kevin Subileau
09979e899f win_nssm: refactor to fix issues, support check mode and add more features (#45693)
* win_nssm: rename cmdlets to use approved verbs, rename service name parameters

* win_nssm: improve code style and cmdlets ordering

* win_nssm: always escape all command line parameters with Argv-ToString

fix error when the service name contains quotes

* win_nssm: use Fail-Json instead of exceptions and remove global try/catch

* win_nssm: small refactoring, inline some functions

* win_nssm: refactoring - add a generic cmdlet to idempotently set any nssm service parameter

* win_nssm: refactoring - inline some functions

To make the code more malleable for future changes

* win_nssm: change application, stdout_file and stderr_file options type to path

* win_nssm: deprecates app_parameters, rename app_parameters_free_form to arguments, and add support for list of parameters

* win_nssm: add support of check mode

* win_nssm: add working_directory option

* win_nssm: add display_name and description options

* win_nssm: minor changes

* win_nssm: remove some sanity exclusions

* win_nssm: avoid using aliases and minor style fixes

* win_nssm: doc and ui improvements

* win_nssm: remove sanity exclusions

* win_nssm: minor revision

* win_nssm: deprecates dependencies, start_mode, user and password parameters and some choices of state in favor of win_service

* win_nssm: fix style

* win_nssm: add executable option to specify the location of the NSSM utility

* win_nssm: add missing parameter types

* win_nssm: add diff mode support

* win_nssm: avoid displaying depreciation warning if default value is assigned

* win_nssm: fix variable scope

* win_nssm: use the explicit -LiteralPath parameter name instead of -Path

* win_nssm: fix documentation

* win_nssm: add porting guide entries

* win_nssm: add changelog fragment
2019-04-01 05:56:48 +10:00
David Passante
eff1f8851c cloudstack: streamline modules doc (part 6) (#54641)
* Parameter types added
* Copyright format fixes
* Doc style fixes
* Examples format fixes
* validate-module errors fixes
2019-03-31 11:09:15 +02:00
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
Felix Fontein
188903448a openssl_*: add backup option (#54294) 2019-03-30 15:38:43 +01:00
Felix Fontein
90c067e947 openssl_* modules: private key errors (#54088)
* Improve error handling, in particular with respect to private key loading problems.

* Add tests to validate that modules regenerate invalid input and don't crash.

* Don't crash when input is invalid.

* Create 'better' broken input.

* Fix paths.

* Simplifying pyOpenSSL error handling.
2019-03-30 14:28:10 +01:00
Matt Clay
9e1c99ed60
Enable ec2_transit_gateway test in CI. (#54619)
* Enable ec2_transit_gateway test in CI.

* Mark the test unstable.

The test sometimes attempts to delete the transit gateway while it
is in the pending state, which is not permitted.
2019-03-29 13:38:50 -07:00
Patryk D. Cichy
6b3246164c Enable adding VLAN IP ranges for Physical Networks (#54576) 2019-03-29 20:08:14 +01:00
Matt Clay
e59c1854eb Remove invalid test alias. 2019-03-29 11:37:36 -07:00
Andrey Klychkov
349a0dccee New module postgresql_table - create postgresql table on remote host (#52077)
* New module postgresql_table - create postgresql table on remote host

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix a typo

* New module postgresql_table - change columns and params to type str

* New module postgresql_table - fix columns type

* New module postgresql_table - added pg_quote_identifier

* New module postgresql_table - removed unused lib

* New module postgresql_table - query -> queries

* New module postgresql_table - test improvement

* New module postgresql_table - fixed tests for PG 9.0

* New module postgresql_table - fixes

* New module postgresql_table - fixes
2019-03-29 15:51:07 +00:00
David Passante
b0d0a3a2f8 cs_service_offering: Implement customizable compute offers (#54597) 2019-03-29 15:39:54 +01:00
Dag Wieers
2ef0946370
Warn on incorrect use of parameter, and remove fix for now (#54336)
* Fix wrong example, remove strictness and fix tests

It was obvious that (because of an incorrect example) people were using
the **xml** module incorrectly, specifying the `attribute` parameter
where it was not supported (i.e. ignored).

While this functionality would have been useful, it currently returns as
if the information was requested from the parent, so we cannot simply
make it to what would be expected.

Therefor the real solution is to provide a warning when we find
incorrect use, and deprecate this use. Then later we could implement
this functionality correctly.

While troubleshooting this issue, I found that in some cases our
integration tests were not being run when we expected it.

This fixes #53459

* Change warning

* Fix weird sanity test error

* Add a comment to the deprecate-test
2019-03-29 15:13:19 +01:00
Kevin Breit
b3e85b76d7 New module - meraki_static_route (#49271)
* Initial commit for static route module
- Create and query functionality in place today

* Enabled querying both all routes and single route

* Bug fixes and idempotency check
- Requires new idempotency code to validate, blocking on that

* Enabled test cases

* Documentation fixes

* Whitespace fix

* Major improvements based on Dag's commments
- Improved documentation and examples
- Fixed fixed IP assignments and reserved range parameters
- Improved integration tests
- Made check mode work

* Rename str to string in documentation

* Move back to str

* Fix indentation

* Fix documentation for example of fixed_ip_assignments
- Removed default=None for args
2019-03-29 14:27:17 +01:00
Kevin Breit
d16dcb8dbb meraki_device - Support for creating and modifying device notes (#51100)
* Add support for notes

* Add test for notes

* Device notes changes
- Renamed from notes to note
- Modified tests to work

* Comment device test since it only works once

* Remove assertion stanza and move assertion to existing one

* Add version_added to note documentation

* Converted from tabs to spaces

* Added changelog fragment

* Remove changelog file since it's a feature

* Add changelog fragment
2019-03-29 14:26:28 +01:00
Kevin Breit
c30bc24ba9 Create untested task to enable a syslog server (#53125) 2019-03-29 14:24:41 +01:00
Andrey Klychkov
459a8156f5 New module postgresql_membership: Add or remove PostgreSQL roles from groups (#53733)
* New module postgresql_membership: initial

* New module postgresql_membership: fixed sanity
2019-03-29 13:17:56 +00: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
Jordan Borean
2750f39391
PS AddType - Add the ability to supply custom compile symbols for C# code (#54582) 2019-03-29 19:09:55 +10:00
Zim Kalinowski
bce75824b1
proper name for aks version facts (#54578) 2019-03-29 16:56:40 +08:00
David Passante
7f57d88f00 cloudstack: streamline modules doc (part 5) (#54523) 2019-03-29 09:50:15 +01:00
Matt Clay
8d96af2df5
Use correct python for -c invocations in tests. (#54577)
* Use correct python for -c invocations in tests.
* Only set releasever when available.
2019-03-29 01:19:51 -07:00
Zim Kalinowski
af2e5fc761
Renaming inconsistent module name (#54513) 2019-03-29 14:43:18 +08:00
Matt Clay
20ac19bf2e Test FreeBSD 12.0 with Python 3.x by default. 2019-03-28 21:15:15 -07:00
Yuwei Zhou
8c3dca7e7b Add azure servicebus module (#51320) 2019-03-29 11:53:49 +08:00
Matt Clay
b6d30a5825 Fix xml test version check. 2019-03-28 17:33:54 -07:00
Matt Clay
5f29058941 Fix xml test on FreeBSD with Python 3.x. 2019-03-28 17:33:54 -07:00
Matt Clay
e2e27ca192 Fix postgresql test on FreeBSD with Python 3.x. 2019-03-28 17:17:34 -07:00
Matt Clay
5eb9fa90f4
Fix pull test on FreeBSD with Python 3.x. (#54565) 2019-03-28 16:23:16 -07:00
Matt Clay
2a9e6e4282 Fix git test on FreeBSD with Python 3.x. 2019-03-28 16:19:40 -07:00
Matt Clay
2434abaaf7
Fix git test on FreeBSD with Python 3.x. (#54560) 2019-03-28 15:09:17 -07:00
Matt Clay
86268b09a1 Support ansible-galaxy test on FreeBSD Python 3.x. 2019-03-28 14:41:29 -07: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
David Passante
601d20117d cs_service_offering: update params in arg spec and documentation (#54511)
* cs_service_offering: update params in arg spec and documentation

* fix documentation formatting error
2019-03-28 21:49:06 +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
Sam Doran
023c5167fd Revert "Use locking for concurrent file access (#52567)" (#54547)
This reverts commit e152b277cf.
2019-03-28 13:19:49 -04: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
Felix Fontein
91eed74ac3 Stop using ca_certs alias. (#54507) 2019-03-28 10:38:18 -04:00
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
Matt Clay
c007422d05 Fix OpenSSL tests on FreeBSD with Python 3.x. 2019-03-28 01:50:29 -07:00
Yunge Zhu
9e42038747
add new module: azure_rm_rediscachefirewallrule (#53161) 2019-03-28 14:27:30 +08:00
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
Slava Maslennikov
85d836171b Add a force_replace_host flag to win_domain_membership (#53542)
* Add a force_replace_host flag to win_domain_membership

Satisfies https://github.com/ansible/ansible/issues/53539

* Rework backticks

* Bump version_added

* Check for existence of current hostname as well; use LDAPFilter during search

* Rename $force_replace_host to $allow_existing_computer_account

* Added docs, porting guide and minor nit in code
2019-03-28 14:36:26 +10:00
Jordan Borean
e2d2874d81
win_user_right - fix non json output issue (#54495) 2019-03-28 12:30:20 +10:00
Blue
b62ab97685 win_shell: Implement option 'profile', allowing the user to control p… (#54299)
* win_shell: Implement option 'profile', allowing the user to control powershell profile sourcing before running a command

* Set version_added to 2.8

* Make sure profile directory exists before writing profile file

* Changes to make tests immutable and align with ps args
2019-03-28 11:28:28 +10:00
Dag Wieers
e152b277cf Use locking for concurrent file access (#52567)
* Use locking for concurrent file access

This implements locking to be used for modules that are used for
concurrent file access, like lineinfile or known_hosts.

* Reinstate lock_timeout

This commit includes:
- New file locking infrastructure for modules
- Enable timeout tests
- Madifications to support concurrency with lineinfile

* Rebase, update changelog and tests

We need to specify ansible_python_interpreter to avoid running interpreter discovery and selecting the incorrect interpreter.

Remove the import of lock in known_hosts since it is not used.
2019-03-27 20:20:18 -04:00
Yuwei Zhou
dc6c0cb9f8 Add workspace module for azure (#53731)
* add workspace

* add other properties

* add facts modules

* add test

* add doc

* fix lint

* fix lint

* rename the module

* fix docs
2019-03-27 17:04:40 -07:00
Matt Clay
785afc7a53
Improve ansible-test python interpreter selection. (#54445) 2019-03-27 16:40:27 -07:00
Matt Clay
09cd355bec Pin rabbitmq tests to pika < 1.0.0 to fix tests.
Tests are failing with the release of pika 1.0.0.
2019-03-27 15:30:07 -07:00
Matt Clay
6e12517164
Make pip test work with versioned virtualenv. (#54483) 2019-03-27 13:56:28 -07:00
Jordan Borean
9e93a84429
win_optional_feature - support multiple feature in name (#54368) 2019-03-28 05:26:20 +10:00
Matt Clay
7dea316c81
Fix service integration test python selection. (#54449)
* Fix service integration test python selection.
* Clean up source in ansible_test_service.
* Rename script to include in python tests.
* Make shebang templating sanity friendly.
* Fix checksum.
* Use realpath of python to avoid selinux issues.
2019-03-27 11:36:07 -07:00
Matt Clay
ec83f52fa8 Fix virtualenv activation in tests. 2019-03-27 11:24:03 -07:00
Matt Clay
55d9ee0cb2 Revert "Temporarily skip failing Docker tests on RHEL 7.6."
This reverts commit affde96fa8.
2019-03-27 10:02:49 -07:00
Matt Clay
8612b126a8 Fix tests which assume virtualenv is available. 2019-03-27 09:23:17 -07: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 f1104a37b4.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b4.

* 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
Kevin Breit
17fc6c6ff1 meraki_network - Parameter change for combined network type (#49160)
* Added support for types parameter
- Parameter is used to specify multiple network types

* Fix documentation

* Apply suggestions from code review

Co-Authored-By: kbreit <kevin.breit@kevinbreit.net>

* Reworked type parameter to be a list so types isn't needed

* Re-add tags documentation

* Fix documentation around compatibility

* Convert tags to list from string

* Add changelog fragment
2019-03-27 16:10:15 +01:00
Sebastiaan Mannem
d90cb71210 Added a new module that can manage rules in pg_hba files. (#32666)
* Added a new module that can manage rules in pg_hba files.

* Adding a backup_file option
2019-03-27 15:54:20 +01: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 f1104a37b4.

* 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
Lukas Kämmerling
3614f78bc5 Add hcloud_server_type_facts module (#53852) 2019-03-27 11:52:31 +01:00
Lukas Kämmerling
87554da4d6 Add hcloud_datacenter_facts module (#53851) 2019-03-27 11:52:04 +01:00
Lukas Kämmerling
d5ca1eed89 Add hcloud_server_facts module (#53850) 2019-03-27 11:51:36 +01:00
Lukas Kämmerling
7d0ae41901 Add hcloud_image_facts module (#53849) 2019-03-27 11:20:21 +01:00
Lukas Kämmerling
6220eafb73 Add hcloud_location_facts module (#53848) 2019-03-27 10:53:54 +01:00
Patryk D. Cichy
cdb1d02f4c Add new CloudStack module cs_physical_network (#54098) 2019-03-27 10:48:44 +01: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
Matt Clay
6b4aabd355 Use virtualenv for filters and lookups tests. 2019-03-27 00:23:49 -07: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
Matt Clay
870abd7366
Clean up remote setup script for tests. (#54433)
* Only update sshd_config for FreeBSD tests.
* Also skip service restart unless config changed.
* Only pip install virtualenv for macOS tests.
* Also add retries and disable pip version check.
* Fix indentation.
* Reduce noise during remote instance setup.
* Refactor and clean up pip install.
* Decrease verbosity of commands.
* Remove unnecessary package install.
2019-03-26 21:20:35 -07:00
Matt Clay
affde96fa8 Temporarily skip failing Docker tests on RHEL 7.6. 2019-03-26 20:59:38 -07:00
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
Brian Coca
bc95720780
renaming facts to info (#54432)
(cherry picked from commit c5edffcdb8)
2019-03-26 20:30:16 -04:00
Jordan Borean
10f006036c
win_acl - fix support for registry paths (#54427) 2019-03-27 09:52:39 +10:00
Sloane Hertel
cbfe77ad63
[inventory_aws_conformance] use consistent sg order in script (#54423)
* [inventory_aws_conformance] Use consistent security group order for the script
2019-03-26 17:11:37 -05:00
James Cassell
51f2065df5 use ANSIBLE_ prefix on all ansible-defined env vars (#54272)
mark old version deprecated in all places referenced via docs
2019-03-26 17:43:48 -04:00
James Cassell
5d32dbd532 selogin: check_mode, ignore_selinux_state, tests
ignore_selinux_state based on #48945
2019-03-26 17:18:36 -04:00
Christopher Schmitt
fe0765eb2b Add hcloud_volume module (#53745) 2019-03-26 19:24:10 +01:00
David Passante
baa3327387 cs_volume: fix unit tests cleanup (#54397) 2019-03-26 19:18:09 +01:00
Matt Clay
07e9438848 Move interface management into delegate_to test. 2019-03-26 11:15:41 -07:00
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 Roman
1e3428a766 fix issue in random_mac filter with short prefixes (#53928) 2019-03-26 13:49:23 -04:00
Sloane Hertel
a47edc9968
[inventory_aws_conformance] fix the order of list variables created in config since it otherwise varies (#54365)
modify mock for boto to reflect the new fixed order for the config
2019-03-26 11:18:05 -05:00
Matt Martz
6996926d89
Expose loop_control.loop_var as ansible_loop_var (#54240)
* Expose the loop_var as ansible_loop_var

* Add docs

* fix assert test

* Indicate version added
2019-03-26 11:07:54 -05:00
Evan Kaufman
cf69ec5db0 replace - fixed combined before and after usage (#31452)
When using before and after in combination, the opposite behavior was induced. This PR makes the the replacement happen between the specified patterns as intended.

* Added integration tests
* Add changelog, porting guide entry, and minor doc fixes
2019-03-26 11:49:58 -04:00
Felix Fontein
5bb5c9d295 openssl_certificate: update for #54298 (state=absent fix) (#54353)
* Update for #54298: Certificate is abstract, so instantiating doesn't work.

* Add test for removal.
2019-03-26 15:09:54 +00:00
Andrea Tartaglia
df86b9ec3d openssl_pkcs12: privatekey_path and friendly_name are not always required together (#54370)
* Removed required_together, updated tests

Since required_together: privatekey_path -> friendly_name, is not always
required it has been removed.
Updated openssl_pkcs12 integration tests to be in line with other
openssl_* modules, and added a test for export with no privatekey_path.

* linter fixes

* Removed cryptography from tests

* Added changelog fragment

* Removed non-necessary select_crypto_backend
2019-03-26 15:06:00 +00: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
Felix Fontein
791176252b docker_swarm inventory: fix tests, and make sure that they fail if no host is found (#54380)
* Fix tests, and make sure that they fail if no host is found.

* Fix interpreter.
2019-03-26 09:44:42 -04:00
Andrey Klychkov
9fa1f78126 postgresql_facts -> postgresql_info (#54389)
* postgresql_facts -> postgresql_info

* postgresql_facts -> postgresql_info: fix comment
2019-03-26 12:11:47 +00:00
Jordan Borean
3044326b4d
win basic - do not warn on case insensitive matches (#54371) 2019-03-26 10:54:33 +10:00
Matt Clay
a775af919e
Merge pull request #54367 from mattclay/fix-ping-test
Fix ping integration test to work with ssh.
2019-03-25 16:27:56 -07:00
Matt Clay
29de0619e8 Fix nuage_vspk integration test:
- Wait for API to be ready.
- Enumerate test cases on controller.
2019-03-25 16:27:38 -07:00
Matt Clay
8a2b99d1ee Fix rabbitmq_publish integration test. 2019-03-25 15:43:20 -07: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
Felix Fontein
4fac91bed5 docker_container: add networks_cli_compatible option (#54198)
* Adding networks_cli_compatible option.

* Move network tests into own test file.

* Extend tests (for networks_cli_compatible=no).

* Adding tests for networks_cli_compatible=yes.

* There seems to be no way to create a container without at least one network attached.

* Integrate networks / purge_networks with comparisons.

* Speed up tests.

* Removing double dot.

* Add changelog.

* Use comparisons value only if the networks option has been specified. purge_networks on the other hand also removes networks if it has not been specified.
2019-03-25 15:06:21 -04:00
tcraxs
af669dec24 add missing integration tests for postgresql_schema module (#54185)
* add missing integration tests for postgresql_schema module

* add missing integration tests for postgresql_schema module

* postgresql_schema: add CI test with function in module from #54237

* postgresql_schema: add CI test with function in module from #54237

* add DROP SCHEMA test with check_mode=yes #54185
2019-03-25 17:10:47 +00:00
jctanner
6d978bc285 check aws inv plugin (#53435)
* Add the constructed config with legacy settings enabled to match the script

* Add interesting characters in tags and security group names

* add strict to config

* Add a stopped instance in inventory

* Create symlinks in the test

* Add reservation details to mock

* run script and plugin with a virtual env

* call the script with ansible-inventory

* Fix code coverage collection.
2019-03-25 11:15:31 -05:00
Mike Wiebe
e9c66ffb6f Add nxos_config sanity test (#54258) 2019-03-25 21:35:47 +05:30
Zim Kalinowski
8768c05d3e more 2.8 facts modules renamed to info (#54313) 2019-03-25 11:28:13 -04:00
Felix Fontein
d7a273273a openssl_*: proper mode support (#54085)
* Add write helper.

* Adjust modules (except openssl_certificate).

* Adding tests for mode (with openssl_privatekey).

* Add openssl_certificate support.

* Never, ever remove the output file before actually trying to generate new content for it.

Removal is only allowed when state=absent, or when the object has been regenerated and the result needs to be written to that place.

* Add changelog.

* Extend test.
2019-03-25 14:20:52 +01:00
Felix Fontein
5d460ae865 Fix broken backup. (#54290) 2019-03-25 14:19:25 +01: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
Zim Kalinowski
19e1b4de58
special case for rest module (#54236) 2019-03-25 11:55:43 +08:00
Kevin Breit
bcbcd209f4 meraki_admin - Add documentation for tags and network access (#51415)
* Add documentation for tags and network access
* Documentation changes from dag and sam
* Change examples to include proper YAML and not dict
* Update lib/ansible/modules/network/meraki/meraki_admin.py

Co-Authored-By: kbreit <kevin.breit@kevinbreit.net>
2019-03-23 08:29:08 -05:00
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
Matt Clay
e12d3ca731 Fix ansible-test injector warning on Python 3.7. 2019-03-22 16:05:10 -07:00
Toshio Kuratomi
5fb416ae34 Add a script to generate twitter and mailing list announcements
Announcements taken from https://github.com/ansible/community/wiki/RelEng:-ReleaseProcess
and then cleaned up:

* Update issue reporting blurb from feedback from acozine and gundalow
* Add a subject and to line for email output
* Ignore long line tests on the jinja templates (as jinja doesn't give
  enough control to get rid of newlines when text wrapping)
* Skip shebang and compile tests for older pythons since this is a
  release engineer-only script.  (ok'd by mattclay)
2019-03-22 11:23:54 -07:00
Martin Krizek
bafa291af9 uri: do not write the file after failure (#53515)
* uri: do not write the file after failure

Fixes #53491

* Add changelog
2019-03-22 09:32:43 -05: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 f1104a37b4.

* 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 f1104a37b4.

* Update to volume

* fix documentation

* Fix doc
2019-03-22 14:12:18 +00:00
Andrea Tartaglia
36a790dcde New cryptography backend for openssl_certificate (#53924)
* New cryptography backend for openssl_certificate

load_* functions in module_utils/crypto.py now have a backend paramter
which when set to 'cryptography' will return cryptography objects so
they can be used for both pyopenssl and cryptography backends.
Added a select_message_digest function too returning a cryptography
digest hash from `cryptography.hazmat.primitives.hashes`
Added new classes for Cryptography backend

* Run test with various backends.

* Prefixing tests.

* Make sure we have the correct backend available.

* Linting (flake8).

* Moved cryptography import to separate try/except

* Make sure certificate is actually valid at some time in the past.

* Improve error handling.

* Trying to fix validation for cryptography backend.

* Fixed issue with keyUsage test in assertonly

* Fixed CI/Lint issues

* Fix private key problem for OwnCA.

* Cryptography backend doesn't support v2 certs.

* issue an expired cert with command when using cryptography backend

* Added warning when backend is auto and v2 cert is requested

* Bumped min cryptography version to  1.6

* Correctly check for failure when backend is cryptography and cert is v2

* Use self.backend where possible

* Use secp521r1 EC when testing on CentOS6

* Fixed pylint issue

* AcmeCertificate support for both backends

* Review fixes

* Fixed missing '(' when raising error

* Fixed date_fmt loop

* Updated docs and requirements with cryptography

* Add openssl_certificate to changelog.
2019-03-22 13:21:23 +00:00
Christian Rohmann
90c092a104 Allow configuration of connection_limit per postgresql database (postgresql_db) (#40345)
Fixes #40060

* Fix coding style errors
* Use CONNECTION LIMIT (no underscore)
* From review done by amenonsen and bcoca - Set default at None, make the change detection less confusing
* Added EXAMPLE on how to apply a database specific connection limit
* Added some basic tests for conn_limit applied to a database
* Check that conn_limit has actually been set / updated to 200
* Add changelog fragment regarding postgresql_db conn_limit parameter
2019-03-22 18:21:39 +05:30
Andrey Klychkov
76f1f96163 postgresql_ext: Update param handling, fix doc formatting, added: CI tests, examples, a return value (#54027)
* postgresql_ext: instead_of_3196, initial

* postgresql_ext: fixes

* postgresql_ext: fixes
2019-03-22 12:39:33 +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
Zim Kalinowski
18d9715fb1 Fix CosmosDB parameter translation bug (#54212) 2019-03-22 15:21:53 +08:00
Felix Fontein
946a16cc82 docker_host_info and docker_node: fix return variable names (#54172)
* docker_host_info: host_facts -> host_info

* docker_node: node_facts -> node
2019-03-22 02:28:57 -04:00
Yuwei Zhou
d73db7f060 azure subnet's properties should not be changed if parameter set to None (route table, nsg...) (#54019) 2019-03-22 14:27:12 +08:00
David Passante
aa32164d15 cs_volume: add volumes extraction and upload features (#54111)
* cs_volume: add volumes extraction and upload features

* cs_volume: Update doc, remove deprecated code

* cs_volume: Add unit tests for extract and upload features
2019-03-22 07:09:26 +01:00
Matt Clay
e69828e285
Force tests to set ansible_python_interpreter. (#54191)
* Force tests to set ansible_python_interpreter.

This avoids use of interpreter discovery unless tests opt-in to using it.
Avoiding interpreter discovery helps avoid selecting the wrong interpreter for tests.

* Prevent use of global inventory in tests.

This will avoid issues with tests picking up global inventory
instead of using implicit localhost as intended.

* Require hosts to exist in inventory for tests.

This will prevent tests from unintentionally passing
when hosts are not found in inventory. Does not prevent
the use of implicit localhost.
2019-03-21 21:54:41 -07:00
Matt Clay
8aa4b037ce Fix include_import test.
This will allow the test to work when HOST_PATTERN_MISMATCH is set to error.
2019-03-21 20:08:27 -07:00
Matt Clay
2d15811843 Fix unicode integration test.
This will allow the test to work when HOST_PATTERN_MISMATCH is set to error.
2019-03-21 19:05:16 -07:00
Matt Clay
1bed2cbb9d Fix vault integration test inventory references.
Previously parts of the tests were being skipped due to missing inventory.
2019-03-21 18:36:15 -07:00
Matt Clay
363c9594ec
Clean up group_by integration test. (#54206)
* Split group creation out into separate file.
* Move skipped group into separate playbook.
2019-03-21 17:31:04 -07:00
Matt Clay
43bd8c4711 Switch async_extra_data test to inventory file. 2019-03-21 16:19:40 -07:00
Matt Clay
ade6977d66 Fix typo in doc_fragments path. 2019-03-21 15:36:05 -07:00
Ben Carter
f99f88b034 fixing status option in documentation (#53785)
changing status option to statuses in the documentation

Adding choices to the argument spec to match the documentation from AWS.
Adding 'REVOKED', 'FAILED' to statuses documentation to match implementation.

Removing E322, E323 ignores for aws_acm_facts
2019-03-21 15:39:36 -05:00
Matt Clay
2a8252ceb9 Slightly increase non-coverage unit test timeout. 2019-03-21 09:30:43 -07:00
Matt Clay
3e2817c478 Update default-test-container to version 1.6.0.
ci_complete
2019-03-21 08:40:16 -07: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
tcraxs
bb61d7527f #50877: add support to postgresql_privs to use "FOR { ROLE | USER } target_role" in "ALTER DEFAULT PRIVILEGES" (#51073)
* #50877:
* add support to postgresql_privs to use "FOR { ROLE | USER } target_role"
   in "ALTER DEFAULT PRIVILEGES"

* fix sanity errors

* #50877: fix documentation and add a check for correct usage
of target_roles

*  #50877: fix missing absent option for default privs with target_role

* #50877: add clear description, when target_roles can be used

* #50877: fix conflicts, formatting, and add a changelog fragment

* #50877: fix sanity error E335

* #50877: swap conditions and fix error to warning msg

*  #50877: add tests for default privileges

* #50877: fix tests for default privileges

* #50877: fix tests for default privileges on centos 6
2019-03-21 13:26:44 +00:00
Chris Van Heuveln
7b44bc1ac9 nxos_static_route: reconcile_candidate fails to remove 'track' routes (#53806)
* * `reconcile_candidate()`
  * old code searched the ip route configs for a given prefix+nexthop and then tried to remove the route based on prefix+nexthop only; this would fail when a static route was configured with `track` values.
  * new code still looks for prefix+nexthop but uses the route config it finds on the device to remove it; e.g.
    * search for: `ip route 192.168.20.64/24 192.0.2.3`
    * find:       `ip route 192.168.20.64/24 192.0.2.3 track 1 10`
    * remove:  `no ip route 192.168.20.64/24 192.0.2.3 track 1 10`

* logic cleanups:
  * old code did a `show run` for every prefix. This can be a lot of data when there are large configs.
  * new code uses filters to only return the static route configs.
  * The filters now allow a common code path so no need for default vs vrf code paths

* `sanity` test: 100% Pass rate on N9K,N7K,N6K,N3K

- Bugfix Pull Request

`nxos_static_route`

* filter() does not return a list with python3

`filter()` was breaking pytest when it ran with python3, since it returns
an iterable instead of a list with python3.

Found that I didn't really need `filter()` anyway so just removed it

* restore var names /w/want/
2019-03-21 18:52:46 +05:30
Zim Kalinowski
0a2971dcf5
adding new container instance options (#54072) 2019-03-21 17:01:12 +08:00
Felix Fontein
8d62794f91 docker: rename docker_*_facts -> docker_*_info (#54124)
* Rename docker_*_facts -> docker_*_info.

* Add changelog.

* Update scenario guide.
2019-03-21 08:37:18 +00:00
Zim Kalinowski
9c77509cbc
azure virtual machine facts -- querying all machines in subscription fix (#54075) 2019-03-21 15:53:44 +08:00
techknowlogick
a03e69550c add azure_rm_mariadbdatabase (#54147) 2019-03-21 15:22:18 +08:00
Matt Clay
1a286a95e5 Disable failing azure_rm_managed_disk test. 2019-03-20 23:55:40 -07:00
Matt Clay
6401683e0b Mark azure_rm_hdinsightcluster test unstable.
The unstable alias wasn't intended for slow but otherwise stable
tests. However, the alternatives are to either dedicate an entire
test group to this one test or mark it unsupported.

Marking it unstable at least permits the test to run when changes
are made to the integration test or the module itself, which is
better than not running the tests at all.
2019-03-20 23:06:05 -07:00
Matt Clay
39bbadb2fd
Replace no-underscore-variable test with pylint. (#54140)
* Replace no-underscore-variable test with pylint.
* Update orphan handling for sanity test docs.
* Update command for listing tests.
2019-03-20 22:14:22 -07: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
Yunge Zhu
fb5f85d2c1
add azure_rm_roleassginment_facts (#52626) 2019-03-21 12:48:55 +08:00
techknowlogick
f34a43f2c7 add azure_rm_mariadbfirewallrule (#54146) 2019-03-21 12:25:01 +08:00
techknowlogick
ddee29d00f add azure_rm_mariadbconfiguration (#54145) 2019-03-21 11:22:18 +08:00
techknowlogick
949692431b add azure_rm_mariadbserver module (#53998) 2019-03-21 10:04:40 +08:00
Matt Clay
47f2101e8d Fix no-underscore-variable test. (#54137)
* Ignore lines with comments.
* Detect variables at the start of the line.
2019-03-20 16:08:25 -07:00
Zim Kalinowski
c431d18e28 Additional DevTest Lab modules (#53091)
* [WIP] Additional DevTest Lab modules

* updates

* try global schedule again

* dtl schedule

* try full dtl schedule test

* fixing schedule

* fixed problem

* another fix

* fixed test

* different time format

* fixed absent state

* test policy idempotence

* more updates

* updated devtestlabpolicy

* fixed syntax

* updated dtl policy test

* updated image id

* fixed test

* fixed bug

* fixed bugs and docs

* fixed bug

* + small cleanup

* reenabled tests but disabled leaking tests

* disabled test
2019-03-20 16:07:30 -07:00
Zim Kalinowski
d71ca02d60 adding hdinsight cluster (#52612)
* adding hdinsight cluster again

* updated hdinsight cluster test

* fixes

* updated test

* some updates

* removed non-essential

* fixed sanity

* fixed test

* newer default_compare implementation

* debugging code

* try to fix comparison issue

* fix test

* fixed sanity

* fix comparison

* added zookeeper node

* zookeeper target instance count

* don't compare passwords

* test updates

* next iteration

* fix

* more fixes

* another fix

* one more fix

* flattening configuration

* doc update

* one more doc change

* fixed sanity

* properly handling cluster update

* changed default_compare function

* fixed comparison

* changed compare result

* compare stuff

* removed some custom stuff

* improved hdinsight change warning

* fixed syntax

* fix another syntax

* one more hdinsight cluster update fix

* and removed some unnecessary stuff

* one more update

* forgot one lropoller

* reduce number of cores

* head node size

* still bigger nodes

* fix mistake

* fix problem

* fixed another issue

* don't delete unexisting
2019-03-20 15:50:57 -07:00
Matt Clay
777b726e4f Pin the ansible-runner version in tests.
The tests need to be updated to support newer ansible-runner releases.
2019-03-20 14:59:55 -07:00
Matt Clay
3ea05f7757 Add pypsrp to unit tests and disable failing test. 2019-03-20 14:10:21 -07:00
Matt Clay
465acef2a3 Add pyyaml test constraint. 2019-03-20 13:08:51 -07:00
René Moser
c5609c51bf
include_tasks: fix traceback if no file specified (#54044) 2019-03-20 19:17:20 +01: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 f1104a37b4.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b4.

* 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 f1104a37b4.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b4.

* 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 f1104a37b4.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b4.

* 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
Martin Krizek
0e28ab4528
Template run_once for handlers (#54030)
Fixes #27237
2019-03-20 14:46:19 +01:00
Felix Fontein
05bca95ab1 ACME: rename acme_account_facts -> acme_account_info (#54082)
* Rename acme_account_facts -> acme_account_info.

* Add changelog fragment.
2019-03-20 13:21:28 +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
Chris Van Heuveln
07774b4ccf nxos_igmp_snooping: more group-timeout fixes (#53553)
* Fixed another problem where `group-timeout` was processed before `ip igmp snooping` was enabled

* `sanity` playbook:
 * N6K: `show ip igmp snooping | json` succeeds on the device but doesn't return any data in body; added a skip to the sanity playbook to keep it out of CI
 * Added a setup task to do initial cleanup on the device
2019-03-20 13:08:36 +05:30
Zim Kalinowski
5b79631380
Getting latest API version if not specified in azure_rm_resource (#54022) 2019-03-20 14:38:18 +08:00
Jordan Borean
0bf14d61d0
Add PSCustomUseLiteralPath and update PSSA for pslint (#54080) 2019-03-20 16:26:12 +10:00
Carson Anderson
31ceba7fd8 Windows module: win_optional_feature for Windows workstations (#53709)
* initial commit

* fix execute and \r\n

* \r attempt 2

* updated with integration tests and using new csharp import

* Apply suggestions from code review

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

* fixed small docuement inaccuracies wrt returns

* removal of state in feature result

* removal of rc

* small fixes suggested in code review

* fixed variable assigning to result

* addition of comments on conditionals for clarity on matching

* swap logic of check_mode

* set $reboot_required so it is always returned

* removal of extraneous return information

* addition of integration tests

* set installation of parent features to true

* remove 2008 from tests

* changed test for TelnetClient from NetFx3

* change of tabs to spaces

* Add test check for OS version
2019-03-20 12:13:06 +10: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
Pilou
dbb782a594 Conditional bare: fix typos (#53807) 2019-03-19 21:29:59 -04:00
Alexander Bethke
8f354ea307 Use local dummy repo for flatpak_remote integration tests (#52668)
* Use local dummy repo for flatpak_remote integration tests

* Excludes versions of Ubuntu older than 16.04 from tests

Since there are no flatpak packages available for these Ubuntu versions

* Adds handler that removes temporary symlink
2019-03-19 17:16:26 -07:00
Wojciech Wypior
dcf833d31c adds new module to manage bigip devices on the BIGIQ (#53987) 2019-03-19 15:15:43 -07:00
Matt Clay
9a135fbcef Add constraint for deepdiff. 2019-03-19 14:17:59 -07:00
Matt Clay
63ce588382 Update pylint and split runs more to avoid hangs. 2019-03-19 13:17:37 -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 f1104a37b4.

* Revert "Revert "changes to clusteR""

This reverts commit f1104a37b4.

* 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
Patryk D. Cichy
968bedd8c2 Add an integration test for deleting image stores in check mode (#54015) 2019-03-19 08:10:05 +01: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
John Nelson
38346d0337 win_dns_record (#51925)
* win_dns: Initial work

* win_dns: initial commit

* Renaming win_dns -> win_dns_record

* win_dns_record: Fix record leakage in output

* win_dns_record: Fix erroneous minimums enforcement

It is apparently completely legitimate to specify a TTL that is below
minimum; it will just get ignored in favor of the server's minimum.

* win_dns_record: Fix new-host changes reported incorrectly

* win_dns_record: Fix TTL changes reported incorrectly

* win_dns_record: Fix existing records not recognized

* win_dns_record: Remove obsolete object

* Refactorize check mode

* Add computer_name parameter

* Refactorize diff and changed to read DNS end state

* Fix pslint tests PSUseDeclaredVarsMoreThanAssignments and PSAvoidUsingCmdletAliases

* Minor fix, misnamed variable.

* win_dns_record: Fix "changed" state in check mode

* win_dns_record: cleanups

* win_dns_record: fix TTL update not changed regression

* Add initial integration tests

* win_dns_record: integration tests

* win_dns_record: Reverted 9cf5f2d8e6

The approach from that commit breaks check mode.

* win_dns_record: de-scope some records

These are either esoteric (meaning limited realworld testing)
or require additional thought to do properly (eg MX, which
has its "priority" level).

* win_dns_records tests: Ensure DNS services are installed

* Update lib/ansible/modules/windows/win_dns_record.py

Co-Authored-By: johnboy2

* Update lib/ansible/modules/windows/win_dns_record.py

Co-Authored-By: johnboy2

* Aggregated suggestions from dagwieers

* Fix bad powershell test argument

* win_dns_record partially converted to new Powershell module interface

win_dns_record converted to new Powershell module interface, except diff 
and required_if

* win_dns_record: convert diff support

* win_dns_record: convert diff support to after-before style

* Don't test for Add-WindowsFeature

* win_dns_record: Fix diff

When check mode is used diff changes must be simulated.

* Style consistency/clean-ups

* Fix integration test typos

* Improve readability of diff output

The original intention of the diff output was to resemble zone file records
(except that the zone-name is added onto each record). In that light, the
missing *record class* information (always "IN" in our case) was an oversight.

This just makes the diff output more "instantly readable" for DNS gurus.

* win_dns_record: Add diff tests

* Fix ansible-test sanity check fails

* Apply suggestions from code review

Added suggestions from dagwieers

Co-Authored-By: johnboy2 <john@jnelson.ca>

* win_dns_record: Skip 2008 and friends

* Reword error messages so they start capitalized.

* Fix sanity error

* win_dns_record: Document ttl range

* win_dns_record: Additional supportability barriers in tests

* win_dns_record: Typo

* win_dns_record: Sanity fix

* win_dns_record: Use OS-test only for compat checking
2019-03-19 15:37:14 +10: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