Commit graph

2686 commits

Author SHA1 Message Date
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