Commit Graph

3195 Commits (b678139e68a048dd0cdb0cb6ee90d28183b95f64)

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