Commit Graph

3375 Commits (dfaa72297ccec757aed0c6eeaadaa0188e8ec34f)

Author SHA1 Message Date
Vlad Romanenko fc2ad0e9de [aws_ssm lookup plugin] Add example of using explicit aws credentials (#53956) 2019-03-18 09:38:08 -05:00
Sloane Hertel 7da565b3ae
parse botocore.endpoint logs into a list of AWS actions (#49312)
* Add an option to parse botocore.endpoint logs for the AWS actions performed during a task

Add a callback to consolidate all AWS actions used by modules

Added some documentation to the AWS guidelines

* Enable aws_resource_actions callback only for AWS tests

* Add script to help generate policies

* Set debug_botocore_endpoint_logs via environment variable for all AWS integration tests

Ensure AWS tests inherit environment

(also remove AWS CLI in aws_rds inventory tests and use the module)
2019-03-18 08:29:03 -05:00
Mike Wiebe 4c2a3bfed5 Fix nxos action plugin for nxos_install_os (#53768)
* Fix nxos action plugin for nxos_install_os

* Update module docs
2019-03-18 09:14:40 +05:30
Felix Fontein 29d6418822 docker: improve TLS config (#53906)
* Stop repeating names of common config arguments in docker_container.

* Prefer tls_verify over tls for docker modules and docker_swarm inventory plugin.

* tls and tls_verify are no longer mutually exclusive.

* Share setup code between docker_* modules and docker_swarm inventory plugin.

* Add support for more parameters.

* PEP8.

* Fix typo.

* Rename host -> docker_host.
2019-03-17 17:10:40 -04:00
Piotr Wojciechowski 955da2a095 docker_swarm inventory plugin - new attribute with parsed node URI (#53894)
* * Adding new attribute that contains an URI which may be used in other docker swarm modules

* Change host_uri to include_host_uri parameter name

* Adding port detection/override

* Small fixes

* Some general PEP8 adjustments for better code readability

* Changing the parameter type description for clearance
2019-03-17 05:42:33 -04:00
Felix Fontein 6852186235 Fix path. (#53904) 2019-03-16 16:06:37 -04:00
Felix Fontein 1b1c7e252f Fix metadata field. (#53903) 2019-03-16 18:13:38 +01:00
Piotr Wojciechowski c89b799939 docker_swarm inventory plugin - Leader address Docker bug workaround (#53893)
* * Workaround for Docker bug moby/moby#35437 when in some cases the Leader IP address is 0.0.0.0 instead of correct address
* Changes in docs port 2375 to 2376 to avoid confusion wherever the TLS is mentioned as this is default port for TLS connections in docker
* Imports optimization

* Adjust documentation section to match ansibot parsing

* Add comment why the workaround is required
2019-03-16 12:55:52 -04:00
Abhijeet Kasurde b0306f51d7
inventory: find required binary for plugin to work (#53052)
Use existing "get_bin_path" API to find the binary path
required for inventory plugins to work.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-16 10:51:42 +05:30
abirami-n 1e5b8b3028 Fix_dellos6_minor_issues (#52981)
* Fix_dellos6_minor_issues

* Fix_changes
2019-03-15 13:53:30 +05:30
rajaspachipulusu17 e2d92e82c4 Pluribus Networks network cli terminal and cliconf plugins (#53735)
* Pluribus Networks network cli terminal and cliconf plugins

* Changes in Unit tests and modules according to network_cli connection

* Changes in Unit tests and modules according to network_cli connection
2019-03-15 13:51:50 +05:30
morph027 fe95624caa add inventory plugin for Docker swarm nodes (#53058) 2019-03-14 18:34:27 -04:00
Sloane Hertel 8b80a71f9f
aws_ec2 inventory - update hosts with additional vars (#53645)
* Update host with additional host vars from the reservation details

* Add toggle for additional API calls and incorporate strict_permissions

* version_added
2019-03-14 17:16:15 -05:00
Heath Brown 53b5dff23e Fix netbox url with string concat (#49943)
* Fix netbox url with string concat

* Add logic to trim extra / at the end of api_endpoint

See PR#49943

* Add in strip of any trailing '/'

* Update logic to look at the self.get_option of api_endpoint

* Update to move to remove if logic and just strip the api_endpoint
2019-03-14 17:05:47 -04:00
Sloane Hertel 87ebc56de6 Allow parent groups to be variables or literal (#53649)
* Allow parent groups to be variables or literal, requires {{ }}
* Check strict before failing on templating errors
* Don't add a group if an invalid parent group was provided
2019-03-14 14:22:18 -04:00
Alan Rominger 8c2037aaa9 do not error in case of empty list constructed group (#53748) 2019-03-14 12:27:56 -04:00
Matt Martz 97161ed2ab
Strip None values from mod_args in gather_facts action (#53758) 2019-03-14 10:19:04 -05:00
Alan Rominger db3a2686ed Fix bug with keyed_group group name transformation (#53714) 2019-03-14 11:07:57 -04:00
Matt Clay 7f0e09aa31
Keep existing to_yaml behavior with pyyaml >= 5.1. (#53772)
In pyyaml versions before 5.1 the default_flow_style for yaml.dump
was None. Starting with 5.1 it is now False. This change explicitly
sets the value to None to maintain the original to_yaml behavior.

The change to pyyaml was made in the following commit:

507a464ce6
2019-03-13 16:43:26 -07:00
Alex Stephen 08918c6c2b GCP IAM Role (#53490)
* GCP IAM Role

* module util file

* test fix

* unit tests

* test fixes

* doc fragment fixes

* test fixes

* test fix
2019-03-13 13:28:01 -04:00
Jordan Borean 3d23e47c53
win_reboot - Fix rc validation when using psrp and add extra docs (#53711)
* win_reboot - Fix rc validation when using psrp and add extra docs

* Revert boot time command and fix docs
2019-03-13 10:43:02 +10:00
Brian Coca b793f08a92
fixes for stripping (#52930)
function changed to do in place replacement, should be less expensive even with copy as it avoids 'sub copies', can compose with module_args_copy to create replacement for old behavior

  attempt to fix #52910

* handle lists and subdicts correctly
* added  missing exception case, which was not noticed since 'cleaning' was not working
* added comments to clarify exceptions
2019-03-12 18:18:38 -04:00
Brian Coca a8eb25ac14
clear all loader caches with new dir for plugin (#53413)
* clear all loader caches with new dir for plugin

  fixes #17078

* added toggle to revert behaviour
2019-03-12 16:19:56 -04:00
Brian Coca 3e52a6a693
Overridable safety (#53458)
* create overridable sanitation function
* now used in aws, gce and azure plugins
* added new option to these plugins to work in conjunction with general toggle to make it easier
  to emulate inventory script behavior.
2019-03-12 12:03:20 -04:00
Matt Martz e9f9bcae6a
Don't raise AnsibleConnectionFailure if the ssh process has already died. (#53534)
* Don't raise AnsibleConnectionFailure if the ssh_process has already died. Fixes #53487

* Better support for file not found messages

* Add changelog fragment
2019-03-12 10:41:30 -05:00
Theron Savery de2531e275 nso documentation fixes (#53478) 2019-03-11 14:23:19 -05:00
Brian Coca 9b67219096
Fine tune sanity (#53544)
* modify regex to use implicit charsets this should solve issues in py3 and unicode names
* fix issue with subgroups in yaml inventory
* clarify deprecation message
* separated per name warning from deprecation
* move noise to verbosity, simplify warnings
* fix docs to reflect actual 'good' practice
* change toggle to choice list to give users more options
2019-03-11 15:12:14 -04:00
Sloane Hertel 4172d68dc3 use composed vars in constructed groups (#53152)
* changelog

* combine provided variables and host vars inside of constructing groups to take into account composed variables

let composed variables "win"

* fix whitespace

* Allow user to control hash behavior
2019-03-11 12:43:31 -04:00
Ondra Machacek 272fa9ead4 kubevirt: Simplify VM parameters (#53340) 2019-03-11 14:33:14 +00:00
Trishna Guha a41028244d
Add platform facts in network facts modules (#51434)
* Add platform facts in network facts modules

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

* Add nxos

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

* Add vyos

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

* Add iosxr

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

* Add junos

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

* fix pep8

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

* update unit test

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

* fix vyos_facts unittest

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

* fix ios_facts unittest

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

* fix iosxr unittests

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

* fix CI failure

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

* fix junos test

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-03-11 10:56:39 +05:30
Bojan Vitnik e775434a52 XenServer: Documentation improvements and fixes for XenServer related modules (#53498)
- More info added to module docs.
 - Fixed errors and typos in module docs.
 - Added parameter types to module docs.
 - Some error messages are fixed and/or changed to be more helpful.
 - Some code comments changed and added.
 - Updated unit tests that test changed error messages.
 - Improved module examples.
 - Improved docs for custom_params xenserver_guest module parameter
2019-03-11 08:56:17 +05:30
Matt Martz 414440e323
Allow dict2items to work with hostvars (#53538) 2019-03-08 14:36:53 -06:00
ndswartz 26d87a912b Added eseries base with tests (#49269) 2019-03-08 18:13:45 +00:00
Brian Coca 8940732b58
Configurable and parallel gather facts (#49399)
* Configurable list of facts modules (#31783)

 - allow for args dict for specific modules
 - add way to pass parameters
 - avoid facts poluting test
 - move to 'facts gathered' flag
 - add 'gathering' setting tests
 - allow parallel option in case serialization is too slow
 - added support to automatically map network facts
   uses "smart" connection mapping
2019-03-08 13:08:37 -05:00
Brian Coca 90bcff3d92
allow nontype configdata (#53365) 2019-03-08 13:03:46 -05:00
Shivam Singhal f08a26d77b Fixes typo of dicionaries to dictionaries (#53505) 2019-03-08 07:28:39 +01:00
Abhijeet Kasurde a5d3647eca
include_vars: include main.yml (#51926)
Enhance the conditional check to include main.yml if it is not
from 'role/vars/'

Fixes: #29135

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-08 10:03:01 +05:30
Jordan Borean 8ef2e6da05 Add support for Windows hosts in the SSH connection plugin (#47732)
* Add support for Windows hosts in the SSH connection plugin

* fix Python 2.6 unit test and sanity issues

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

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

* Add connection_windows_ssh to classifier

* use test dir for inventory file

* Required powershell as default shell and fix tests

* Remove exlicit become_methods on connection

* clarify console encoding comment

* ignore recent SCP errors in integration tests

* Add cmd shell type and added more tests

* Fix some doc issues

* revises windows faq

* add anchors for windows links

* revises windows setup page

* Update changelogs/fragments/windows-ssh.yaml

Co-Authored-By: jborean93 <jborean93@gmail.com>
2019-03-07 16:38:02 -08:00
Brian Coca efd5222c17
fix locals not getting updated (#41798)
* fix locals not getting updated

switched to updating the args/assignments as locals doesn't work

* add missing import
2019-03-07 13:38:07 -05:00
Matt Martz 728970232e
Properly quote the username to support usernames with spaces (#53420) 2019-03-07 11:47:33 -06:00
James Cassell e55e8fe2c4 regex_escape: support POSIX basic regex (#50327) 2019-03-07 08:51:19 -05:00
Chris Van Heuveln 874fd70d10 httpapi/nxos_facts: raise ConnectionError is missing `code` (#53406)
* `nxos_facts` crashes with certain nxos images; e.g. `7.0(3)I7(3)` as a result of this call:
  ```
        data = self.run('show lldp neighbors', output='json')
  ```
  ...which returns `ERROR: No neighbour information` when the device has no neighbors.

* This response causes httpapi's `handle_reponse()` to raise a ConnectionError, which is caught by `utils/jsonrpc.py` which is expecting `code` in the exception data:

  ```
             except ConnectionError as exc:
                 display.vvv(traceback.format_exc())
                 error = self.error(code=exc.code, message=to_text(exc))
  ```

* Found by: `nxos_facts/tests/common/not_hardware.yaml:7`
2019-03-07 08:16:28 -05:00
Ganesh Nalawade 7a36c7ae2e
Fix junos terminal regex for cluster srx devices (#53006)
* Fix junos terminal regex for cluster srx devices

Fixes #50726

*  Modify junos terminal regex to match for
   string `{primary:node0}` which is also part of the
   prompt.
*  Modify network_cli connection plugin to ignore
   multiple prompt matched lines.

* Fix review comment
2019-03-07 13:52:36 +05:30
Alan Rominger 00ba4525e3 allow using env for foreman options (#52693) 2019-03-06 16:50:32 -05:00
Abhijeet Kasurde be2a349970 become: Add missing documentation for pfexec, dzdo and machinectl (#53314)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-06 14:35:15 -05:00
Yunge Zhu 71042e1a79 add missing hostvars properties in azure_rm.py inventory (#53046)
* add missing hostvars properties

* fix lint

* fix lint

* add security group

* fix lint
2019-03-06 10:55:43 -08:00
Mike Wiebe b090b57eac Module nxos logging fixes (#52883)
* nxos_logging fixes
2019-03-06 13:55:03 -05:00
Rémi REY c6aecf4704 Update aws_secret.py (#53390)
Update the version_added variable that should be 2.8
2019-03-06 13:31:55 -05:00
Sloane Hertel 9687879840
Fix inventory cache interface (#50446)
* Replace InventoryFileCacheModule with a better developer-interface

Use new interface for inventory plugins with backwards compatibility

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

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

* Fix foreman inventory caching

* Add tests

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

* Add some developer documentation for inventory and cache plugins

* Add user documentation for inventory caching

* Add deprecation docs

* Apply suggestions from docs review

* Add changelog
2019-03-06 12:12:35 -06:00
Nathaniel Case 3fe2013b3f
Change handle_httperror in httpapi plugins (#53391)
* Change return of handle_httperror

* Fix restconf for handle_httperror changes
2019-03-06 12:13:58 -05:00
Brian Coca d241794daa
Add toggle to control invalid character substitution in group names (#52748)
* make add_group return proper name
* ensure central transform/check
* added 'silent' option to avoid spamming current users
  those already using the plugins were used to the transformations, so no need to alert them
* centralized valid var names
* dont display dupes
* comment on regex
* added regex tests
  ini and script will now warn about deprecation
* more complete errormsg
2019-03-06 11:49:40 -05:00
Alan Rominger e21ca4a00d Add option for tower inventory to give general metadata (#52747) 2019-03-06 15:32:05 +00:00
Brian Coca 853a65eead
made chroot exe configurable (#53147)
* made chroot exe configurable

 fixes #53146

* added default for executable
2019-03-05 15:48:31 -05:00
Alan Rominger 56e3597856 Add keyed_groups feature (#52045)
This implements:
- Allow creating keyed group parents
2019-03-05 12:34:34 -06:00
Lukas Kämmerling 66beeaf032 Add hcloud server module (#53062) 2019-03-05 07:30:24 +01:00
Abhijeet Kasurde d39f35c1d6
assert: allow list of strings in msg or failed_msg (#50531)
Added check for assert module for msg and failed_msg as a list or string types.

Fixes: #48547

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-05 11:12:17 +05:30
Jordan Borean ae24bbff4a winrm - try and recover from a send input failure (#53187) 2019-03-04 17:31:00 -08:00
Abhijeet Kasurde 917520d560 Misc typo fixes (#53284)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-04 15:30:18 -05:00
Brian Coca b8799ef84e
improved nmap fix, updated as per fb (#53280)
(cherry picked from commit 5280ae917c4a49df1bb4ff354885bc046e7ee397)
2019-03-04 14:47:38 -05:00
Martin Krizek 5734b4e69e Clarify return value of the sequence lookup (#53275)
* Clarify return value of the sequence lookup

Fixes #17852

* Mention range filter
2019-03-04 14:09:55 -05:00
Nathaniel Case d5aabd02ba
restconf_config module (#51971)
* Add restconf_config module

* Try to do the right thing when given partial paths

* Add PATCH

* Delete should not require content

* Non-JSON exceptions need raising, too

* Let ConnectionError objects pass through exec_jsonrpc
2019-03-04 08:27:18 -05:00
John R Barker 6e74816516 hpe3par document type (#52992)
* Update lib/ansible/modules/storage/hpe3par/ss_3par_cpg.py

Co-Authored-By: gundalow <john@johnrbarker.com>
2019-03-01 09:57:22 -06:00
Martin Krizek 66eb301cd3 profile_tasks: Fix last task time with multiple plays (#53065) 2019-03-01 10:29:33 -05:00
Sam Doran 1c87ea6fa6 Reboot - add parameter for paths to search for shutdown command (#51194)
* Look in /lib/molly-guard for shutdown command

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

* Add parameter for extra_search_paths

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

* Change option to search_paths

- Update docs
- Make the parameter replace the default values
- Add some sanity checking on the data type

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

* Correct parameter in tests, change conditional for molly-guard tasks

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

* Address feedback

* Simplify field validation

Needed the try except in case a non-iterable type is put in the search_paths field
2019-02-28 13:36:33 -08:00
Brian Coca 55dc63be3a
properly convert inputs to handle bytes/unicode (#53072)
* properly convert inputs to handle bytes/unicode

  fixes #52186

* Update changelogs/fragments/nmap_bytes_fix.yml

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2019-02-28 11:51:15 -05:00
rwagnergit d2bdbadb03 adding quiet option to assert (ansible#27124) (#52032)
* adding quiet option to assert (ansible#27124)

* adding doc for quiet to assert.py

* fixing PEP8 failure

* improving example

* improving docs

* adding changelog fragment

* adding . at end of descriptions

* removing trailing blank line

* adding integration test for assert

* fixing CI complaints

* disabling gather_facts in quiet.yml test

* rerunning to capture skip

* cleaning up python 2 vs 3

* following rebase

* fixing CI complaints

* fixing CI complaints

* fixing CI complaints

* fixing CI complaints

* fixing CI complaints
2019-02-28 10:25:41 -05:00
Matt Davis 4d3a6123d5
Python interpreter discovery (#50163)
* Python interpreter discovery

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

* docs revisions for python interpreter discovery

(cherry picked from commit 5b53c0012ab7212304c28fdd24cb33fd8ff755c2)

* verify output on some distros, cleanup
2019-02-27 23:52:02 -08:00
Brian Coca cfba6dfe91
Ensure play order is obeyed (#49897)
* Ensure play order is obeyed

 it was being ignored depending on other options
 also added tests for each order (except shuffle) both serial and not
 fixes #49846
2019-02-27 18:20:16 -05:00
Jad Kik 79eeea8ea6 lookup: redis: fix plugin returning repr'd byte objects (#52854)
* Fix default port of redis lookup plugin

* Fix redis plugin returning repr'd byte objects

* Fix error handling in redis lookup plugin
2019-02-27 12:04:18 +01:00
Brian Coca c09d11ad35
Revert "use get_optoins instead of play_context for user (#52604)" (#53034)
This reverts commit cf6a92d268.
2019-02-26 18:01:39 -05:00
Matt Martz 7f2e724203 Don't document a type for an argument which uses a callable (#53008)
* Don't document a type for an argument which uses a callable
* Update ignore.txt.
2019-02-26 12:12:41 -08:00
Brian Coca cd63a0714b
varnames lookup (#51621)
* varnames lookup
* doc updates from feedback lib/ansible/plugins/lookup/varnames.py

Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
2019-02-26 13:59:24 -05:00
Brian Coca cf6a92d268
use get_optoins instead of play_context for user (#52604)
fill in missing data
  fixes #52103
2019-02-26 12:08:17 -05:00
Brian Coca 514b974182
Loader invalid plugin nicer error (#52754)
* stop processing invalid plugins
2019-02-26 11:51:16 -05:00
Pilou d8a2d64ec1 osx_say callback plugin: add espeak support, rename to say (#33740)
* rename into say

* add support for espeak command

* adds symlink from osx_say to say

* Update version number
2019-02-26 09:46:35 -06:00
Farhan Nomani 27804b3b8b Ansible module to enable the user to provision CPGs on HPE StoreServ 3PAR device (#39656)
* Added storage modules and unit tests

Removed unnecessary file

Fixing pep8 issues

Adding reusable documentation to the data fragment file

Fixing issues reported by module validation in documentation

Fixed issues: 10549, 10553

Fixed unit tests

Added future imports and removed license from init py file

Resolved import issue reported by ansible sanity test

Fixed unit tests

Adding CPG management module

Fixing sanity test issues

Resolving line ending issues

Resolved import issue reported by ansible sanity test

Correcting the error message when resource is more than 31 char

Update hpe3par_cpg.py

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

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

Fixing pep8 changes

Fixed pep8 issues

Added more pep8 related fixes

Added more pep8 related fixes

Fixed rebase issue in cps test

Adding GPL3.0+ License (#7)

* Update hpe3par.py

* Update hpe3par_cpg.py

* Update hpe3par_cpg.py

Adding GPLV3+ only license

Fix anity test

Addressing review comments

Fixing undefined variable error

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

Added maintainers

Fixed sanity test

Update test_hpe3par_cpg.py

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

* Added maintainers

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

* remove pep8 related issues

Modify the requirements to add version of 3par sdk

Review address (#10)

* Unit is no longer a different paramter in the task

* Fixing unit tests

* Taking into account the default values

Fixing issue with default values

fixing unit test

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

Fixed pylint extra line issue

Fixing conflicts in BOTMETA.yml

Made changes according to the review comments

Updating ansible version

Refactored the code to move reusable method to module utils

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

Corrected the BOTMETA entry. Fixed the pep8 issues

Fixing entries in BOTMETA.yml

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

Reverting name change for module to revert test failures

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

Fixed unit tests

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

Renaming the modules to ss_3par_*

Resolving the pep8 issues

Added storage modules and unit tests

Removed unnecessary file

Fixing pep8 issues

Adding reusable documentation to the data fragment file

Fixing issues reported by module validation in documentation

Fixed issues: 10549, 10553

Fixed unit tests

Added future imports and removed license from init py file

Resolved import issue reported by ansible sanity test

Fixed unit tests

Adding CPG management module

Fixing sanity test issues

Resolving line ending issues

Resolved import issue reported by ansible sanity test

Correcting the error message when resource is more than 31 char

Update hpe3par_cpg.py

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

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

Fixing pep8 changes

Fixed pep8 issues

Added more pep8 related fixes

Added more pep8 related fixes

Fixed rebase issue in cps test

Adding GPL3.0+ License (#7)

* Update hpe3par.py

* Update hpe3par_cpg.py

* Update hpe3par_cpg.py

Adding GPLV3+ only license

Fix anity test

Addressing review comments

Fixing undefined variable error

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

Added maintainers

Fixed sanity test

Update test_hpe3par_cpg.py

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

* Added maintainers

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

* remove pep8 related issues

Modify the requirements to add version of 3par sdk

Review address (#10)

* Unit is no longer a different paramter in the task

* Fixing unit tests

* Taking into account the default values

Fixing issue with default values

fixing unit test

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

Fixed pylint extra line issue

Fixing conflicts in BOTMETA.yml

Made changes according to the review comments

Updating ansible version

Refactored the code to move reusable method to module utils

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

Corrected the BOTMETA entry. Fixed the pep8 issues

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

Reverting name change for module to revert test failures

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

Fixed unit tests

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

Renaming the modules to ss_3par_*

Resolving the pep8 issues

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

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

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

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

Fixed rebase issue

Fixed rebase issuein BOTMETA.yml

* Modified the documentation based on the review comments

* Fixed the pep8 sanity issue

* Moved the doc fragment file based on latest changes

* Reverting inadvertent rebase changes

* Fixed inadvertent change during rebase
2019-02-26 14:09:03 +00:00
Rémi REY 30b3ce0f81 Add aws_secret module for managing secretsmanager on AWS (#48486)
* Adding module for managing AWS Secrets Manager resources

* adding aws_secret lookup plugin

Also use the data returned by describe_secret everywhere.

* replace the explicit /root use by a temporary dir

* aws_secret: rework module

Reworked module to use a class avoiding using client and module in every
functions.

* Added support of "recovery_window" parameter to allow user to provide
recovery period.

* updated return value to be the api output providing more details about
  the secret.

* Fix Python 3 bug in tests if the role is not removed

* Add unsupported alias due to issue restricting resource for creating secrets
2019-02-25 14:27:33 -06:00
Jonathan Brown 681082e47c Unixy stdout callback: Display name of play and list of play hosts, don't display play name if no hosts in play (#32810) 2019-02-25 11:57:29 -05:00
Andrew Gaffney e287b35f69 Turn 'actionable' into a thin wrapper for 'default' (#52908)
The 'default' action plugin now implements this functionality, so the
'actionable' plugin doesn't need any of its own logic (which was
interacting poorly with the new 'default' plugin logic to do the same
things). This fixes #51533 and #47353
2019-02-25 11:55:46 -05:00
Theron Savery 1f7ffe2619 NSO - added validate_certs parameter to allow for ignoring of SSL certificates (#51981)
* added validate_certs paramter to allow for ignoring of SSL certificates

* formatting

* updated NSO unit tests with validate_certs variable

* fixed NSO tests
2019-02-25 14:17:56 +00:00
Ganesh Nalawade cb67235eab
Fix network config module invalid src option error (#52912)
Fixes #52911

Raise AnsibleError execption if the file
path mentioned in src option in not found or
failed to load
2019-02-25 16:46:33 +05:30
Dag Wieers 3d1dd0e599 Windows: Add backup parameter to modules (#50033)
* Windows: Add backup parameter to modules

This PR adds a backup infrastructure for modules.

* Fixes based on review feedback

* Various fixes to check-mode and backup

* Add integration tests

* Fix win_xml integration test

* Add backup support to copy action plugin

* Added integration tests

* Improve test efficiencies and other minor impv
2019-02-25 11:37:25 +10:00
Jordan Borean 9717bc4bcf
Add laps_password lookup for retrieving a Windows LAPS Password (#52012)
* Add laps_password lookup for retrieving a Windows LAPS Password

* Remove python-ldap from requirements and fix doc typos

* enable unit tests without ldap dependency

* use config options for lookup plugin

* Update docs and tests based on further distro testing
2019-02-25 05:30:12 +10:00
Sam Doran f52a088862
Add option to ignore, warn, or error when a module parameter is converted to a string (#51404)
* Add new module property to Windows modules
* Add brief pause to file tests to ensure the stat times are not equal, which was happening sometimes.
* Raise TypeError on error rather than fail_json()
* Rework error message to be less verbose
* Add porting guide entry
2019-02-22 16:44:32 -05:00
Dag Wieers 0d1aebe064 kubernetes: Clean up parameter types (#52543)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-22 11:27:11 +00:00
John R Barker b3a3328ea6
Better document the return type of the fileglob filter (#52801)
https://github.com/ansible/ansible/pull/44986

Fixes #33465

Thanks to DaveB93 for the suggestion.
2019-02-22 10:23:15 +00:00
Lukas Kämmerling 861b7742fd Add Hetzner Cloud Inventory Plugin (#52553)
* Add hcloud Inventory Plugin

* Rename hcloudAPIException to APIException

* Apply changes from hcloud-python 1.0.0
Some source cleanup

* Add handling for server.image is None

* Fix some small things.

* Fix some small things.

* Remove some golang-ish code

* Apply review results

* Fix ci tests
2019-02-22 09:18:30 +00:00
Abhijeet Kasurde e41b98ffb5
VMware: Refactor guest inventory plugin (#52642)
* VMware: Refactor guest inventory plugin
* Review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-22 09:55:57 +05:30
Matt Martz 269cdffcea
Format dict keys need to be bytes (#52728) 2019-02-21 11:43:45 -06:00
Shivam Singhal 19cf956453 Fixes typo digeset to digest (#52709) 2019-02-21 16:23:42 +05:30
Shivam Singhal e931dd0e58 Fixes typo of formating to formatting (#52710) 2019-02-21 16:03:48 +05:30
Nathaniel Case 1b9745722e
Fix issues with enable become plugin (#52657)
* Work around become_user not being set
2019-02-20 16:15:45 -05:00
Martin Krizek be9f07279e Add stats on rescued/ignored tasks (#48418)
* Adding rescued/ignored tasks to stats gathering

Fixes #31245

* Amend integration tests to pass

* callback/dense.py: fix too-many-format-args

* Add changelog

* Amend counter_enabled and unixy callbacks

* Fix syntax error

* Fix typo in the changelog

* Remove not needed comment

* Re-add skipped

* Add test for rescued

* Fix colors...

* Fix unstable tests?

* Add a note to the porting guide

* Re-word the note in the porting guide

Fixes #20346
Fixes #24525
Fixes #14393

Co-authored-by: James Cammarata <jimi@sngx.net>
Co-authored-by: Martin Krizek <martin.krizek@gmail.com>
2019-02-20 13:00:47 +10:00
Adi Rizka 81ab3995e2 add override value for sort_keys in to_nice_json (#52341) 2019-02-19 16:12:08 -05:00
Dag Wieers 04a2a22c0f zabbix: Clean up parameter types (#52516)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement
2019-02-19 15:56:58 -05:00
Dag Wieers e435c71c16 validate: Clean up parameter types (#52521)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 15:52:10 -05:00
Dag Wieers 2cb9d9da14 return_common: Clean up parameter types (#52524)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement
2019-02-19 15:50:11 -05:00
Dag Wieers 1d3eb0bafd online: Clean up parameter types (#52527)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 15:48:30 -05:00
Dag Wieers 953d4c8a7f oneview: Clean up parameter types (#52537)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 15:47:45 -05:00
Dag Wieers 4dce9c4da9 manageiq: Clean up parameter types (#52538)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 15:47:13 -05:00
Dag Wieers a7846391a9 ldap: Clean up parameter types (other) (#52541)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 15:46:22 -05:00
Dag Wieers 4c97481337 keycloak: Clean up parameter types (#52542)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 15:44:41 -05:00
Martin Krizek f8d1fa80e9 debug: prevent failing when printing var=rc (#52074)
Fixes #52073
2019-02-19 15:24:11 -05:00
Dag Wieers aa83307c68 doc_fragments: Clean up parameter types (other) (#52182)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement
2019-02-19 15:23:26 -05:00
Matt Martz b54086ef02
Merge doc fragments in earlier (#52193)
* Merge doc fragments in earlier

* Move it even higher

* Remove errant docs key

* Fix type
2019-02-19 09:02:12 -06:00
Dag Wieers 409345ee97 utm: Clean up parameter types (#52517)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 12:19:32 +00:00
Dag Wieers 5ee378430b tower: Clean up parameter types (#52522)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 12:18:38 +00:00
Dag Wieers e7df487a6c rabbitmq: Clean up parameter types (#52525)
This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement

This breaks out PR #52182
2019-02-19 12:17:28 +00:00
Sumit Jaiswal 8a2ff1cde6
PR to start support for Skydive integration with Ansible (#50857)
* skydive modules

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

* skydive modules

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

* skydive modules

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

* skydive modules

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

* skydive modules

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

* skydive modules

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

* skydive modules

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

* fix shippable

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

* modifying file name

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

* fix shippable

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

* renamed

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

* skydive lookup

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

* change in str

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

* change in str

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

* fix shippable error

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

* renamed file

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

* fix shippable error

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

* change in str

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

* fix shippable error

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

* fix shippable error

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

* fix review comments

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

* fix review comments

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

* deleting file to add to new PR

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

* fix review comments

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

* shippable and doc fix

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

* placing doc at correct path

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

* shippable and doc fix

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

* placing doc at correct path

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

* updated with review and shippable fix

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

* updated with review and shippable fix

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

* updated with review and shippable fix

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

* updated with review and shippable fix

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

* fixing review comment

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

* fixing review comment

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

* fixing review comment

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

* fixing review comment

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

* fixing review comment

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

* fix shippable errors

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

* fix shippable error

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

* fix review comments

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

* fixing shippable errors

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

* fix review comments

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

* review comments

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

* shippable fix

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

* review comment

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
2019-02-19 16:18:40 +05:30
Abhijeet Kasurde 24d1886499
template: add additional variable for dest path (#52015)
Signed-off-by: Dustin Spicuzza <dustin@virtualroadside.com>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-19 14:15:19 +05:30
Alex Vasilenko 20ed819acd Fix exception handling in credtash lookup (#51099)
Exception does not have property message and ansible returns completely different exception because of this
2019-02-18 18:28:35 -05:00
Nathaniel Case 686f4b35e3
Add enable become plugin patterned after runas (#52496) 2019-02-18 12:10:54 -05:00
Nilashish Chakraborty bc403dbcda
Added new module - frr_facts (#51804)
* Add new module frr_facts

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

* Fix return value

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

* Fix review comments

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

* Fix review comments

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

* Handle empty row for mpls ldp neighbors

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

* Fix review comments

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

* Fix CI

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

* Remove timestamp from cliconf pluging

* Updated examples

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

* Fix sanity tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-02-18 19:35:40 +05:30
Felix Fontein 1d8e9db4a9 crypto modules: add missing option types (#52421)
* Add missing crypto option types.

* Reorder argument_spec.

* Reorder option docs.
2019-02-18 10:24:17 +00:00
Ondra Machacek 435e0c5dba Update kubevirt_vm with new feautures (#52311) 2019-02-18 15:12:23 +05:30
Sayed Anisul Hoque 7d6a94e7dc Fixed typos (#52426) 2019-02-17 22:49:40 +01:00
Dag Wieers 677c04c01d
Sanity fixes to parameter types (#52325) 2019-02-15 16:58:58 +01:00
David Soper 958653e282 Cisco Intersight module_utils and intersight_facts module (#51309)
* Cisco Intersight module_utils and intersight_facts module

* Add RETURN information and fix pylint, import, and pep8 issues.

* Review updates for specifying type of params/returns and not polluting ansible_facts.

* BSD one line license, validate_certs used, urls.fetch_urls replaces requests
2019-02-15 16:32:29 +01:00
Dag Wieers c2fb581414 Fix various sonarcloud issues
This fixes various reported bugs through sonarcloud at:
https://sonarcloud.io/project/issues?id=Rodney-Reis_ansible&resolved=false&types=BUG
2019-02-15 07:19:04 -08:00
Dag Wieers 25323155d2 doc_fragments: Clean up parameter types (cloud) (#52177)
* module_utils: Clean up parameter types (cloud)

This PR includes:

- Parameter types added
- Copyright format fixes
- Short license statement
- Description fixes (only for a few files, then I stopped :-))

* More cloud stuff

* Fix reported issue

* Fix quotes

* Use correct type

* Fix quotes

* Fix quotes

* Fix quotes

* Fix typo

* Fix boolean
2019-02-15 12:21:20 +00:00
Dag Wieers 203caf2570
Fix module issues (#52209) 2019-02-15 12:57:20 +01:00
Dag Wieers 9c1033422b doc_fragments: Clean up parameter types (network) (#52176)
* module_utils: Clean up parameter types

This PR includes:
- Parameter types added
- Copyright format fixes
- Short license statement
- Description fixes (only for a few files, then I stopped :-))

* More network stuff

* Fix typo

* Fix PEP8

* Fix booleans

* Fix typo
2019-02-15 09:52:48 +00:00
Dag Wieers 27dfdb6a6a doc_fragments: Clean up parameter types (database) (#52178)
* module_utils: Clean up parameter types (database)

This PR includes:

- Parameter types added
- Copyright format fixes
- Short license statement
- Description fixes (only for a few files, then I stopped :-))

* Fix validate-modules test ignores
2019-02-15 08:32:45 +00:00
Dag Wieers fbca8a4615 doc_fragments: Clean up parameter types (storage) (#52179)
* module_utils: Clean up parameter types (storage)

This PR includes:

- Parameter types added
- Copyright format fixes
- Short license statement
- Description fixes (only for a few files, then I stopped :-))

* Fix quotes

* Fix rST issue
2019-02-15 08:31:12 +00:00
Emmanouil Kampitakis 1219aa811a Feature/alphanumeric password in passwordstore (#38121)
* Alphanumeric only password may be generated

* Bump the ansible version this will have been added to 2.8
2019-02-14 17:02:24 -05:00
Matt Clay 3e778d3f8f Fix pycodestyle E117 issues. 2019-02-13 23:35:39 -08:00
Simon Westphahl 02e87b7d70 Raise AnsibleConnectionError on winrm connnection errors (#51744)
* Raise AnsibleConnectionError on winrm con errors

Currently all uncaught exceptions of the requests library that is used
in winrm will lead to an "Unexpected failure during module execution".

Instead of letting all exceptions bubble up we catch the connection
related errors (inkl. timeouts) and re-raise them as
AnsibleConnectionError so Ansible will mark the host as unreachable and
exit with the correct return code.

This is especially important for Zuul (https://zuul-ci.org) to
distinguish between failures and connection/host related errors.

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

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

* Add changelog fragment
2019-02-13 14:55:55 -05:00
René Moser 02f51e865c cloudscale: combine docs in fragment (#52069)
* cloudscale: combine docs in fragment

* workaround false negative E305
2019-02-13 13:52:01 -06:00
Jordan Borean 847d089d6b Re-add support for setting shell from play context (#52139)
* Re-add support for setting shell from play context

* Add integration tests

* Add more tests for shell override

* fix sanity issue
2019-02-13 11:49:13 -06:00
Matt Martz b34d141eed
Disallow use of remote home directories containing .. in their path (CVE-2019-3828) (#52133)
* Disallow use of remote home directories containing .. in their path

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

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

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

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

* identity: Add documentation for GSSAPI authentication for FreeIPA

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

* identity: Add changelog for GSSAPI support for IPA

This adds the changelog entry for the GSSAPI authentication feature for
the IPA identity module.
2019-02-13 15:38:13 +00:00
Alan Rominger af9ff07c74 Send openstack inventory logs to stderr (#51827) 2019-02-13 13:36:37 +00:00
Abhijeet Kasurde 32fce43311
hashi_vault: fix multiple spaces in params (#51524)
Fixes param parsing in hashi_vault

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-13 18:32:00 +05:30
Pilou 51270be883 tower modules: check that 'verify_ssl' defined in ~/.tower_cli.cfg isn't ignored (#50687)
* Check that verify_ssl defined in tower_cli.cfg isn't ignored

* Avoid to override verify_ssl value defined in tower_cli.cfg

By default, tower-cli library enables SSL certificates check. But
verify_ssl false value defined in config files read by default by
tower-cli library (for example /etc/tower/tower_cli.cfg) was ignored
because overriden by the tower_verify_ssl parameter default value.

* fix a typo in comment
2019-02-13 10:26:43 +00:00
Ondra Machacek 797a5218fb kubevirt: Add new kubevirt_vm module (#50768)
This module is managing virtual machines using KubeVirt.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
2019-02-13 10:17:01 +00:00
Matt Clay 04112d47a7 Fix more incorrect uses of `is` operator. 2019-02-12 20:04:20 -08:00
Matt Davis cd7a144515
fix docker default remote_user (#52137)
Fix bogus default value in config- exposed by become plugins (#50911) actually using this value in more cases.
2019-02-12 16:29:27 -08:00
Abhijeet Kasurde 4e0e09d2de docs: update docs about pipelining (#51856)
Additional documentation about `keep_remote_files` and
`pipelining` configurations.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-12 12:49:00 -05:00
hansmi 76ab88c9f5 callbacks/slack: Explicitly set Content-Type header (#51824)
There are other chat systems with hook implementations more or less
compatible with Slack, such as Rocket.Chat. The latter requires the
Content-Type header to be set to "application/json" (the body is JSON).

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
2019-02-12 12:47:33 -05:00
Matt Martz c55317a2bd
Update connection plugins to use correct, non-deprecated, methods (#52038)
* Update connection plugins to use correct, non-deprecated, methods

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

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

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

* cleanup

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

* Port become_plugins to context.CLIARGS

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

* Refactor make_become_commands as asked for by alikins

* Typo in comment fix

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

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

* Rename BECOME_PLUGIN_PATH to DEFAULT_BECOME_PLUGIN_PATH

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

* One to throw away

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

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

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

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

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

class Task(Base):
    pass

And still have a playbook like this function:

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

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

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

* Revert "One to throw away"

This reverts commit 23aa883cbed11429ef1be2a2d0ed18f83a3b8064.

* Set FieldAttr defaults directly from CLIARGS

* Remove dead code

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

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

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

* Logic fix

* Nuke connection testing if it supports specific become methods

* Remove unused vars

* Address rebase issues

* Fix path encoding issue

* Remove unused import

* Various cleanups

* Restore network_cli check in _low_level_execute_command

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

* minor cleanups

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

* Fix up ksu become plugin

* Only set prompt if build_become_command was called

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

* Fix tests and code expectations

* Doc updates

* Various additional minor cleanups

* Make doas functional

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

* Remove unused imports

* Add comment about setting the become plugin on the playcontext

* Fix up tests for recent changes

* Support 'Password:' natively for the doas plugin

* Make default prompts raw

* wording cleanups. ci_complete

* Remove unrelated changes

* Address spelling mistake

* Restore removed test, and udpate to use new functionality

* Add changelog fragment

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

* Remove unrelated change to loader

* Remove internal deprecated FieldAttributes now

* Emit deprecation warnings now
2019-02-11 11:27:44 -06:00
James Cassell 953058d025 standardize connection variable names (#51776)
* standardize user/password connection vars

* docs: use ansible_user and ansible_password

* docs: var precedence for connection vars

* docs: ansible_become_pass -> ansible_become_password etc
2019-02-11 10:43:10 -05:00
Akira Yokochi 51061f8a5f fix a little typo in ini inventory doc (#52025) 2019-02-11 15:34:01 +00:00
Mariusz Mazur 34671a64b3 k8s_auth: new k8s module for handling auth (#50807)
* k8s*: add a reference to k8s_auth in all the modules' descriptions

* k8s_auth: new k8s module for handling auth

* k8s_auth: ignore E203

Can't use module_utils.urls, since that lacks user CA support, which is
a critical feature of what this module does.
2019-02-11 07:55:34 -05:00
Karsten Jakobsen e6ae688e47 netbox: inventory: Fix VMs do not have device_roles, but instead use roles (#50761)
This makes sure that roles show up as device_role when using VMs
2019-02-11 06:40:24 +01:00
Sloane Hertel bcefd61437 Allow default regions list to use flexible credential types (#51451) 2019-02-09 00:22:56 -05:00
Nathaniel Case 7ad238b358
Document httpapi and cliconf plugins (#49503)
* Create new documentation pages for httpapi and cliconf

* Add new documentation to plugins toctree and Makefile

* Add DOCUMENTATION to cliconf

* Apply suggestions from code review
2019-02-08 11:04:05 -05:00
Felix Fontein 0c2bb3da04 docker modules: various adjustments (#51700)
* Move docker_ module_utils into subpackage.

* Remove docker_ prefix from module_utils.docker modules.

* Adding jurisdiction for module_utils/docker to $team_docker.

* Making docker* unit tests community supported.

* Linting.

* Python < 2.6 is not supported.

* Refactoring docker-py version comments. Moving them to doc fragments. Cleaning up some indentations.
2019-02-08 08:16:11 +00:00
Jadi bf40b8d118 Fixed wrong limit on 'Fetch all deployments' sample (#51897)
Fixes: #51675 

the sample for 'Fetch all deployments' is "{{ lookup('k8s', kind='Deployment', namespace='testing') }}" but it should be "{{ lookup('k8s', kind='Deployment') }}"
2019-02-08 08:17:50 +05:30
rabin-io a682a0292d Update yaml.py example to include A colon for single host in a group (#51830)
* Update yaml.py exmaple to include A colon

took me some time to find that out, you can have a single host under a group without the A colon, but if you add another host also w/o A colon, they will be parsed as a single line.

* Update yaml.py
2019-02-07 14:15:40 -05:00
ftntcorecse e8209c23da Fortinet FortiManager Connection Plugin RC, plus associated utilities (#50336)
* PR Candidate for FortiManager Connection Plugin, plus associated Utilities.

* Update fortimanager.py

Adding additional comments

* Committing changes for PR as requested by Ansible Staff

* Minor doc change to kick off new shippable test. Unrelated code (not our stuff) caused a failure on the last test.

* Removed generic methods for get/set/etc. Moved a copy of FMGRLockCTX into the plugin for portability, and to left the original in the mod_utils/fortimanager.py as deprecated code for pre-2.7 customers still running on pyFMG and not the plugin.

Tested all playbooks and all modules, and all appears well.
2019-02-07 08:55:30 -05:00
Jordan Borean 146a89b612
psrp - do not display bootstrap wrapper for eachach task (#51779) 2019-02-06 12:05:15 +10:00
Sandra McCann eb6989ecbc Add note to network agnostic modules for supported platforms (#51617)
* added doc fragment to multiple network modules
2019-02-05 15:18:54 -06:00
Nathaniel Case d14f16e31b
Restconf HTTPAPI plugin and modules (#49476)
* Initial code for restconf support

*  Add restconf httpapi plugin
*  Add restonf_get module

* Fix some ConnectionError usage
2019-02-04 09:28:26 -05:00
vaneuk 2a0c356da9 added response_timestamps to ios_xr_command module (#50095) 2019-02-04 18:49:06 +05:30
Jim Rollenhagen 07605923e1 Simplify regex filter code (#50202)
This was written when we were redefining `bool` in the same module. As
we aren't doing this any longer, simplify it back to just calling
`bool()`.
2019-02-03 15:10:16 -05:00
Abhijeet Kasurde 18ed84b877 hashi_vault: add support for userpass authentication (#51538)
Added support for username and password authentication in hashi_vault
lookup plugin.

Fixes: #38878

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-02 12:32:53 +01:00
Anil Kumar Muraleedharan 004d8b03d4 Lenovo cnos l3interface (#51322)
* Adding cnos_l3_interface module in alignment with others vendors.
2019-02-01 09:17:52 -05:00
Nilashish Chakraborty beb2af83c1
frr: Add terminal and cliconf plugins (#51169)
* Added terminal plugin for FRR

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

* Added cliconf plugin for FRR

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

* Added cliconf plugin for FRR

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

* Override required methods

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

* Fix pep8 issues

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

* Add get_supported_protocols and minor error regex fix

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

* Remove unused imports

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

* Fix review comments

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

* Add get_diff and run_commands

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

* Set output to empty list

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

* Fix CI errors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-02-01 17:56:31 +05:30
Juan Antonio Osorio bac19c3301 identity: Autodetect FreeIPA server with DNS (#50988)
* identity: Autodetect FreeIPA server with DNS

This adds the ability for the freeIPA related modules to be able to
auto-detect the IPA server through DNS.

This takes advantage of the fact that a lot of FreeIPA deployments
configure their hosts to use IPA as the nameserver.

This check is only used if we didn't set neither the ipa_host parameter,
nor the environment variable IPA_HOST.

* identity: Specify docs for DNS discovery of ipa_host

These docs specify that it can now default to DNS if the 'ipa-ca' entry
is available.
2019-02-01 08:19:05 +00:00
chronidev 240d1a6afb Add coherency between check and normal mode for copy plugin action see issue #24633 (#51582)
* Add coherency between check and normal mode see issue #24633

* Add changelog fragment for the PR

* Make change following PR comment

* Remove trailing whitespace
2019-02-01 13:47:23 +10:00
nikkytub 7dcacc1ce8 Added config-context as an opt-in (#50343)
* Added config-context as opt-in

* Added config-context description in the documentation
2019-01-31 22:01:16 +00:00
Abhijeet Kasurde 67f95cb499 Onepassword document fixes (#51527)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-31 09:48:55 -05:00
vaneuk 2a432a093b added timestamps to ios_command module (#50323)
ios_command module now returns timestamps field, which shows command execution time
2019-01-31 18:11:53 +05:30
Jordan Borean 6a2aac487d
win_stat - add follow option and fix broken tests (#51522)
* win_stat - add follow option and fix broken tests

* fix docs issues
2019-01-31 15:56:06 +10:00
Brian Coca 4ac0c23db6
added unsafe toggle to vars_prompt (#49219)
* added unsafe toggle to vars_prompt

	fixes #47534
2019-01-30 15:01:13 -05:00
Jordan Borean 6d13acf1ff
Ignore AttributeError when trying to import p paramiko (#51243)
* Ignore AttributeError when trying to import p paramiko

* preserve import error
2019-01-30 09:40:21 +10:00
Brian Coca 50b40c47df aws_ec2 Implement the missing 'region discovery' (#51333)
* aws_ec2 Implement the missing 'region discovery'

  fixes #45288

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

* fixes and cleanup, add error for worst case scenario

* fix tests, remove more unused code

* add load_name

* acually load the plugin

* set plugin as required

* reverted test changes, removed options tests

* fixes as per feedback and cleanup
2019-01-29 14:59:38 -06:00
Dag Wieers 870525d762 PSRP: Add read_timeout connection parameters (#46850)
* PSRP: Add read_timeout connection parameters

* Changed debug() into warning()

* Only expose when read_timeout is not set
2019-01-29 14:02:53 +10:00
Mattias Lindvall c34f85c788 Python3 fix: Decode output from popen in iocage connection (#41868)
* decode output from popen in iocage connection

* use ansibles to_native instead of stdlibs decode
2019-01-28 11:34:39 -05:00
Nilashish Chakraborty 92b0cd8e0e
Add more return values to *_config modules (#50702)
* Add more return values to *_config modules

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

* Add more rv

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

* Exclude from cli_config docs for now

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

* Add new rv docs for junos_config

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

* Fix CI errors

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

* Support date time for configurable backup path

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

* Change logic based on configurable path

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

* Remove unwanted import

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

* Fix docs

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

* Add filename rv

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

* Change dosc filename rv

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

* Make new rv code more readable

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-01-28 20:49:56 +05:30
Nathaniel Case 9336281a60
Standardize cliconf get_capabilities (#51147)
* Standardize cliconf get_capabilities

* Check for capabilities before querying them

* Try to be more helpful when unexpected things are found in get_capabilities

* Add flags param to get_config for compatibility
2019-01-28 08:24:44 -05:00
Ganesh Nalawade 70bf9b9919
Add backup filename and dir path option for config network modules (#50801)
* Add configurable backup path option for network config modules

Fixes #50283
Fixes #32724

*  Add back_options in network config module argspec
*  Handle backup path options in network action plugin

* Fix review comments

* Add integration tests

* Update changelog
2019-01-24 09:36:16 +05:30
Brian Coca 96b3ef5553
Doc fragments to plugins (#50172)
* promote doc_fragments into actual plugins

  change tests hardcoded path to doc fragments
  avoid sanity in fragments
  avoid improper testing of doc_fragments
  also change runner paths
 fix botmeta
 updated comment for fragments
 updated docs
2019-01-23 20:03:47 -05:00
Brian Coca 960388143f
faster config loading (#48333)
* faster config loading

  - used already loaded module var instead of doc functions
  - add preload to populate config defs cache
  - avoid debug work when not in debug
  - generators, force consumption
2019-01-23 12:06:54 -05:00
Sam Doran 9d4c0dc111 Catch sshpass authentication errors and don't retry multiple times to prevent account lockout (#50776)
* Catch SSH authentication errors and don't retry multiple times to prevent account lock out

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

* Subclass AnsibleAuthenticationFailure from AnsibleConnectionFailure

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

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

* Add tests

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

* Make paramiko_ssh connection plugin behave the same way

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

* Add changelog

Signed-off-by: Sam Doran <sdoran@redhat.com>
2019-01-23 11:32:25 -05:00
Matt Davis 2cb9ec9f0e fix include_vars non-ASCII error handling (#51198) 2019-01-22 19:35:34 -05:00
Nathaniel Case 8d4f7f5b56
Fix stray string in network_cli (#51142)
* Replace loose string that should be a byte string

* Replace byte string literals with string literals

* These, on the other hand, need to be byte strings
2019-01-22 09:07:04 -05:00
Thomas Morin 6ad9f87ce7 Update debug.py (#51041)
Changed "though" to "through"
2019-01-21 15:08:26 +05:30
Ganesh Nalawade f547c88ade
Fix connect_timeout config varaible in netconf connection (#51055)
*  Fetch connect_timeout value from get_options()
   instead of play_context
2019-01-21 12:21:09 +05:30
Ganesh Nalawade 1b6228fa10
Increase persistent command_timeout default value (#51056)
* Increase persistent command_timeout default value

*  Increase command_timeout default value from 10 to 30 sec
   to reduce frequent timeout issue for network connection
   types (netconf/network_cli/httpapi/napalm)

* Fix review comments
2019-01-21 10:50:52 +05:30
Matt Williams 919abe17f3 Fix Foreman returning host parameters (#51034)
Foreman (1.20) returns the `all_parameters` key as a list of dicts, not a dict of key-value pairs.
2019-01-18 15:56:57 -05:00
Alan Rominger baf59ccaac Put in documented default for gcp_compute filters (#50025) 2019-01-18 11:39:24 +00:00
Jordan Borean b7620c161a
win_updates - fix category return value to be a list (#51001)
* win_updates - fix category return value to be a list

* remove unstable test alias
2019-01-18 05:35:10 +10:00
Matt Clay a864247bd5 Encoding fixes for plugin loader and vault. (#51002) 2019-01-17 12:18:01 -05:00
Jordan Borean 9fa46e7f94 reboot - Fix connection timeout reset (#51000)
* only reset if we could retrieve the conn timeout
2019-01-17 10:45:41 -05:00
Martin Krizek 3dc5ba6186
Remove unnecessary calls to cache_block_tasks noop (#50715) 2019-01-17 08:29:26 +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
Matt Clay b971ebd343 More path encoding fixes. 2019-01-16 15:44:50 -08:00
Yunge Zhu 0f846f39ca fix new inventory azure_rm.py (#50006)
* fix new inventory

* fix lint

* resolve comments

* resolve comments

* add defensive code

* fix response not match handler

* remove useless import

* fix lint

* add changelog
2019-01-16 14:16:18 -08:00
Matt Clay 54867b4add Add comment explaining to_native usage. 2019-01-16 13:13:22 -08:00
Matt Clay 53a640f2cc Use to_bytes on open and to_native on load_source. 2019-01-16 13:13:22 -08:00
Matt Clay a8e6577403 Fix path encoding issue loading plugins. 2019-01-16 13:13:22 -08:00
Ricardo Carrillo Cruz ac61c99821
Add checkpoint_session module (#50930)
* Add checkpoint_session module

* Add unit test

* Fix pep8

* Rename Checkpoint for Check Point
2019-01-16 13:19:36 +01:00
Trishna Guha a1ea7e430a
fix ansible_connect_timeout variable in connection plugins and nxos_install_os timeout check (#50965)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-16 14:10:26 +05:30
Brian Coca 119b65f919
Clarify clear facts (#50667)
* Revert "avoid x2 setting of set_fact when 'cacheable' (#50564)"

This reverts commit 207848f354.

* clarify clear_facts with set_fact cacheable

 revert previous 'fix' as it will break playbooks by changing precedence
 opted to leave current behaviour but document it on both plugins to mitigate confusion

 fixes #50556

 also fix grammer, add comment, remove unused e
2019-01-15 15:20:33 -05:00
Ids van der Molen f97abc095b gcp_compute: Add vars_prefix to prefix host_vars (#49601)
* Add vars_prefix to prefix host_vars

* Set vars_prefix default to empty string
2019-01-15 13:24:52 -05:00
Abhijeet Kasurde 4817dcd0fc Minor typos (#50371)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-15 11:37:00 +00: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