Commit graph

1518 commits

Author SHA1 Message Date
Raphael Meudec
f4da73280c Bug 42787 create volume with label (#46527)
* add None value to docker-version so it can be mocked in tests
2018-11-12 19:29:46 -08:00
Adam Miller
4156d01c01 yum also parse obsolete package output (#45365)
* yum also parse obsolete package output

This is a rebase of the patch originally proposed in
https://github.com/ansible/ansible/pull/40001 by machacekondra

Fixes #39978

Signed-off-by: Adam Miller <admiller@redhat.com>

* properly parse the obsoletes, provide a new output entry, add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>

* make pep8 happy

Signed-off-by: Adam Miller <admiller@redhat.com>

* remove q debugging output

Signed-off-by: Adam Miller <admiller@redhat.com>
(cherry picked from commit 091fb1dc3f)
2018-11-09 10:03:58 -08:00
Felix Fontein
ccdf1a61c4 docker_* modules: simplify idempotency comparisons (#47709)
* More generic comparison code from docker_container to docker_common.

* More flexibility if a is None and method is allow_to_present.

Note that this odes not affect docker_container, as there a is never None.

* Update docker_secret and docker_config: simplify labels comparison.

* Added unit tests.

* Use proper subsequence test for allow_more_present for lists.

Note that this does not affect existing code in docker_container, since lists
don't use allow_more_present. Using allow_more_present will only be possible
in Ansible 2.8.

* pep8

(cherry picked from commit 73533d3fc2)
2018-11-05 10:09:12 -08:00
Ganesh Nalawade
47f2352d33 Fix prompt mismatch issue for ios (#47004)
* Fix prompt mismatch issue for ios

Fixes #40884 #44463 #46082

*  If the command prompt is matched check if data is
   still pending to be read from buffer.
*  This fix adds a new timer `buffer_read_timeout`
   which will be trigerred after command prompt
   is matched and data is attempted to be read from channel.
   If not data is present of channel the timer will expire
   and response we be returned to calling function.

* Update doc

* Fix review comments

* Update changelog

* Fix unit test CI failure

(cherry picked from commit 335a979f1d)
2018-10-23 06:34:46 -07:00
Toshio Kuratomi
7812c065f4 Revert "Fix prompt mismatch issue for ios (#47004)"
This reverts commit 17cd01589a.

This commit was not passing CI.  Reverting
2018-10-22 18:33:58 -07:00
Ganesh Nalawade
17cd01589a Fix prompt mismatch issue for ios (#47004)
* Fix prompt mismatch issue for ios

Fixes #40884 #44463

*  If the command prompt is matched check if data is
   still pending to be read from buffer.
*  This fix adds a new timer `buffer_read_timeout`
   which will be trigerred after command prompt
   is matched and data is attempted to be read from channel.
   If not data is present of channel the timer will expire
   and response we be returned to calling function.

* Fix unit test failure

* Update to make buffer timeout float

* Update doc and fix review comment

* Fix CI issues

* Update doc

* Fix review comments

* Update changelog

(cherry picked from commit 335a979f1d)
2018-10-22 15:47:15 -07:00
Matt Martz
30c1a1933e [stable-2.7] Do not use mutable defaults in FieldAttribute, instead allow supplying a callable for defaults of mutable types. Fixes #46824 (#46833).
(cherry picked from commit a06a5ded61)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-12 10:38:38 -07:00
Andrea Tartaglia
ebc35bd79f [2.7] nmcli: backport of #42415 (#46814)
* nmcli: fix vlan connection modification Fixes #42322 (#42415)

* ensure optional items are set to empty strings rather than not presented
fix syntax of vlan modification command

* extended tests for nmcli

(cherry picked from commit fb72a5424c)

* Changelog fragment for nmcli fix
2018-10-11 07:45:11 -07:00
Nilashish Chakraborty
0e48544ae1 Backport 2.7: Return correct version on installed VyOS (#39115) (#46730)
* Return correct version on installed VyOS (#39115)

* Return correct version on installed VyOS

Previously existing regexp will shows only "VyOS" without numeric output of router version.
For example: from  "Version:      VyOS 1.1.6" only VyOS will be written in ansible_net_version variable
For more informative output numeric value should be returned as well

* Fixed unittests

(cherry picked from commit 235b11f681)

* Added changelog
2018-10-11 07:26:09 -07:00
Toshio Kuratomi
4dee2c6d24 [stable-2.7] Mocking out __future__ could cause problems
(cherry picked from commit 473f70c)

Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
2018-10-09 18:28:36 -07:00
Matt Clay
24324cbca8 Fix parametrize warning in unit tests.
(cherry picked from commit 1a28898a00)
2018-10-09 18:25:24 -07:00
Matt Clay
86f37620e6 Run unit tests in parallel. (#45812)
(cherry picked from commit abe8e4c9e8)
2018-10-09 18:25:24 -07:00
Matt Clay
6d07cec588 Fix unit test parametrize order on Python 3.5.
(cherry picked from commit 53b230ca74)
2018-10-09 18:25:24 -07:00
Matt Clay
09e61f29e9 Fix unit tests which modify the source tree. (#45763)
* Fix CNOS unit test log usage.
* Use temp dir for Galaxy unit tests.
* Write to temp files in interfaces_file unit test.
* Fix log placement in netapp_e_ldap unit test.

(cherry picked from commit 0686450cae)
2018-10-09 18:25:24 -07:00
Nathaniel Case
e575f655c1 Clean up after cnos tests (#45564)
(cherry picked from commit 0b433b3ea9)
(cherry picked from commit 71b3951d09aed385be0771d01ba739348451e720)
2018-10-09 18:25:24 -07:00
Matt Martz
8da4113ec0 [stable-2.7] Support nested JSON decoding in AnsibleJSONDecoder (#45924)
* Support nested JSON decoding in AnsibleJSONDecoder

* Add tests for vault portion of AnsibleJSONDecoder
(cherry picked from commit c0915e2)

Co-authored-by: Matt Martz <matt@sivel.net>
2018-10-09 10:55:16 -07:00
Felix Fontein
ff1aa50fdb Fixing HTTPError case of fetch_url for Python 3 compatibility. (#45628)
* Fixing HTTPError case of fetch_url for Python 3 compatibility.

* Adding unit test.

* PEP8.

* Changelog.
2018-10-09 10:20:57 -07:00
Anton Nikulin
d2c72040b5 [stable-2.7] Store Authorization header inside HttpApi connection plugin (#45598) (#45608)
* Store Authorization header inside HttpApi connection plugin (#45598)


(cherry picked from commit b7263eab1d)

* Add changelog entry
2018-10-09 10:12:21 -07:00
Sandra McCann
0c81145fd3 [WIP] Backport/2.7/second batch (#45927)
* Update influxdb_database.py (#39984)
(cherry picked from commit 049a462058)

* Link to the Galaxy platforms list from the meta file template (#34046)
(cherry picked from commit fa18d45eb3)

* fix gce_backend_service examples for healthchecks (#31134)
(cherry picked from commit e26d758d6f)

* Clarify the creates and removes options (#45485)
(cherry picked from commit bf90a44468)

* lineinfile note belongs in changelog for 2.6, not 2.7 (#45517)
(cherry picked from commit 228fee4f3a)

* Update keycloak_client.py (#43547)
(cherry picked from commit cb460dee74)

* The keyword 'cloud' has been deprecated in favor of the 'profile' keyword by os-client-config. (#31389)
(cherry picked from commit 17ca0a9bd9)

* Clarified documentation for the unsafe_writes option (#27471)
(cherry picked from commit dd5d191d7a)
2018-09-20 14:10:39 -05:00
Sloane Hertel
e881ea8957 Remove placeboify from unit tests that are not calling AWS (i.e. creating a recording) (#45754)
(cherry picked from commit 2167ce6cb6)
2018-09-19 13:32:02 -07:00
Sloane Hertel
af4971fd1a [aws unit test utils] only create a recordings directory when the env var is set (#45752)
* Only create placebo recording test directories when the environment variable PLACEBO_RECORD is set
(cherry picked from commit 5467ac3454)
2018-09-19 13:28:00 -07:00
Matt Clay
59a2d880bc Fix ACI unit test on Python 3.7.0.
The previous logic was only needed for pre-release versions of 3.7.

(cherry picked from commit c0bf9815c9)
2018-09-11 15:45:21 -07:00
Matt Clay
cc5d880a61 Skip ipaddr test that fails on Python 3.7+.
(cherry picked from commit f7979e4938)
2018-09-05 19:21:06 -07:00
Ganesh Nalawade
c0326aea2f
Fix cli_command multiple prompt issue (#44922)
* Add check in network_cli to handle all prompts

* Add check_all flag to mandatory handle all the command prompt
  in prompts list. By default if any one prompt is handled
  remaining prompts are ignored.

* Fix cli_command multiple prompt issue

* If multiple prompt and answers are given as input network_cli
  handles only the first prompt that matched by default
* If a command execution results in muliple prompt the fix
  add support to set a boolean option C(check_all) to indicate
  network_cli to wait till all the prompts and answers are processed.

* Update cli_command

* Update api doc

* Fix unit test failure

* Fix CI failure

* Update network_cli

* Fix review comment
2018-08-31 20:04:12 +05:30
Deepak Agrawal
50c7702e46
cisco firepower : Make API endpoints configurable via hostvars (#44952)
* httpapi host vars

* Make configurable end-points for firepower

* pep8 fix
2018-08-31 18:38:16 +05:30
Alex Stephen
276ad32a45 removing libcloud secrets support for legacy gcp modules (#44932)
* removing libcloud secrets support for legacy gcp modules

* test fixes
2018-08-31 08:28:32 -04:00
Nilashish Chakraborty
0f268e70a1
Fix ios_user issues (#44904)
* Fix ios_user issues

* Modify regex and fix unittests
2018-08-31 11:08:46 +05:30
Alex Stephen
3550f342e0 Gcp auth deprecation (#44866) 2018-08-30 17:14:39 -04:00
Sam Doran
8cd8d17980
Add ability to unlock 1Password vault to lookup plugins (#44923)
* Add ability to use login to 1Password vault to 1Password lookups

* Adjust unit tests

* Add changelog
2018-08-30 16:24:06 -04:00
Senthil Kumar Ganesan
a64b97da42 Support for Openswitch (OPX) Control Plane Services (CPS) Module (#44745)
* Generic module to support Openswitch (OPX) Contorl Plane Services (CPS)

* Address ansible-test sanity issues
2018-08-30 17:39:47 +01:00
Ganesh Nalawade
1a684df109
Fix iosxr cli_config module diff issue (#44898)
* Fix iosxr cli_config module diff issue

* Modify iosxr plugin to support configuration
  diff capability (get_diff()) within Ansible
  to be in sync with iosxr_config module.

* Fix unit test case failure
2018-08-30 21:39:11 +05:30
Matt Martz
0221d1ad20
Introduce and use locale-naive rfc2822 date format function (#44868)
* Introduce and use locale-naive rfc2822 date format function. Fixes #44857

* Adjust test expected response
2018-08-30 08:34:37 -05:00
Ghilli3
7bc2660017 fortimanager/fmgr_provisioning.py (#35743)
* Initial commit for new provisioning module
2018-08-30 14:25:17 +01:00
pierremahot
d11e078366 adding an option for the filter ipsubnet and testing (#40670)
* adding an option for the filter ipsubnet
2018-08-30 13:21:22 +01:00
lwm
fbcdf8ba5b Linode: Mark 'name' as required. Fixes #29785 (#44699)
* Mark 'name' parameter as required.

Closes https://github.com/ansible/ansible/issues/29785.

* Add the `linode-python` dependency for unit tests.

* Add unit test for linode name parameter.

* Add note about where to find required arguments.

Closes https://github.com/ansible/ansible/issues/44696.
2018-08-30 05:09:21 +02:00
Anton Nikulin
40a97d43d1 New modules and updated HTTP API plugin for FTD devices (#44578)
* Add common and Swagger client utils for FTD modules

* Update FTD HTTP API plugin and add unit tests for it

* Add configuration layer handling object idempotency

* Add ftd_configuration module with unit tests

* Add ftd_file_download and ftd_file_upload modules with unit tests

* Validate operation data and parameters

* Fix ansible-doc, boilerplate and import errors

* Fix pip8 sanity errors

* Update object comparison to work recursively

* Add copyright
2018-08-29 15:48:10 +02:00
Michael Price
70fd1ec130 Define module for NetApp E-Series iSCSI targets (#40632)
Create a new module for managing E-Series iSCSI targets.
2018-08-28 18:38:43 +01:00
ndswartz
d31e25acbd Define netapp_e_mgmt_interface storage module. (#42519)
* Define netapp_e_mgmt_interface storage module.

The netapp_e_mgmt_interface module provides management configuration for
e-series storage array interface points including remote ssh access, NTP
and DNS services.

This patch also includes integration and unit tests.

* Fix netapp_e_mgmt_interface ssh option documentation and name/channel exclusivity.
2018-08-28 17:50:21 +01:00
Michael Price
054b87acb8 Define module for managing E-Series email alerts (#42643)
Email alerts can be enabled for an E-Series system to provide
information to interested users by email when a warning or critical
level event occurs on the system. This module will allow a system owner
to configure whether or not system alerts are enabled, and who will
receive them.
2018-08-28 17:40:51 +01:00
Michael Price
97157cf876 New module for managing NetApp E-Series iSCSI Interfaces (#39877)
* New module for NTAP E-Series iSCSI Interfaces

Define a new module for configuring NetApp E-Series iSCSI interfaces.

* Improve netapp_e_iscsi_interface integration tests

Restructured integration test to set all iscsi ports to disabled, then
defines the ports either statically or with dhcp, next updates the ports
with the other definition type (static <-> dhcp), and lastly disables
all ports.  Each netapp_eseries_iscsi_interface call is verified with the
array.
2018-08-28 17:39:14 +01:00
Michael Price
f781f341a2 Define NetApp E-Series ASUP module (#41153)
* Define NetApp E-Series ASUP module

ASUP, or Auto-Support, is a mechanism that allows NetApp support
to receive information on the status of E-Series storage-systems
in order to proactively resolve issues for customers. This module
gives customers the ability to tune ASUP settings to their liking,
including disabling the feature entirely.

* Improved testing for netapp_e_asup module

Added coverage and validation to asup integration and unit testing
2018-08-28 17:05:25 +01:00
Michael Price
1f2ae0d4cd Define a module for managing E-Series settings (#41010)
There are multiple settings that are defined at a global level for
E-Series systems, but don't necessarily fit with anything else. This
module is intended to provide a place to encapsulate those.
2018-08-28 15:38:53 +01:00
ndswartz
cf41415bdf Define netapp_e_auditlog storage module. (#42535)
This module allows NetApp E-Series storage system's audit-log feature to be configured.
2018-08-28 14:11:33 +01:00
ndswartz
7eda94dc8d Defined netapp_e_syslog storage module (#42421)
Module allows syslog server configuration on NetApp E-Series storage arrays.
2018-08-28 13:22:36 +01:00
Michael Price
feb212b0a1 Define module for managing LDAP for E-Series (#42356)
This module will allow users to manage LDAP authentication domains for
accessing E-Series systems.
2018-08-28 13:00:19 +01:00
Tim Rupp
0dacc606b4
Various fixes for f5 modules (#44734)
A number of bugfixes for the remaining 2.7 work on the F5 modules.
2018-08-27 14:09:03 -07:00
Tim Rupp
c7eeb37f64
Adds bigip_software_install module (#44733)
This module can be used to install existing images on a bigip.
2018-08-27 12:56:19 -07:00
Matthias Fuchs
7871027c9d Share the implementation of hashing for both vars_prompt and password_hash (#21215)
* Share the implementation of hashing for both vars_prompt and password_hash.
* vars_prompt with encrypt does not require passlib for the algorithms
  supported by crypt.
* Additional checks ensure that there is always a result.
  This works around issues in the crypt.crypt python function that returns
  None for algorithms it does not know.
  Some modules (like user module) interprets None as no password at all,
  which is misleading.
* The password_hash filter supports all parameters of passlib.
  This allows users to provide a rounds parameter, fixing #15326.
* password_hash is not restricted to the subset provided by crypt.crypt,
  fixing one half of #17266.
* Updated documentation fixes other half of #17266.
* password_hash does not hard-code the salt-length, which fixes bcrypt
  in connection with passlib.
  bcrypt requires a salt with length 22, which fixes #25347
* Salts are only generated by ansible when using crypt.crypt.
  Otherwise passlib generates them.
* Avoids deprecated functionality of passlib with newer library versions.
* When no rounds are specified for sha256/sha256_crypt and sha512/sha512_crypt
  always uses the default values used by crypt, i.e. 5000 rounds.
  Before when installed passlibs' defaults were used.
  passlib changes its defaults with newer library versions, leading to non
  idempotent behavior.

  NOTE: This will lead to the recalculation of existing hashes generated
        with passlib and without a rounds parameter.
        Yet henceforth the hashes will remain the same.
        No matter the installed passlib version.
        Making these hashes idempotent.

Fixes #15326
Fixes #17266
Fixes #25347 except bcrypt still uses 2a, instead of the suggested 2b.

* random_salt is solely handled by encrypt.py.
  There is no _random_salt function there anymore.
  Also the test moved to test_encrypt.py.
* Uses pytest.skip when passlib is not available, instead of a silent return.
* More checks are executed when passlib is not available.

* Moves tests that require passlib into their own test-function.

* Uses the six library to reraise the exception.

* Fixes integration test.

When no rounds are provided the defaults of crypt are used.
In that case the rounds are not part of the resulting MCF output.
2018-08-27 08:40:41 -07:00
Tim Rupp
24a379f0b7
adds the bigip_cli_script module (#44674)
This module can be used to manage tmsh cli scripts on a BIG-IP
2018-08-24 22:08:37 -07:00
Toshio Kuratomi
8ec973b453 Fix unittests for always adding basic to the AnsiBallZ zips 2018-08-24 15:37:13 -07:00