Commit Graph

3076 Commits (5f2905894194eaf8b1e501b0bd0d39436a48f33a)

Author SHA1 Message Date
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
Alex Stephen e4737ce730 New GCP module: gcp_sourcerepo_repository_facts (#51250) 2019-01-23 16:44:46 -05:00
Martin Krizek 11fb0a5d6a
facts: detect IP addresses on busybox properly (#51131)
* facts: detect IP addresses on busybox properly

Fixes #50871

* Check rc before parsing data

* Ooops
2019-01-23 22:24:29 +01: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
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
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
Peter Oliver 9edeb19354 Populate product_name and system_vendor facts on Solaris (#44114)
* Populate product_name and system_vendor facts on Solaris

* Add QEMU as Solaris "hardware" vendor.

* Lint fix.
2019-01-23 13:51:23 +01:00
MarkusTeufelberger c1bc556b0a Relative time support for crypto modules (openssl_certificate) (#50570)
* Move relative time handling to module_utils and rewrite it

* Fix cases with no seconds defined

* fix a small typo along the way

* add relative time handling to the ownca provider in openssl_certificate

* add initial integration test for relative time ownca

* quote the documentation to produce valid yaml

* move timespec conversion and validation to the init function

* fix small edge case in conversion function

* add relative timestamp handling to the selfsigned provider

* add get_relative_time_option

* add relative timestamp handling to valid_in

* pep8 fix indentation

* add quotes in error message

* add changelog fragment

* Update changelogs/fragments/50570-relative_time_crypto.yaml

Co-Authored-By: MarkusTeufelberger <mteufelberger@mgit.at>
2019-01-22 20:41:02 +00:00
Isaac Beckman 335ee5908d IBM_Storage: fix host_add_ports (#49420)
iscsi_name and fcaddress fields are not required by default.
This commit make sure that no exception is thrown if only
on field supplied
2019-01-22 11:05:00 +00:00
Hannes Ljungberg 420c24ea55 docker_swarm_service: Use option_minimal_versions (#50609)
* Pass client to detect_usage function

* Use new client argument in detect_usage function

* Use option_minimal_versions

* Add min_docker_api_version

* Skip default since publish is always a list

* Add min Docker API version to module requirements

* Remove redundant keys()

* Move detect_ipvX_address_usage out of __init__

* Check for mode presence in publish ports

* Remove unused import

* Use port.get(‘mode’) to check for falsy values

* Update lib/ansible/modules/cloud/docker/docker_swarm_service.py

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

* Add force_update to option_minimal_versions

* Detect publish mode better

* Add a trailing comma
2019-01-21 18:45:47 +00:00
Jordan Borean fa0ab82d21
Ansible.Become - fix 32 bit incompatibility (#51094) 2019-01-21 08:17:19 +10:00
Bill Dodd 63f7536594 get standard properties for each firmware entry (#51028) 2019-01-19 21:27:57 +00:00
Johannes Brunswicker c6d404cbe9 Add optional headers to utm modules (#49856)
* removed info declaration from documentation fragment as this is not implemented
* added optional headers for POST and PUT requests
* updated documentation
* added missing headers field decalaration
* removed info choice from state field
* added tests for the new utm_utils function
* fixed class invocation
* added missing required params
* fixed the pytests
2019-01-17 19:06:50 +05:30
Martin Krizek 3b42b1796c
facts: set virtualization_role for KVM hosts (#50770)
* facts: set virtualization_role for KVM hosts

Fixes #49734

* Add changelog
2019-01-17 09:47:16 +01:00
vaneuk e150943314 added timestamps to nxos_command module (#50261)
* added timestamps to nxos_command module

nxos_command module now returns timestamps field, which shows command execution time

* –fixed unit test failure for /lib/ansible/module_utils/basic

* cosmetic changes to align with PEP 8
2019-01-17 10:14:31 +05:30
Dag Wieers a79441ca30
Rename MSC modules to MSO nomenclature (#50959)
* msc_tenant: improve docs

* Rename MSC modules to MSO

* Rename MSC-related objects to MSO nomenclature

* Add missing doc fragments
2019-01-16 14:53:38 +01:00
Dag Wieers 67b455a8ac
Update documentation notes, copyright and license (#50927) 2019-01-15 12:24:34 +01:00
Dag Wieers 27f4a1f927
Add support for users/sites to tenants (#50924)
* Add support for users/sites to tenants

* Better work-around
2019-01-15 11:49:54 +01:00
Ricardo Carrillo Cruz 077d6a63c1
Add autopublish and autoinstallpolicy behaviour to Checkpoint devices (#50862)
* Add autopublish and autoinstallpolicy behaviour to Checkpoint devices

Up till now we published and installed policy package for every operation,
however operators may not want that and only reconcile changes after a series
of changes.
Added flags to toggle this behaviour, which defaults to autopublish and
autoinstall policy package just as it was till now.
The policy package name defaults to 'standard', since it's the default one
created on the Checkpoint management server on AWS, unsure if that's common
in other setups.

* Change signature for publish and install policy

The module object is not needed

* Fix pep8

* Fix install_policy invocation

Also fix payload in publish/discard, since it seems passing the UID
when it's not needed has issues.

* Add doc fragments

* Remove default value of targets on install_policy method

It's already defaulting to None via checkpoint_arg_spec

* Fix pep8

* Remove doc fragment and push down auto options to resource modules

I realized if I put those options as doc fragments they will show up
on facts module, which do not apply, only on resource modules that
mangle with objects.

* Fix bogus param name and validate modules issues

* Fix bogus param name on checkpoint_host
2019-01-15 11:03:48 +01:00
Fabian von Feilitzsch 09bfe42a5c Bubble up import exception content for k8s module (#50657)
* Bubble up import exception content for k8s module

Signed-off-by: Fabian von Feilitzsch <fabian@fabianism.us>

* Track down other places import exception is reported

* Add changelog fragment
2019-01-15 10:44:59 +10:00
Sumit Jaiswal 3f70518257
Support for NIOS modules to use environment variables in provider (#49056)
* env var username/paswd support

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

* including all env vars of nios doc

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

* fixing default wapi version in doc-s

* fixing review comment

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

* review statement fix

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-01-14 23:25:24 +05:30
Trishna Guha fc0f20a35e
Add missing parameters in get_config vyos (#50855)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-14 15:13:43 +05:30
Roberto Polli caa0c9d4cc Fixes #25725: strip quotes from lsb_release and distribution description. (#31143) 2019-01-11 12:07:26 -05:00
Abhijeet Kasurde db8702cdb8 Close all open filehandle (#50544)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 10:14:08 -05:00
Dhanuka 94a1d86d70 redfish_utils: fix reference to local variable 'systems_service' (#50298)
* fixes issue 50296

* fixes the indentation of the return statement

* Adds a conditional test into `_find_systems_resource()` to check the existence
of the Members of System resource

* updates the error message

* harden the conditional test

* Add a changelog
2019-01-11 14:16:20 +00:00
Yuwei Zhou 0f6252baf3 dns zone enhancement and return curated value (#50740) 2019-01-11 16:38:29 +08:00
Sylvain Rabot f29256e4da Azure: Add Availability Zones (#49243)
Signed-off-by: Sylvain Rabot <s.rabot@lectra.com>
2019-01-11 09:34:06 +08:00
Matt Martz 8a2d39bcb2
Guard creating HTTPSClientAuthHandler behind HTTPS checks (#50523)
* Guard creating HTTPSClientAuthHandler behind HTTPS checks. Fixes #50339

* linting fixup
2019-01-10 09:41:13 -06:00
Sumit Jaiswal 40a806d156
PR to fix the issue of keyerror in Nios api (#49183)
* ipv4addr keyerror fix

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

* fix review comment

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-01-10 09:50:48 +05:30
Sumit Jaiswal 3784abc96a
To resolve NIOS race condition when ip allocated via NIOS next available ip function (#49818)
Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* resolves bug 45218

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

* fixing review comments
2019-01-10 09:50:27 +05:30
Alex Stephen 1d747649e6 New module: gcp_bigquery_table_facts (#50679) 2019-01-08 20:25:47 -05:00
vpiserchia 774a667591 Add Devuan Support for ascii release - resolve 49615 (#49616)
* Add Devuan Support for ascii release - resolve 49615

* Devuan Ascii does not have the VERSION_ID in the /etc/os-release file, we need to set NA
2019-01-07 17:08:01 -05:00
Gaudenz Steinlin 35f17bf4c2 Cloudscale volume (#49887)
* Cloudscale integration test setup

CloudProvider and CloudEnvironment classes for Cloudscale integration
tests. This also contains a cloudscale_common role with common
variables for all tests.

* cloudscale_volume module

New cloud module to manage volumes on the cloudscale.ch IaaS service.
2019-01-07 22:29:01 +01:00
Ricardo Carrillo Cruz f9079274e7
Checkpoint httpapi plugin (#49929)
* Add checkpoint httpapi plugin and access rule facts module

* WIP checkpoint_access_rule module

* Add publish and install policy, plus fix empty json object request for publish

* Refactor publish and install_policy onto module_utils

* Add update resource logic

* Add checkpoint_host_facts module

* Return code and response on get_acess_rule function

* Add checkpoint_host module

* Add checkpoint_run_script module

* Add checkpoint_task_facts module

* Show all tasks if no task id is passed

Note, this is only available on v1.3 of Checkpoint WS API

* Add update logic to checkpoint host

* Add full details on get task call

* Add checkpoint httpapi plugin

* Fix pep8

* Use auth instead of sid property and return False on handle_httperror method

* Fix version in docstring

* Remove constructor

* Remove Accept from base headers

* Do not override http error handler and assign Checkpoint sid to connection _auth

There is scaffolding in the base class to autoappend the token, given
it is assigned to connection _send

* Use new connection queue message method instead of display

* Remove unused display

* Catch ValueError, since it's a parent of JSONDecodeError

* Make static methods that are not used outside the class regular methods

* Add missing self to previously static methods

* Fix logout

Was carrying copy pasta from ftd plugin

* Remove send_auth_request

* Use BASE_HEADERS constant

* Simplify copyright header on httpapi plugin

* Remove access rule module

* Remove unused imports

* Add unit test

* Fix pep8

* Add test

* Add test

* Fix pep8
2019-01-07 14:02:29 +01:00
Jordan Borean b967f4dcc1 dnf/yum - added install_weak_deps option (#50525)
* dnf/yum - added install_weak_deps option

* skip creating weak dep packages if rpm doesn't support it

* fix rpm check for older hosts
2019-01-04 11:37:59 -05:00
Ganesh Nalawade 71113ee291
Fix backup issue in network config modules and network action plugins common code refactor (#50301)
* Fix backup issue in network config modules

*  Fix `get_working_path` not found issue introduced due to
   backup config code refactor (PR #50208)

*  Further refactor config related action plugins to minimize
   duplicate code

*  Remove unwated imports in config action plugins

* Add common network class for action plugin and related code refactor

* Fix review comment
2019-01-04 16:06:13 +05:30
Sumit Jaiswal 189fcb37f9
Added new module to support NIOS Fixedaddress DHCP property (#49119)
Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* nios fixedaddr new module

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

* updating name

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

* added unit tests

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-01-04 13:00:12 +05:30
Toshio Kuratomi c18da65089 Add a CLIArgs Singleton class that will hold the parse cli arguments 2019-01-03 18:12:23 -08:00
Toshio Kuratomi 5844c8c7f0 Cleanups to the common.sys_info API
* Move get_all_subclasses out of sys_info as it is unrelated to system
  information.
* get_all_subclasses now returns a set() instead of a list.
* Don't port get_platform to sys_info as it is deprecated.  Code using
  the common API should just use platform.system() directly.
* Rename load_platform_subclass() to get_platform_subclass and do not
  instantiate the rturned class.
* Test the compat shims in module_utils/basic.py separately from the new
  API in module_utils/common/sys_info.py and module_utils/common/_utils.py
2019-01-03 16:21:09 -08:00
Dag Wieers f90ec17465
ACI: Implement encoded query_string (#50358)
This requires urldecode support in Ansible
2019-01-04 00:38:57 +01:00
Abhijeet Kasurde ae404d1476 gcp: documentation update (#50183)
* gcp: documentation update

* Update example about dynamic inventory
* minor typo fixes in gcp_utils
* Additional information about enabling inventory plugin in ansible.cfg

partially fixes: #44404

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-03 10:02:46 -05:00
Joseph Benden d810acf7a5 Add support for Kali Linux detection. (#50331)
Signed-off-by: Joseph Benden <joe@benden.us>
2019-01-03 09:43:24 +05:30
Wojciech Wypior 78e81b2965 fixed a bug in transform_name (#50213) 2019-01-02 13:10:51 -06:00
Felix Fontein a1dfce3aa1 ACME: add seealso references (#50320)
* Add seealso references to ACME modules.

* Bump to latest drafts.
2018-12-26 13:26:46 +00:00
Nathaniel Case f05979932b
Allow AnsibleVaultEncryptedUnicode to pass through exec_jsonrpc (#48306)
* Allow AnsibleVaultEncryptedUnicode to pass through exec_jsonrpc

* Add changelog
2018-12-21 11:15:18 -05:00
Nathaniel Case c093ea5a28
Merge backup functionality across config action plugins (#50208)
* Merge backup functionality across config action plugins

* Port updated cli_config
2018-12-21 10:30:33 -05:00
Dag Wieers 14b03ac15f
MSC: Various bugfixes and features enhancements (#50200)
* MSC: Various bugfixes and features enhancements

This PR includes:
- Lookups of roles, labels and domains
- Auto-create new labels
- Improvements to comparing complex datastructures
- Force removal of sites
- Support non top-level queries
- Document internal functions
- Add parameter types to modules
- Fix documentation examples
- Improvements to idempotency wrt. returning changed
- Support site locations
- Update permission list
- Various improvements to integration tests

* Fix Ci issues
2018-12-20 18:18:46 +01:00
Dhanuka 44e2cbe7b7 Update `Unknown error` to specific error message (#50129)
* Update `Unknown error` to specific error message

outputs the Exception received rather than just 'Unknown error'
fixes: issue/49713

* Update `Unknown error` to specific error message

improves the error message
2018-12-20 12:13:24 +00:00
Sumit Jaiswal f76d7bdbef
New Module for creating, managing Infoblox NIOS nameserver groups (#49124)
* adding new nios_nsgroup module

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

* adding new nios_nsgroup module

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

* adding new nios_nsgroup module

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

* fix shippable errors

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

* added unit tests

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2018-12-20 14:36:41 +05:30
Zim Kalinowski 7a8fcfbaea
fixing network client version (#50182) 2018-12-20 16:35:55 +08:00
Anil Kumar Muraleedharan eab3b02cb3 Refactoring of cnos_interface module like what followed by other vendors (#49927)
* Refactoring of cnos_interface module like what followed by other vendors

* To remove cnos-interface from E326 validation ignore list

* Effect of default parameters impacted UT
2018-12-19 11:38:19 -05:00
Toshio Kuratomi bd072fe83a
Make the timeout decorator raise an exception out of the function's scope (#49921)
* Revert "allow caller to deal with timeout (#49449)"

This reverts commit 63279823a7.

Flawed on many levels

* Adds poor API to a public function
* Papers over the fact that the public function is doing something bad
  by catching exceptions it cannot handle in the first place
* Papers over the real cause of the issue which is a bug in the timeout
  decorator
* Doesn't reraise properly
* Catches the wrong exception

Fixes #49824
Fixes #49817

* Make the timeout decorator properly raise an exception outside of the function's scope

signal handlers which raise exceptions will never work well because the
exception can be raised anywhere in the called code.  This leads to
exception race conditions where the exceptions could end up being
hanlded by unintended pieces of the called code.

The timeout decorator was using just that idiom.  It was especially bad
because the decorator syntactically occurs outside of the called code
but because of the signal handler, the exception was being raised inside
of the called code.

This change uses a thread instead of a signal to manage the timeout in
parallel to the execution of the decorated function.  Since raising of
the exception happens inside of the decorator, now, instead of inside of
a signal handler, the timeout exception is raised from outside of the
called code as expected which makes reasoning about where exceptions are
to be expected intuitive again.

Fixes #43884

* Add a common case test.

Adding an integration test driven from our unittests.  Most of the time
we'll timeout in run_command which is running things in a subprocess.
Create a test for that specific case in case anything funky comes up
between threading and execve.

* Don't use OSError-based TimeoutError as a base class

Unlike most standard exceptions, OSError has a specific parameter list
with specific meanings.  Instead follow the example of other stdlib
functions, concurrent.futures and multiprocessing and define a separate
TimeoutException.

* Add comment and docstring to point out that this is not hte Python3 TimeoutError
2018-12-18 18:01:46 -08:00
Martin Krizek 545edc9114 facts: detect FreeBSD KVM guests (#50030)
Fixes: #49158
2018-12-19 06:57:53 +10:00
Martin Krizek 29c3bb48e9 facts: correctly detect multiple ipv6 addresses per device (#50020)
Fixes #49473
2018-12-19 06:49:28 +10:00
Xander Madsen 1e415899ad GetManagerNicInventory (#49961)
* Add GetManagerNicInventory command for Manager category, and tweak redfish_utils' get_nic_inventory to accommodate manager nic interfaces

* Remove get_manager_nic_inventory, since it is unnecessary while using get_manager in get_nic_inventory

* Rework get_nic_inventory() to take a resource_type as a string, which will be just the category parameter from redfish_facts, making it clearer

* remove extraneous blank line to conform with pep8

* Add GetManagerNicInventory example task to EXAMPLES docstring
2018-12-18 09:58:17 -06:00
Dag Wieers 15d39f9108 Sanity fixes in various modules (#50080) 2018-12-18 09:53:46 -06:00
Nathaniel Case 6caed0c38b
ios retry config if section filter fails (#49485)
* Attempt to work around devices that don't understand | section

* Fix case of no flags
2018-12-18 10:34:32 -05:00
Felix Fontein 92ef500185 openssl_privatekey: add ECC support (#49416)
* Add cryptography backend for openssl_privatekey.

* Adding ECC support.

No support for X25519 and X449, since they don't support serialization.

* Improve finterprint calculation to work with Python 3.

* Add fingerprint check.

* Fix typo.

* Use separate curve option for elliptic curves, and use type 'ECC'.

* Using curve names as defined in IANA registry.

* Bump minimal supported cryptography version. Older versions might work as well, but I couldn't test them.

* Improve documentation.
2018-12-18 09:07:36 +00:00
Toshio Kuratomi 61b1daa65f Port from plaform.dist to ansible.module_utils.distro.linux_distribution
ci_complete
2018-12-17 11:01:01 -08:00
Adrian Likins 78a8d09082 Changes to bundled distro to be Python-2.6 compatible
* Port bundled distro to use optparse instead of argparse (py2.6)
* Use an absolute import to satisfy the current import testing harness
* Port from subprocess.check_output to subprocess.Popen.communicate() (py2.6)
* Add license location

The changes have been proposed upstream here:
https://github.com/nir0s/distro/pull/232

Upstream is contemplating a branch where everyone wanting python-2.6
support can collaborate without it becoming part of the regularly
supported releases.
2018-12-17 11:01:01 -08:00
Adrian Likins 5e1f8a48f3 Bundle a copy of github.com/nir0s/distro/distro.py
Since the 'platform.dist()' and 'platform.linux_distribution()'
methods will be removed from future versions of python, this
provides an alternative to replace ansibles use of those
methods.

lib/ansible/module_utils/distro.py is a copy of
https://github.com/nir0s/distro/blob/master/distro.py

This module is originally from https://github.com/nir0s/distro
and is license under the Apache License, Version 2.0.
2018-12-17 11:01:01 -08:00
f-bor 134c1a624e new network module: edgeswitch_vlan (#48041)
* initial commit

* better commands generation
2018-12-17 11:30:17 +05:30
Zim Kalinowski de3d188cdd
support lro in azure_rm_resource (#49919) 2018-12-17 13:21:25 +08:00
Toshio Kuratomi 175f3b51e5 Ensure that current uses of BaseException are required
* In some cases, it appears that Exception should have been used instead
  as there's no need to catch sys.exit KeyboardInterrupt and similar.
* In a few cases, it appears that BaseException is used because
  a library we depend on calls sys.exit() contrary to good coding
  design.  Comment those so that we know that those have been audited
  and found to be correct and change to use (Exception, SystemExit)
  instead.
2018-12-16 15:03:19 -08:00
Toshio Kuratomi 3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
anasbadaha fb8b59fcc6 Get Capabilities Support (#49880)
Signed-off-by: Anas Badaha <anasb@mellanox.com>
2018-12-14 09:45:31 +05:30
Jordan Borean 4019d4f6d1
Windows Privileges - moved util code to it's own C# util (#48897)
* Windows Privileges - moved util code to it's own C# util

* Rename Enabler class to PrivilegeEnabler to remove ambiguity

* rename Utils to PrivilegeUtil

* fix missing util name changes
2018-12-14 12:00:46 +10:00
FragmentedPacket 69988cfca0 Netbox Module: netbox_ip_address (#48424)
* Tested netbox_ip_address with several conditions and working as intended
2018-12-13 09:40:15 +00:00
Jordan Borean 190d1ed7f1 win become: refactor and add support for passwordless become (#48082)
* win become: refactor and add support for passwordless become

* make tests more stable

* fix up dep message for Load-CommandUtils

* Add further check for System impersonation token

* re-add support for become with accounts that have no password

* doc fixes and slight code improvements

* fix doc sanity issue
2018-12-12 17:15:25 -08:00
Mariusz Mazur d8a690952e k8s_service: add new kubernetes module for handling Services (#48872)
* k8s: add k8s_kind arg to KubernetesRawModule

Single–kind k8s modules (e.g. k8s_service) do not have a module
parameter called 'kind' and need to pass a static 'kind' on
KubernetesRawModule class creation. Hence this change.

* k8s: make 'validate' and 'wait' mod params optional

Not all k8s modules utilizing KubernetesRawModule will use these.

* k8s_service: new k8s module for handling Services
2018-12-12 11:18:36 -05:00
Ondra Machacek 9d965906bd ovirt: Return also nested attributes of structs (#49239)
Previously we returned only nested attributes of the lists not of the
structs, this patch fixes it.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2018-12-12 05:39:31 -05:00
Dave Bendit b67719ba1d Docker common consolidation (#49707)
* [docker] Consolidating Python Boolean conversion for Docker API (#49563)

* [docker] Consolidating docker option min version checks (#49564)

* [docker] Moving option min version checks out of docker_swarm (#49564)

Also renaming Boolean cleanup function and fixing docker_container minimum
version check for network interfaces.

* Cleanup from PR feedback
2018-12-12 09:05:12 +00:00
Nathaniel Case 02432565cd
Remove cliconf from httpapi connection (#46813)
* Bare minimum rip out cliconf

* nxapi changeover

* Update documentation, move options

* Memoize device_info

* Gratuitous rename to underscore use of local api implementation

Fixup eos module_utils like nxos

* Streamline version and image scans

* Expose get_capabilities through module_utils

* Add load_config to module_utils

* Support rpcs using both args and kwargs

* Add get_config for nxos

* Add get_diff

* module context, pulled from nxapi

We could probably do this correctly later

* Fix eos issues

* Limit connection._sub_plugin to only one plugin
2018-12-11 16:26:59 -05:00
Josue David Hernandez 9202ef60b0 set ansible_os_family from name variable in os-release for clearlinux OS (#49639)
* set ansible_os_family from name variable in os-release for clearlinux system

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>

* Add os_family for clear linux and clear linux mixes

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>
2018-12-11 16:12:38 -05:00
Brian Coca 63279823a7
allow caller to deal with timeout (#49449)
* allow caller to deal with timeout

  a start for #43884 and timeout issues in long operations
2018-12-11 15:21:18 -05:00
rajeevarakkal 62b2a08cfb Add DellEMC iDRAC Firmware module (#46675)
Co-Authored-By: rajeevarakkal <36444805+rajeevarakkal@users.noreply.github.com>
Co-Authored-By: Sviatoslav Sydorenko <578543+webknjaz@users.noreply.github.com>
2018-12-11 16:38:01 +01:00
Brian Coca e53a7856f6
simplify vm_guest detection code (#49378)
- remove a lot of repetition
  - change lists to tuples since they are faster to assign
2018-12-10 11:42:51 -05:00
Andreas Krüger 18bf48cec2 Pull documentation of ansible.module_utils.basic from (improved) doc strings. (#48416) 2018-12-10 09:17:15 -06:00
Carsten Koester e25dac946f openstack: fix parameter handling when cloud provided as dict (#42899)
* openstack: fix parameter handling when cloud provided as dict

If a cloud is provided as dictionary:

 * Do not assert that 'interface' parameter is None. Instead,
   assert that it is 'public'.
 * Assert that 'auth_type' parameter is not set.

Fixes #42858

* os_user: Include domain parameter in user lookup

If a "domain" parameter is provided, use it in looking up
whether the user already exists.

Fixes #42901

* os_user: Include domain parameter in user deletion

If a "domain" parameter is provided, use it in deleting
the user also.

Fixes #42901
2018-12-10 11:41:22 +00:00
Dave Bendit f545763296 [docker_network_facts] Creating docker_network_facts module (#49644)
Part of #49267
2018-12-10 15:24:05 +10:00
Andreas Calminder 876b637208 move some of basic into common (#48078)
* move file functions into common.file

* move *_PERM_BITS and mark as private (_*_PERM_BITS)

* move get_{platform, distribution, distribution_version} get_all_subclasses and load_platform_subclass into common.sys_info

* forgot get_distribution_version, properly rename get_all_subclasses

* add common/sys_info.py to recursive finder test

* update module paths in test_platform_distribution.py

* update docstrings, _get_all_subclasses -> get_all_subclasses

* forgot to update names

* remove trailing whitespace
2018-12-07 10:21:11 -08:00
Pavlos Tzianos a4eb4b2551 Rabbitmq user permission fixes (#49404)
* Simplify permission changing code for rabbitmq_user module

* Add check for multiple permission dicts for same host to rabbitmq_user module

* Add docstring for _get_permission method of rabbitmq_user

* Fix method that compares vhost permissions in rabbitmq_user

* Add tests for rabbitmq_user module

* Add helper function for simulating collections.Counter functionality
2018-12-07 13:19:08 +00:00
Bill Dodd 303c3494e6 remove non-standard CreateBiosConfigJob command (#48740) 2018-12-06 15:05:31 -05:00
Jose Delarosa d459c2c582 Fix idempotency issues 2 (#49333)
* Fix idempotency issues in set_manager_attributes

* Add changed status in set_bios_default_settings
2018-12-06 18:52:31 +00:00
Thomas Picariello c8ecac8dc2 Fix google auth scoping for unscoped credentials (#46740)
* Fix google auth scoping for unscoped credentials

* Add changelog fragment
2018-12-06 11:29:57 +00:00
Ganesh B Nalawade 329cbcf973 Fix in dict_merge to check for Mapping
*  Based on review comments for PR #49474 change the check
   for isinstance from `dict` to `Mapping`
2018-12-05 10:31:32 -08:00
Josue David Hernandez 6d42c5020a Fix for changes in clearlinux (#49344)
* Fix for changes in clearlinux

clearlinux is now providing /etc/os-release file and ansible is identifying as NA
then this change allow ansible to find it

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>

* Add changelog fragment for clearlinux changes

Signed-off-by: Josue David Hernandez Gutierrez <josue.d.hernandez.gutierrez@intel.com>
2018-12-05 13:13:40 +00:00
Naval Patel 880390ca0a Added new module lxca_nodes for Lenovo XClarity Administrator (#46767)
* Added new module lxca_nodes
2018-12-05 10:18:36 +00:00
Abhijeet Kasurde 1b04571ea0
VMware: Fix module usages in module_utils (#49421)
* VMware: Fix module usages in module_utils
* Skip test for Python 2.6 as SSL context is not available in Python 2.6

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-04 10:11:29 +05:30
Paul Neumann 4c58fbc64d nxos: Make sure config ends with a linefeed (#48465)
The config parser on NX-OS does not deal with configs that do not end
with a linefeed correctly which leads to various issues when the config
is loaded from startup-config upon reboot. Therefore, ensure that the
config returned is terminated by a linefeed.
2018-12-03 19:26:26 +05:30
Felix Fontein b0c7efcc6b ACME: add diff to acme_account, account_public_key to acme_account_facts, and general refactoring (#49410)
* Only one exit point.

* Refactoring account handling.

* Add diff support for acme_account.

* Insert public_account_key into acme_account_facts result and into acme_account diff.

* Add changelog.
2018-12-02 18:40:14 +01:00
Felix Fontein 34c57b4c42 ACME: fix bug introduced in #49266, work around problem with Pebble (#49407) 2018-12-02 10:07:21 +01:00
Peter Sprygada 2a4be2748f fixes an issue with dict_merge in network utils (#41107)
This change address a problem where the dict_merge function would fail
due to the value being a nested dict.  This will now recursively pass
the value back through the dict_merge function.
2018-11-30 17:52:33 +05:30
Lex Rivera aa484c0835 Fix GCE and scaleway VM detection (#47193)
* Fix Google cloud engine & Scaleway VM detection
2018-11-30 10:38:43 +00:00
Felix Fontein 2bd8e47247 add acme_inspect module (#48444) 2018-11-30 08:26:18 +01:00
rajaspachipulusu17 fe147289b7 Pluribus Networks pn access list module (#49176)
* Pluribus Networks pn access list module
* Added shlex import which was missing and added correct author
* Added an extra space which is according to pep8
2018-11-30 12:40:43 +05:30
Douglas Fraser d6d16fa619 Extend DMI form factors list to match SMBIOS standard 3.2.0 (2018-04-26) (#42239)
Signed-off-by: Douglas Fraser <doug+git@idmf.net>
2018-11-29 09:16:32 -05:00
Felix Fontein 1e0ab16247 Add basic unit tests for module_utils/acme.py. (#49103) 2018-11-29 09:32:15 +00:00
Felix Fontein b842b1b97e ACME: improve error handling (#49266)
* Improve error handling: when parse_json_result is False, still return the error message.

* Remove content body from info dict.

* Add changelog.
2018-11-29 09:00:39 +01:00
Ganesh Nalawade 829fc0feda
Fix iosxr netconf plugin response namespace (#49238)
* Fix iosxr netconf plugin response namespace

*  iosxr netconf plugin removes namespace by default
   for all the responses as parsing of xml is easier
   without namepsace in iosxr module. However to validate
   the response received from device against yang model requires
   namespace to be present in resposne.
*  Add a parameter in iosxr netconf plugin to control if namespace
   should be removed from response or not.

* Fix CI issues

* Fix review comment
2018-11-29 13:21:41 +05:30
Jordan Borean 098b18e846
win basic - fix issue when serializing PSObjects in result (#48860) 2018-11-28 12:17:49 +10:00
jokurz 6404c6484c Fix fact ansible_distribution_version for AIX (#48570)
* Fix fact ansible_distribution_version for AIX

* aix_facts: Check oslevel output
2018-11-27 19:43:07 -05:00
Felix Fontein 35049a148a Don't jsonify after and before on diff return. (#49092) 2018-11-26 13:52:21 +00:00
Julian Kornberger 859b6a6526 Fix virt role detection for Hetzner cloud servers (#42023)
See also https://wiki.hetzner.de/index.php/CloudServer/en
2018-11-24 16:20:57 +00:00
Josue David Hernandez 8880c72682 Adding support for clearlinux showing release nuber (#47101)
Signed-off-by: Josue David Hernandez <josue.d.hernandez.gutierrez@intel.com>
2018-11-23 19:22:45 +00:00
Will Thames 960ebd981f k8s append_hash (#48830)
* Add append_hash functionality to k8s module

append_hash adds a hash based on the contents of a ConfigMap
or Secret to the name - this enables immutable ConfigMaps and
Secrets.

* Provide k8s_config_resource_name plugin

The k8s_config_resource_name filter plugin provides a means of determining
the name of ConfigMaps and Secrets created with append_hash

* Add changelog fragment

* fix failing tests

* Update openshift version needed for append_hash
2018-11-22 08:14:43 +00:00
Abhijeet Kasurde 789b0ef0c9 Pass string command in run_command (#48805)
When there are spaces in command args passed as a list,
then run_command and underlying subprocess fails.
This can be overcome by passing command as string rather than list.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-20 00:01:54 -05:00
Mike Wiebe a721572206 Fix issues with nxos_os_install module (#48811)
* Use expect module to copy files

* Remove old and redundant upgrade files

* Return error message instead of code

* Cleanup copy command code

* Fix force issue in nxos_install_os

* new nxos_install_os integration tests

* Uncomment transport tests

* Revert negative test change

* Remove combined option that is no longer required

* Make shippable happy

* Add n5k test files
2018-11-20 10:14:15 +05:30
Jordan Borean e62edfc796
Ansible.Basic - fix deprecate return value (#48908) 2018-11-20 09:26:16 +10:00
Tim Rupp 8d2beea1cf
Removes commented out code (#48902) 2018-11-19 13:51:12 -08:00
Scott Barvick 0f0e976183 updated .decode('utf-8') to to_text() 2018-11-19 13:34:04 -05:00
Scott Barvick 1ff7b258f4 make compatible with both python 2 and 3 by setting the encoding 2018-11-19 13:34:04 -05:00
Chris Archibald 50808ffa8f Add common files for ONTAP and SOLIDFIRE unit tests (#48739)
* And unit test files

* Changes to netapp.py

* Matt's changed, and pep8 change for test_netapp.py
2018-11-19 14:43:32 +00:00
Felix Fontein 891687284f docker_* modules: improve diff (#48546)
* Add difference tracking tool

* Improve --diff mode for docker_container.

* Improve diffs of sets by ordering the sets.

* Rewrite imports, get rid of HAS_DOCKER_PY_x variables and use docker_version instead.

* Rename container -> active (more generic).

* Add --diff for docker_volume. Change old diff output.

* Add --diff for docker_network. Change old diff output.

* Add --diff for docker_swarm_service.

* Add changelog.

* Add entry for porting guide on docker_network and docker_volume.
2018-11-19 09:59:54 +00:00
Bojan Vitnik b0cc240665 New module: xenserver_guest - manages XenServer VMs (#41041)
* XenServer related modules - initial commit

 - New module_util: xenserver. Contains common module arguments, functions
   and classes useful for future XenServer related modules.
 - New module_docs_fragment: xenserver. Describes common module arguments.
 - New module: xenserver_guest. Supports VM deployment, reconfiguration,
   removal, detection of changes, state management, fact gathering and
   Ansible check mode. Module is fully documented.
 - Updated: developing_module_utilities.rst.
 - Module params, workflow and some functions are based on or taken from
   vmware_guest module.

* Implemented support for configuring custom VM params in xenserver_guest module

* Compatibility fixes and documentation update

 - xenserver module_util: implemented support for XenAPI.py version older
   than 7.2.
 - xenserver module_util: PEP8 fixes.
 - xenserver module_util: Added missing imports.
 - xenserver module_util: Copyright notice fixes.
 - xenserver_guest module: updated module documentation with notes regarding
   module requirements and compatibility.
 - xenserver_guest module: bumped version_added to 2.7.
 - xenserver_guest module: minor fixes.

* VM power state management refactoring, subargument specs in xenserver_guest module, other fixes

 - VM power state management code moved from xenserver_guest module to xenserver
   module_util (set_vm_power_state function).
 - Code for waiting for VM IP address moved from xenserver_guest module to
   xenserver module_util (wait_for_vm_ip_address function).
 - xenserver module_util: implemented get_object_ref function to clean up
   a lot of repeated code in xenserver_guest module.
 - xenserver module_util: added additional aliases 'host' and 'pool' for
   'hostname' common module argument. They are more in line with what
   XenServer users are familiar with.
 - xenserver module_util: minor fixes.
 - xenserver_guest module: removed VM state management other than 'present',
   'absent' and 'poweredon'. Other states are to be managed by separate module.
 - xenserver_guest module: added subargument specs and cleaned up custom code
   for subargument validation.
 - xenserver_guest module: reorganized code for disk and network reconfiguation
   to minimize code duplication.
 - xenserver_guest module: renamed 'cdrom.iso' module argument to
   'cdrom.iso_name', avoids cryptic error message when parameter is
   missing.
 - xenserver_guest module: documentation update.
 - xenserver_guest module: changes in error messages.
 - xenserver_guest module: minor fixes.

* Implemented guest OS network parameter configuration and other

 - xenserver module_util: moved code for validating MAC addresses from
   xenserver_guest module and implemented a range of functions for validating
   IP addresses and related entities and converting prefixes to netmasks and
   vice versa.
 - xenserver module_util: updated fact gathering code to support guest OS
   network parameters.
 - xenserver module_util: added docstrings.
 - xenserver module_util: minor changes.
 - xenserver_guest module: implemented support for guest OS network parameter
   configuration.
 - xenserver_guest module: changed CD-ROM handling code.
 - xenserver_guest module: changed so that user friendly version of changes
   list is always returned in module result.
 - xenserver_guest module: error message changes.
 - xenserver_guest module: added docstrings.
 - xenserver_guest module: documentation update.
 - xenserver_guest module: minor changes and fixes.

* Various fixes and code cleanup

 - xenserver module_util: implemented get_xenserver_version function.
 - xenserver module_util: moved customization agent detection code to
   gather_vm_params function. customization_agent variable is now part of
   vm_params. An exception in customization agent detection code that prevented
   deployment of new VMs is also fixed.
 - xenserver module_util: added support for alternative VM state names with
   dash and underscore in set_power_state function.
 - xenserver_guest module: removed customization agent detection code
   as it is now implemented in xenserver module_util.
 - xenserver_guest module: fixed a bug in xenserver_data update code that
   occured when "networks.mac" was not specified in module params and
   other fixes.
 - xenserver_guest module: some code cleanup.
 - xenserver_guest module: bumped version_added to 2.8.
2018-11-19 01:50:20 -05:00
Dag Wieers 5f6a350b3a Fix a possible issue with comparing values with $null (#37763)
This PR includes:
- Fix $null comparison.
- Simplify Get-AnsibleParam in the same effort
2018-11-19 09:28:04 +10:00
Jordan Borean fd4b282f6f
Ansible.Basic.cs - fix check mode run with nested spec (#48838) 2018-11-17 18:15:36 +10:00
Tim Rupp a4921cd5d9
Removes more f5-sdk references from f5 modules (#48771) 2018-11-16 20:43:46 -08:00
Will Thames aaf29c785f Provide Kubernetes resource validation to k8s module (#43352)
* Provide Kubernetes resource validation to k8s module

Use kubernetes-validate to validate Kubernetes resource
definitions against the published schema

* Additional tests for kubernetes-validate

* Improve k8s error messages on exceptions

Parse the response body for the message rather than returning
a JSON blob

If we've validated and there are warnings, return those too - they
can be more helpful

```
"msg": "Failed to patch object: {\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},
       \"status\":\"Failure\",\"message\":\"[pos 334]: json: decNum: got first char 'h'\",\"code\":500}\n",
```
vs
```
"msg": "Failed to patch object: [pos 334]: json: decNum: got first char 'h'\nresource
        validation error at spec.replicas: 'hello' is not of type u'integer'",
```

* Update versions used

In particular openshift/origin:3.9.0

* Add changelog for k8s validate change
2018-11-16 12:44:59 +00:00
lwm ae0054a79e Add new linode_v4 module. (#46151)
Refs:
  * https://github.com/ansible/ansible/issues/36348
  * https://github.com/ansible/ansible/pull/41875
2018-11-16 12:39:05 +00:00
Anton Nikulin 9770ac70f9 FTD modules: upsert functionality and bug fixes (#47747)
* FTD modules: bug fixes and upsert functionality

* Fix sanity checks

* Fix unit tests for Python 2.6

* Log status code for login/logout

* Use string formatting in logging
2018-11-16 11:55:36 +05:30
Tim Rupp 2cd4224fb3
Fixes ipv6 and defaults errors (#48776) 2018-11-15 20:15:11 -08:00
Tim Rupp 0e71f62a95
Various small fixes to bigip modules (#48769) 2018-11-15 19:48:22 -08:00
Alex Stephen 5ad5677b71 GCP Bug Fixes (#48276)
* GCP Bug fixes

* added util file changes
2018-11-15 13:44:10 +00:00
Zim Kalinowski 406da7a568
upgrading azure-mgmt-compute to the latest (#47601)
* upgrading azure-mgmt-compute to the latest
2018-11-15 15:24:42 +08:00
Zim Kalinowski dfe554eaf8 upgrading network packages (#47639) 2018-11-15 09:26:35 +08:00
John Imison 54c54fc960 RabbitMQ publisher module (#44718)
* RabbitMQ basic publisher

* Split out of a module_util. Preparing for binary posts.

* Can now send a file to the queue.

* Allowing an empty queue to be used so RabbitMQ returns a random queue.

* Added RETURN docstring.

* Updated and added tests.  Now returns a dictionary with msg, content_type and queue published to.

* Extra tests and introduced a none url method of providing server host details.

* Added testing and errors for url/host parameters.

* Updating RETURN sample

* Added an image file for testing binary publishing.

* Minor changes to test.

* Added filename key/value to headers if a binary file is published.

* Adding ability to specify headers.

* Renaming to rabbitmq_publish

* Changed tests to reflect name, and, preparing for testing headers.

* Updated some documentation

* Minor pip install update

* Modifications after feedback.

* Updates based on feedback.

* Fixing pep8 issue.

* Updating module and module_util name to amqp.

* Reverting back to rabbitmq_publish naming.

* Minor addition to notes.
2018-11-15 11:06:54 +10:00
Sumit Jaiswal feac12f9b7
fix nios modules (#48559)
* resolves 47839

* update name

* update name

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

* update name tests

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

* update name tests

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

* modifying the condn

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2018-11-14 18:05:25 +05:30
Abhijeet Kasurde 8cd395f595 VMware: Refactor vmware_cluster (#37072)
* Update cluster logic
* Refactor code
* Documentation update

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-14 04:36:48 -05:00
Jordan Borean 4fc013a7fa powershell - fix async for Ansible.Basic (#48404)
* powershell - fix async for Ansible.Basic

* moved old out outside of the try block
2018-11-13 12:08:27 -08:00
Will Thames 4e1e9589b5 Add wait functionality to k8s module (#47493)
Provide wait and wait_timeout parameters and wait for certain
resource kinds to become available.
2018-11-13 12:50:15 +00:00
Abhijeet Kasurde 03f71e778b
Refactor ingate module_utils (#47959)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-13 17:42:53 +05:30
Dag Wieers 24d7b4a660
Various small fixes to MSC modules and tests (#48417) 2018-11-13 09:01:45 +01:00
Jose Delarosa 2b74a17996 Do not reboot after updating BIOS configuration 2018-11-12 16:24:13 -05:00
Tzur Eliyahu 616ba5d807 IBM storage: fix domain issue by adding more keywords to pyxcli avail… (#48345)
IBM storage: fix domain issue by adding more keywords to pyxcli available fields
2018-11-12 10:47:38 -05:00
Tim Rupp 46fa68ac27
Updates to the f5 module utils (#48428)
Updating module utils to align with functionality in modules
2018-11-09 11:06:18 -08:00
FragmentedPacket 3147dc2a15 Netbox_device.py module (#46936)
* netbox_device module

* Add init.py to each directory

* Fixed a few of the shippable failed tests

* No need for import pynetbox in netbox_utils-removed, changed syntax for set

* A bit more cleanup

* Fixed the 'data' to have suboptions

* Fixed formatting for device_role

* Attempting to fix shippable errors

* Final testing and updated documentation

* Fixed return type and removed testing result files

* Updated some returns to be a list to keep 'meta' formatting consistent

* Updated module to standardize the meta return type

* Updated short_description and added David Gomez as author

* Updated short_description, added David Gomez as author, added module direcotry to BOTMETA.yml

* Updated data type to dict and removed JSON from netbox_utils
2018-11-09 07:24:13 +00:00
Tim Rupp 7290bc23b8
Removes the f5-sdk from bigip_provision (#48397) 2018-11-08 21:46:56 -08:00
Simon Dodsley d7975462da Update and correct iSCSI facts collection (#44644)
Co-authored-by: Simon Dodsley <simon@purestorage.com>
2018-11-08 21:24:51 -05:00
Daniel Balko 58ae93d273 aix_facts: statvfs works on AIX too so make use of it (#46759) 2018-11-07 18:21:26 -05:00
Raphael Meudec c062f37984 Bug 42787 create volume with label (#46527)
* add None value to docker-version so it can be mocked in tests
2018-11-07 13:31:12 +00:00
Jordan Borean 501acae5ab
Added basic equivalent to PowerShell modules (#44705)
* Added basic equivalent to PowerShell modules

* changes based on latest review

* Added tests

* ignore sanity test due to how tests are set up

* Changes to work with PSCore

* Added documentation and change updated more modules

* Add some speed optimisations to AddType

* fix some issues in the doc changes

* doc changes
2018-11-07 10:53:17 +10:00
Sloane Hertel e1aa05bf9a
[AWS] Allow the profile to take precedence to allow better compatibility between ~/.boto and ~/.aws/credential files (#45806) 2018-11-06 14:30:54 -05:00
Mariusz Mazur a5c8e952e8 k8s_facts: fix handling of unknown resource types (#47857) 2018-11-06 14:43:55 +01:00
Lars b6b238ae43 facts: suse: fix SLES4SAP12 detection (#44388) 2018-11-06 08:12:38 -05:00
Jordan Borean 8787c65b65
powershell: add ability to ignore specific warnings in C# Add-Type (#47643) 2018-11-06 10:48:31 +10:00
Adam Miller 1c777976c5 Correct yum and dnf autoremove behavior (#47902)
* Correct yum and dnf autoremove behavior

Sanity check args passed to autoremove

Fixes #47184

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

* fix docs

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-11-05 16:00:42 -05:00
Yauhen Kirylau 14037443de fix(tasks: synchronize): wrap in sshpass if ssh password was provided (#30743)
* fix(tasks: synchronize): wrap in sshpass if ssh password was provided

Closes #16616

* fix(tasks: synchronize): pass rsync password to sshpass via fd

* fix(tasks: synchronize): use fail_json instead of AnsibleError

* fixup! fix(tasks: synchronize): use fail_json instead of AnsibleError

fix python2 handling

* feat(module_utils: basic: run_command): add optional arguments `pass_fds` and `before_communicate_callback`

* fix(tasks: synchronize): use module.run_command instead of subprocess.Popen

* fixup! fix(tasks: synchronize): use module.run_command instead of subprocess.Popen

remove unused import

* fixup! fixup! fix(tasks: synchronize): use module.run_command instead of subprocess.Popen

pass_fds only if they passed to run_command()
2018-11-05 15:00:34 -05:00
Felix Fontein 3cca4185be docker_container: simplify minimal required version per option handling (#47711)
* Store parsed docker-py / docker API versions in client.

* Began refactoring 'minimal required version' for docker_container options.

* Removing some fake defaults.

* Added changelog.

* Improve tests (check older docker versions).

* Fix comparison. The breaking point is not docker-py 2.0.0, but 1.10.0.

(Verified by testing with these versions.)

* Move docker-py/API version detection to setup_docker.

* Add YAML document starter.

* docker_network requirement for docker-py was bumped to 1.10.0 in #47492.
2018-11-05 10:25:11 +10:00
René Moser 788247583b
vultr: fix for API returned unexpected empty list (#48036)
* vultr: fix for API returned unexpected empty list

* add changelog
2018-11-04 11:23:36 +01:00
Abhijeet Kasurde ab86051c0b Misc fixes for several errors
* aci: Correct usage in fail_json
* Fixes incorrect usage of fail_json
* Raise exception object

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-02 12:14:57 -04:00
f-bor 35b97a2fa7 edgeswitch_facts (#47618) 2018-11-02 18:50:11 +05:30
Joey 899e5645ed Add retry mechanism support for deactivating storage domain (Updated). (#47551) 2018-11-02 08:48:46 +00:00
Lindsay Hill a1b0d20368 New voss_config module (#47533)
* New voss_config module

* Updated test import paths as per #46996
2018-11-01 14:07:41 +05:30
Nilashish Chakraborty f0a057b63a
Add support for 25G and 100G interfaces (#47852)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-10-31 19:09:53 +05:30
Martin Krizek 4b8f2c99d2
yum: fix 'package == version' syntax (#47744) 2018-10-30 16:28:22 +01:00
Felix Fontein 73533d3fc2 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
2018-10-30 08:50:34 +00:00
Tim Rupp 10f3e0c187
Adds module to manage cookie persistence profiles in BIG-IP (#47786) 2018-10-29 20:47:25 -07:00
Dag Wieers 3e890bdbaa
Initial import of MSC module_utils (#46116)
This is required for upcoming MSC modules.
2018-10-29 18:45:42 +01:00
Tim Rupp 6e28b7d572
Remove the f5-sdk from more bigiq modules (#47721) 2018-10-29 10:10:11 -07:00
Abhijeet Kasurde e7c83d6aa9
VMware: correct logic to pass ESXi SSL thumbprint (#47600)
Due to refactoring of task_error and wait_for_task method,
SSL thumbprint was lost in error message. This fixes the
retry mechanism of AddHost task.

Fixes: #47563

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-29 20:59:11 +05:30
Simon 2d6c01005d New facts module: Memset Memstore (#42387)
* initial commit of facts module to return usage of a Memstore cloudstorage product

* switch API wrapper to use basic auth instead of passing the api_key in the body

* add integration tests (disabled until we have a mock API to test against)

* bump ansible release version to 2.8
2018-10-29 12:27:03 +00:00
Simon Dodsley bba8c23585 Add user_agent into FlashBlade API calls (#46221) 2018-10-29 11:28:00 +00:00
Felix Fontein 92d9569bc9 ACME: add support for POST-as-GET if GET fails with 405. (#44988)
* Add support for POST-as-GET if GET fails with 405.

* Bumping ACME test container version to 1.4. This includes letsencrypt/pebble#162 and letsencrypt/pebble#168.

* Also use POST-as-GET for account data retrival.

This is not yet supported by any ACME server (see letsencrypt/pebble#171),
so we fall back to a regular empty update if a 'malformedRequest' error is
returned.

* Using newest ACME test container image.

Includes letsencrypt/pebble#171 and letsencrypt/pebble#172, which make Pebble behave closer to the current specs.

* Remove workaround for old Pebble version.

* Add changelog entry.

* First try POST-as-GET, then fall back to unauthenticated GET.
2018-10-29 10:32:53 +01:00
Felix Fontein b9706e2ff5 docker_container: improve race condition behavior for detach:no, auto_remove:yes behavior (#47712)
* Don't die when get_container is called for container which is terminating during get_container call.

If it terminates between client.containers() and client.inspect_container(),
the module will fail with an error such as
    Error inspecting container: 404 Client Error: Not Found ("No such container: xxx")

* Add changelog.
2018-10-29 08:22:52 +00:00
Abhijeet Kasurde 3568dc512a
Misc typo fixes (#47699)
fixes requried to required

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-28 12:35:30 +05:30
Johannes Brunswicker d3be5d5327 Creates base Sophos UTM module (#45781)
* Fixes #18568
* Commit of the first set of utm modules
* added documentation line for module_utils file
* removed other utm modules for the first pr
* added maintainers to botmeta
* implemented fixes for shippable
* fixed whitespaces and newlines in included doc fragment
* added types and choices to documentation
* fix for E501
* Implemented change requests
* changed utm_utils license to BSD
* changed str() to to_native()
* added a status state that will just return information about my object
* renamed state 'status' to 'info'
* added team_e-spirit to botmeta and added the team as maintainer for the utm_utils
* only return a result if the lookup was not empty. Do not return a null result
* removed info state
* added boilerplate
* made preparation for info-only modules
2018-10-26 23:21:54 +05:30
Philip Bove 055ee048ce VMware: Fixed vmware fact gathering when no physical interfaces have IP Addresses (#42600)
* Changed vmware_guest_facts to accuretly reflect ip as displayed in vcenter
* fixed ipv6 check
2018-10-26 23:11:58 +05:30
Rémy Léone 338605882e Add support for adding custom query parameters to URL (#46390) 2018-10-26 15:20:00 +01:00
Jim Gu 99ee30768a VMware: Avoid misleading PyVmomi error if requests import fails (#47313)
* Avoid misleading PyVmomi error if requests import fails

Requests is imported by the VMware module_utils as an external
dependency; however, because it is in a try/catch block containing the
imports for PyVmomi, if requests fails to import properly, Ansible will
instead complain about PyVmomi not being installed.

By moving the import outside of the try/catch block, if requests fails
to import, an error like the following will be returned:

    ImportError: No module named requests

This should result in less confusion.

* catch requests ImportError
2018-10-26 12:40:25 +05:30
Ingate Systems 9fe20123cf modules: network: Add initial support for Ingate modules (#47494)
* modules: network: Add initial support for Ingate modules

* modules: network: Add ingate module ig_unit_information

* module_utils: network: ingate: Use default 'v1' for version

* modules: network: ingate: Remove unused code
2018-10-26 09:47:58 +05:30
Jose Delarosa 1c37471274 Fix idempotency issues in set_bios_attributes
- Added check to see if attribute even exists, if not, it exits.
- Then checks if attribute is already set to value we want to update
  it to. If yes, then it exits and changed=False
- Otherwise updates the attribute and changed=True
2018-10-25 11:02:02 -04:00
Abhijeet Kasurde 5f404eb0c1
VMware: Add tag facts to vmware_guest_facts (#47495)
Fixes: #46460

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-25 09:45:38 +05:30
Johann Queuniet 74ce8ce935 Add API pagination support to Scaleway inventory (#46117)
* Add Scaleway API pagination to server inventory call

* Move Link parsing to helper module

* Correct some PEP8 errors

* Replace AnsibleError with ScalewayException in module_utils since the former doesn't work

* Simplify the regexes to match the intended purpose

* Cleanup helper to conform to review

* Cleanup Scaleway inventory to conform to review

* Flatten the conditional branches structure

* fix a regexp typo
2018-10-24 17:53:46 +01:00
Dag Wieers 691ff4b9e6 WinRM/PSRP: Ensure shell returns UTF-8 output (#47404)
* WinRM/PSRP: Ensure shell returns UTF-8 output

This PR makes UTF-8 output work in PSRP shells.

* Add win_command and win_shell integration tests

* Fix tests

* more test fixes
2018-10-24 10:40:54 +10:00
Jordan Borean ddfd1dbfc6
Add helper function to return helpful import error msg (#47409) 2018-10-24 07:21:36 +10:00
He Guimin 85ba30a3db Add new module ali_instance (#36898) 2018-10-23 13:02:21 -05:00
Adam Miller 0e3e646189
don't restrict disable_excludes choices incorrectly (#47453)
* don't restrict disable_excludes choices incorrectly

Fixes #47085

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-23 11:39:55 -05:00
Will Thames 00ccad9764 Use kubeconfig if either context or kubeconfig is set (#47373)
kubeconfig should be loaded if *either* or both of context
or kubeconfig is set (this allows picking a context and default
kubeconfig or picking a kubeconfig with default context)

Fixes #47149
2018-10-23 07:53:22 +01:00
Nijin Ashok bc741eb2a0 ovirt_vm: Fix issue in setting the custom_compatibility_version to NULL
Currently there is no way to reset the custom_compatibility_version to
NULL. If we provide a empty string('') to custom_compatibility_version,
it will fail with error "IndexError: list index out of range" at _get_minor
function.

To reset the custom_compatibility_version, we have to pass None value to
types.Version. The PR fixes the same.
2018-10-22 21:12:08 -07:00
Martin Krizek e8b6864e21 yum/dnf: fail when space separated string of names (#47109)
* yum/dnf: fail when space separated string of names

* Groups allow spaces in names
2018-10-19 14:29:27 -04:00
flowerysong c21f92f8f7 Fix yum/dnf lock file polling (#47250) 2018-10-19 14:18:09 -04:00
Matt Clay c24c19594e
Enable pylint rules and fix exposed bugs. (#47219)
* Resolve invalid-unary-operand-type.

* Resolve raising-format-tuple.

* Resolve stop-iteration-return.

* Use disable comment instead of fixing logic.

The affected line in _find_address_range will only fail on Python 3.7
and later if the function is called with an empty address list. As an
internal method it is never called in this way, making it a non-issue
for use via public methods.

Using a comment to disable the rule in favor of an ignore.txt entry
since there are no plans to change the logic in the code itself. This
will also prevent any potential future issues being added in other
parts of the code when updating it based on upstream changes.
2018-10-19 08:32:52 -07:00
Abhijeet Kasurde bfc3ca1da1 Remove extra parameter in format_exc (#46251)
`traceback.format_exc()` does not take any argument, this fix remove
such occurances.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-18 21:50:58 -04:00
Matt Clay 37b013aca3
Enable additional pylint rules and resolve issues found. (#47221)
* Resolve unneeded-not.
* Resolve global-at-module-level.
* Resolve useless-import-alias.
* Resolve bad-whitespace.
* Resolve global-variable-not-assigned.
* Resolve logging-not-lazy.
* Resolve comparison-with-itself.
2018-10-18 13:38:08 -07:00
Nathaniel Case 3feb6c9e0f
Try to be more verbose with JSON decode errors (#47066)
* Try to be more verbose with JSON decode errors
2018-10-18 12:09:00 -04:00
Alex Stephen f47cfd2204 New GCP Module: gcp_pubsub_topic_facts (#46923) 2018-10-18 10:01:31 -04:00
Felix Fontein 89f239f187 Fixup of #47046. (#47274) 2018-10-18 14:50:26 +01:00
Felix Fontein 32e8251f86 docker_* modules: unify docker module version checks (#47046)
* Unify docker module version checks.

* Improve messages depending on required docker-py versions.

* Linting.
2018-10-18 10:51:58 +01:00
Abhijeet Kasurde ebeb788117
VMware: Provide facility to specify path for template (#38031)
When multiple virtual machines or templates are found in environment,
module needs folder path. This fix adds facility to specify folder path
for template or virtual machine if multiples are found.

Fixes: #37087

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-15 14:59:48 +05:30
Jonathan Oddy f2dccb90e8 Restore SIGPIPE handler to DFL on POpen
Python sets the SIGPIPE handler to SIG_IGN. On execv() signal handlers are
reset to their defaults, EXCEPT those that are SIG_IGN which are left ignored.
In Python 3 subprocess.popen explicitly resets the SIGPIPE handler to SIG_DFL,
but unfortunately in Python 2.7 it does not. This leads to subprocesses being
executed with SIGPIPE ignored. This is often a problem with bash scripts which
rely on SIGPIPE to terminate commands in a pipe, but can easily be a problem
with other applications.

This implements the Python 3 behaviour for Python 2.7 by using a preexec_fn.
2018-10-12 12:31:24 -07:00
Will Thames b772485d97 Ensure that k8s_facts always returns resources key (#46733)
Fix bug returning `items` key if NotFound exception is hit
2018-10-12 05:11:48 -04:00
Alb0t e2b9c36080 Add Alibaba to RedHat family list. (#46828) 2018-10-12 10:23:03 +02:00
Jose Delarosa 81640a2c67 Provide flexibility when retrieving facts (#46148)
* Provide flexibility when retrieving facts

* Check if keys exist before trying to read
2018-10-11 14:17:13 -04:00
Peter Oliver 40fb992a6f Locate prtdiag even when absent from /usr/bin (#44113)
* Locate prtdiag even when absent from /usr/bin

On Solaris 8 hosts, this prevents fact collection from aborting with:

    Argument 'args' to run_command must be list or string

* Lint fix.

* Style: pass /usr/platform/.../sbin as optional path to get_bin_path().
2018-10-11 13:41:06 -04:00
Anil Kumar Muraleedharan d0e89bc1bb Lenovo finetune modules (#46623)
* Making username password etc non mandatory as we use persistence connection.
Some documentation fine tuning also done.

* To update version which was tested against.

* Adding Bacon switch (NE0152T) to device rules

* Qalthos Review catch

* Updating version

* Changing documentation to add Bacon switch. This is effective since 2.8
2018-10-11 09:49:49 -04:00
Adam Miller ad405fc21e yum module handle list optional empty strings properly (#46634)
Fixes #46517

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-10 18:49:24 -04:00
Ganesh Nalawade 58aaf53271
Fix netconf module_utils dict changed size issue (#46778)
Fixes #46755

Use list() to copy the keys of attribute dict
while iterating over attribute dict.
2018-10-11 00:01:17 +05:30
Jorge Rodriguez (A.K.A. Tiriel) e7ddff1928 Rabbitmq: Enable communication to management API over HTTPS (#18437)
* Enable communication to management API over HTTPS.
* Specify version added tags to new parameters
* Set proper parameter type.
* Corrected version_added numbers.
* Extracted commons to ansible utils.
* Fix PEP8 error
* Fix documentation extension syntax.

Fixes #22953
2018-10-10 09:55:08 +05:30
Matt Clay a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
Evgeni Golov 7c66c90afc introduce `module_utils.urls.fetch_file` as a wrapper to download and save files (#19172)
* module_utils.urls: add fetch_file function

* apt: use fetch_file instead of own download()

* unarchive: use fetch_file instead of own codecopy

* apt: add test for deb=http://…

* unarchive: add test for a remote file download and unarchive

* yum: replace fetch_rpm_from_url by fetch_file

* use NamedTemporaryFile

* don't add a dot to fileext, it's already there
2018-10-08 14:41:57 +02:00
Adam Miller c8ed5c29e9 allow update_cache as stand alone operation for yum/dnf (#46183)
* allow update_cache as stand alone operation for yum/dnf

Fixes #40068

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

* make sanity tests happy

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-10-08 08:39:49 -04:00
Felix Fontein a520ca3298 docker_container, docker_image_facts: allow to use image IDs (#46324)
* Allow to specify images by hash for docker_container and docker_image_facts.

* flake8

* More sanity checks.

* Added changelog.

* Added test.

* Make compatible with Python < 3.4.

* Remove out-commented imports.
2018-10-06 08:50:31 -05:00
Jordan Borean 02c11e6b51 azure_rm_common: use __version__ from module_util (#46184) 2018-10-05 07:02:44 -04:00
Brian Lamar 73133d7708 [aws] ALB/NLB support SubnetMappings in AWS create LB call (#42060) 2018-10-04 16:53:32 -04:00
Brian Scholer fbac32c5d0 Fix support for SubnetMappings and EIPs in NLB (#42979)
* Fix support for SubnetMappings and EIPs in NLB

* Fix style failures
2018-10-04 16:31:16 -04:00
Jordan Borean e972287c35 win_exec: refactor PS exec runner (#45334)
* win_exec: refactor PS exec runner

* more changes for PSCore compatibility

* made some changes based on the recent review

* split up module exec scripts for smaller payload

* removed C# module support to focus on just error msg improvement

* cleaned up c# test classifier code
2018-10-02 15:55:53 -07:00
Sloane Hertel 27534e9b47 Move network utils that are used by AWS modules (#45579)
* Separate networking tools that may be used by modules outside of networking so changes to networking-only utilities don't trigger AWS integration tests

* Add unit tests for moved network utils

* Add comment to prevent imports from being mistakenly removed

* Move to_bits as well
2018-10-02 15:08:00 -04:00
Will Thames 411397a975 Use recursive_diff for kubernetes (#45645)
Move recursive_diff from cloudfront_distribution to
common.dict_transformations and reuse it in k8s modules
2018-10-02 03:24:52 -04:00
abarbare c5d5d08b6b feat: add scaleway security_group_rule management (#45694)
* feat: add scaleway security_group_rule management
2018-10-01 12:37:48 +01:00
Brendan Jurd ab96bbdef9 Clean up Vault docs in User Guide. (#46188)
* Fix spelling of 'separate' throughout.

* Various cleanups in the User Guide for Vault.

- Fix spelling of 'algorithm'
- Fix indentation of nested list in payload format
- Fix mysterious refernce to 'b_pkey1'.
- Fix reference to newline as '\n': the backslash is lost when rendered
to the docs website. Specify the hex value for newline instead of the
backslash escape.

* Fix formatting

* Update vault.rst
2018-09-28 10:16:58 -04:00
Felix Fontein e76596a115 No longer necessary since #33792 and #45628. (#45603) 2018-09-28 09:12:31 +01:00
Garfield Lee Freeman 0dedfcd70f Adding connector for network/panos modules (#46142) 2018-09-27 17:36:42 -04:00
Pilou 2fd18c77ae openshift inventory plugin: fix exception when auth fails (#45826)
* openshift inventory: fix exception when auth fails

Fix 'ForbiddenError' object has no attribute 'message':

    [WARNING]:  * Failed to parse test.yml with openshift plugin: 'ForbiddenError' object has no attribute 'message'
     File "ansible/lib/ansible/inventory/manager.py", line 270, in parse_source
       plugin.parse(self._inventory, self._loader, source, cache=cache)
     File "ansible/lib/ansible/plugins/inventory/openshift.py", line 122, in parse
       self.setup(config_data, cache, cache_key)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 58, in setup
       self.fetch_objects(connections)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 250, in fetch_objects
       super(OpenShiftInventoryHelper, self).fetch_objects(connections)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 81, in fetch_objects
       namespaces = self.get_available_namespaces(client)
     File "ansible/lib/ansible/module_utils/k8s/inventory.py", line 95, in get_available_namespaces
       raise K8sInventoryException('Error fetching Namespace list: {0}'.format(exc.message))

Don't try to get 'message' attribute from:
- K8sInventoryException instances
- Exception instances
- KubernetesException instances (because KubernetesException can be
  Exception)

* move k8s/OpenShift inventory plugin dedicated code

inventory plugin specific code should not be located in
lib/ansible/module_utils directory. Then ansible.utils methods can be
reused (for example Display).

* Remove unused class variables 'helper'

unused since 4d77878654.
2018-09-26 18:16:54 -04:00
Felix Fontein 95cfcac694 docker-py: bump minimal version to 1.8.0 (#46134)
* Bumping docker-py minimal version to 1.8.0.
* Improve docs formatting.
2018-09-26 11:58:32 +05:30
tstoner e74e8b8e75 Additional feature enhancements to nxos_logging (#45844)
* Various changes to nxos_logging.  Plus added purge capibility.

* Made a few new nxapi_logging test cases conditional based on version
and/or platform.

* Addressed PR comments and ansibot shippable.  Fixed up nxos_logging documentation format.

* Addressed ansibot shippable issues with whitespaces and documentation.

* Resolved ansibot codestyle trailing whitespace
2018-09-25 11:02:09 +05:30
Rémy Léone 53886ecc9b Add an Online servers fact 2018-09-24 21:03:50 +02:00
Rémy Léone 6d7004f367 Add a Scaleway IP module (#45121)
- Add an option to enable public ip at server creation
2018-09-24 10:14:23 -04:00
Nathaniel Case 03d8fa05b6
Try to be more helpful when JSON gives up (#45600)
* Try to be more helpful when JSON gives up
2018-09-24 09:09:17 -04:00
Dag Wieers 66eec42f53 Fix calling deprecate with correct arguments (#44726)
This fixes #44702
2018-09-21 12:30:31 -04:00
Jose Delarosa e701b5a412 Fixes HTTP redirect issue (#45513) 2018-09-20 15:23:51 +03:00
Dag Wieers 51c5e60e49 Add missing ConnectionError imports (#45879)
Small fix
2018-09-20 12:01:01 +10:00
Adam Miller 5fdf0290d0 handle yum and dnf lockfiles - fixes #44120 (#45359)
* handle yum and dnf lockfiles - fixes #44120

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

* fix logic problem to properly check for dnf lockfile glob

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-09-19 16:14:25 -04:00
Felix Fontein bc69aeca7f 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-09-19 10:53:16 -05:00
Daniel Speichert d34cf93f1a Migrate from MySQLdb to PyMySQL (#40123)
* Migrate from MySQLdb to PyMySQL

* Deduplicate driver loading and failure message

* Explain requirements

* Apply requirements docs change to proxysql too

* Add changelog
2018-09-19 08:44:05 -07:00
Sviatoslav Sydorenko a978d7f283 Fix collections.deque import in compat module 2018-09-19 13:14:24 +03:00
Tim Rupp 35e0434042
Update f5 module utils from downstream (#45819)
* various refactoring
* lgtm fixes
* bigiq support to different auth providers
2018-09-18 18:20:44 -04:00
René Moser 1ed3bd9168
vultr: fix for unreliable API behavior (#45712) 2018-09-19 00:01:53 +02:00
Nathaniel Case 780dc9c561
There are other instances of transform being used... update them as well (#45663) 2018-09-17 08:42:20 -04:00
Matt Martz 07b2698c03 Add new expand_shell argument for run_command, to disable expanding shellisms (#45620)
* Add new expand_shell argument for run_command, to disable expanding shellisms. Fixes #45418

* s/expand_shell/expand_user_and_vars/g
2018-09-14 16:07:11 -04:00
Anil Kumar Muraleedharan 4ec317ceca Lenovo doc update (#45483)
* Merge issue

* Update cnos_rollback.py

* Updating license for the refactored method

* Update cnos_rollback.py

* Removing the BSD License as suggested by Legal

* To add Documentation for ENOS as well as CNOS

* Merge issue

* Revert "To add Documentation for ENOS as well as CNOS"

This reverts commit 80e6e39054be0c3a8f95d16dc39ca9d93baf8c4b.

* Adding Docs for ENOS and CNOS

* Update cnos.py

* Update cnos_rollback.py

* Update cnos.py

* Update platform_cnos.rst

* Update platform_enos.rst

* Removed version 2.7

* Removing 2.7
2018-09-14 15:23:57 -04:00
Michael Scherer 518f80c3fb [module_utils/aws/urls] remove assigning variable itself (#45612)
Flagged by lgtm.com
2018-09-13 17:42:04 -04:00
Tim Rupp e619052424
Fixes multiple lgtm issues (#45629)
Most of the issues were just inclusions of code that were not used.
This cleans those up. Other alerts were semi-false-positives for now
2018-09-13 15:26:17 -04:00
Nathaniel Case 285b927889
network command modules cleanup (#45242)
* Standardize _command modules

* Centralize command transformation process

* Fix check mode error test
2018-09-13 08:55:35 -04:00
Deepak Agrawal 81214409cf
asa_config/ios_config: diff strict does not work with multiple parents (#45150)
* multiple parents issues in diff

* Integration tests for missing functionality

* add testcase for other platforms. vnxos does not support qos so need to find a command chain on v-nxos for multiple parets. junos uses on-device diff so should not need this.

* Fix for issue when any candidate parent did not meet the exact line in running-config

* DCI runs eos_config without become flag
2018-09-12 07:50:24 +05:30
Harald Albers 796d8b5dc8 VMware: Fix wait_for_task backoff behavior (#45429)
Signed-off-by: Harald Albers <github@albersweb.de>
2018-09-11 09:58:53 +05:30
Jordan Borean d4ce1b9f31
fix Ansible.ModuleUtils.FileUtil to respect ErrorAction if running in a try/catch (#45451) 2018-09-11 09:47:56 +10:00
Fabian von Feilitzsch aa01d9d243 Set defaults from params after loading files, allowing params to override (#44142)
* Set defaults from params after loading files, allowing params to override

* cleanup, add some comments
2018-09-10 15:30:59 -04:00
Abhijeet Kasurde d41e568a4d
VMware: use UUID to find templates and VMs (#45208)
This fix adds functionality to find the templates or VMs for cloning
operations.

Fixes: #45081

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-09-10 12:45:47 +05:30
Harald Albers d61b4492cf VMware: Fix timeout detection in vmware_deploy_ovf module (#45159)
Signed-off-by: Harald Albers <github@albersweb.de>
2018-09-10 12:27:40 +05:30
Will Thames 1463c2e4a8
Use a sensible default for k8s merge_type (#45284)
* Use a sensible default for k8s merge_type

The sensible default for merge_type is `['strategic-merge', 'merge'].
However, we can't make this the default default, as we need to support
users who are using openshift 0.6.0, where the merge_type parameter is
unsupported.

* Refactor k8s test suite for merge_type tests

Allow tests with pre-merge-type openshift and post-merge-type
openshift.
2018-09-08 10:08:09 +10:00
Pieter Avonts 1a810f8f11 VMware: Rewrite get_resource_pool method for correct resource_pool selection (#39792)
* rewrite get_resource_pool method for correct resource_pool selection
* only keep name if path is given for cluster, esxi_hostname or resource_pool
* Revert "only keep name if path is given for cluster, esxi_hostname or resource_pool"
* This reverts commit 50293ec763c024b0eaceac5d775ccc0ad3ff8bd7.
* if the name argument contains a path, only use the last part for matching
* remove path from cluster argument in tests
* remove find_objs in favour of reusing find_obj with an extra folder argument
* fix find_obj ignoring first if name is not given
2018-09-07 18:23:26 +05:30
Trishna Guha f18856d0e2
Add ambiguous command check as the error message is not persistent on nexus devices (#45337)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-09-07 16:35:37 +05:30
Armin Ranjbar Daemi 778b789c84 VMware: New module vmware_guest_vnc (#36282) 2018-09-07 16:00:37 +05:30
Ryan Brown 20f21779d3
Fix ec2_group for numbered protocols (GRE) (#42765)
* Fix spurious `changed=True` when int is passed as tag

* Fix for all AWS module using compare_aws_tags

* Handle improperly stringified protocols and allow inconsistency between None/-1 on non-tcp protocols

* Add integration test that reproduces the same bug

* Return false if the comparsison is not equal
2018-09-05 13:34:26 -04:00
Felix Fontein 26edeb7cce Refactoring GET request handling. (#45051) 2018-09-04 21:28:04 +02:00
Abhijeet Kasurde 4e9b8136c2 Add support for Devuan (#45148)
Devuan is part of Debian family. This fix adds support for Devuan OS.

Fixes: #45047

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-09-04 08:38:57 -04:00
Zim Kalinowski 1f8635fbd9 Virtual machine facts - retrieving instance view (#45128) 2018-09-04 11:25:01 +08:00
Zim Kalinowski 55c549a832 added mysql management client to remove api version warning (#45103) 2018-09-04 09:23:11 +08:00
Dag Wieers e99db084f4
aci_interface_policy_leaf_policy_group: Fix filtering by lagT (#45088) 2018-09-03 16:40:57 +02:00