Commit Graph

2354 Commits (acf3f7a5df66fce9300e94d0a6655f5434e60dcc)

Author SHA1 Message Date
Jordan Borean dccf58efe3
winrm: remove exception appender (#33443)
* winrm: remove exception appender

* went the other way and made the import error msg available in the msg
7 years ago
Nathaniel Case 33cbae0873
Fix module_utils path for network (#33531) 7 years ago
Nathaniel Case ce1ec4a2c9 fix nxos action plugin indentation for nxapi (#33526) 7 years ago
Ganesh Nalawade 11c9ad23d5
Refactor common network shared and platform utils code into package (#33452)
* Refactor common network shared and platform specific code into package (part-1)

As per proposal #76 refactor common network shared and platform specific
code into sub-package.
https://github.com/ansible/proposals/issues/76

*  ansible.module_utils.network.common - command shared functions
*  ansible.module_utils.network.{{ platform }} - where platform is platform specific shared functions

*  Fix review comments

* Fix review comments
7 years ago
Nathaniel Case 7f90c9d1a7
Warn on `provider` with network_cli (#33355)
* Warn on `provider` with network_cli

also unify action plugins

* Add to porting guide about connection warnings
7 years ago
Samer Deeb 717b6e7c1a Add mlnxos_config module (#33356)
* Add new module mlnxos_config

Signed-off-by: Samer Deeb <samerd@mellanox.com>

* Add unit-test for mlnxos_config module

Signed-off-by: Samer Deeb <samerd@mellanox.com>
7 years ago
Ganesh Nalawade f5a2e26ffd
Fix junos cliconf commit api (#33458)
*  In order to maintain a single api call across
   netconf and cli transport from module code change
   signature of commit api to accept genric args.
*  Fix doc string
7 years ago
Ganesh Nalawade fe702b48a5
Fix network_cli connection issue (#33420)
*  Copy play_context in network_cli connection class
7 years ago
Brian Coca 0d5b1a1567 added version added 7 years ago
Andrea Tartaglia b7e4cfed82 Updated mail callback with config options (#33409) 7 years ago
James Cammarata 52a8644a15 Additionally template args in role_include that affect role loading (#33386)
This fixes many issues with role_include by correctly templating and
saving fields which affect role loading in the args for the role include.
7 years ago
Ganesh Nalawade 35acae7ea7
Fix eos integration test failure (#33407)
Fixes #33406
Fixes #33405

*  Fix typo in network_cli for sendonly
*  Send `abort` to remote device in case configuration fails
*  Fix indentation issue in eos_static_route integration test

*  Revert network_cli change
7 years ago
Ricardo Carrillo Cruz fec39ba1f2
Vyos CliConf refactor (#33348)
* Refactor VyOS to use cliconf

* Use show configuration commands on get_config

* Remove debug statement

* Construct command/answer/prompt if needed and fix commit comments

* Convert command/prompt/answer to bytes
7 years ago
Nathaniel Case a1da3dc997
Auth to become (#33319)
* terminal.on_(de)?authorize -> terminal.on_(un)?become

* Update network_cli

* Readd on_(de)?authorize as wrappers

* Update tests
7 years ago
Ganesh Nalawade ff938bfdd5
Reset persistent connection only if it is active (#33238)
Fixes #33237

Add check to reset connection only is persistent socket
file exist

Fix review comments
7 years ago
Brian Coca 22d983c5c1
get_option instead of internal dict (#33191)
* get_option instead of internal dict

* fix slack issue

* not a pugin, revert get_option
7 years ago
Kedar K 6749a39dbe
Change cliconf get() method signature with explicit args (#33341)
* Change cliconf get() method signature to explicit args instead of *args and **kwargs

* updates doc string
7 years ago
Jordan Borean 8386201242 add deprecation for stat get_md5 (#33002) 7 years ago
Matt Martz 4fe08441be Deprecate tests used as filters (#32361)
* Warn on tests used as filters

* Update docs, add aliases for tests that fit more gramatically with test syntax

* Fix rst formatting

* Add successful filter, alias of success

* Remove renamed_deprecation, it was overkill

* Make directory alias for is_dir

* Update tests to use proper jinja test syntax

* Update additional documentation, living outside of YAML files, to reflect proper jinja test syntax

* Add conversion script, porting guide updates, and changelog updates

* Update newly added uses of tests as filters

* No underscore variable

* Convert recent tests as filter changes to win_stat

* Fix some changes related to rebasing a few integration tests

* Make tests_as_filters_warning explicitly accept the name of the test, instead of inferring the name

* Add test for tests_as_filters_warning

* Update tests as filters in newly added/modified tests

* Address recent changes to several integration tests

* Address recent changes in cs_vpc
7 years ago
Samer Deeb cbf28c20cb Add Support for Mellanox switches: first module: mlnxos_command (#33121)
* Add Support for Mellanox switches: first module: mlnxos_command

Signed-off-by: Samer Deeb <samerd@mellanox.com>

* Add cliconf support for mlnxos

Signed-off-by: Samer Deeb <samerd@mellanox.com>

* 1- Fix short description, 2- remove waitfor

Signed-off-by: Samer Deeb <samerd@mellanox.com>

* remove usage of check_args

Signed-off-by: Samer Deeb <samerd@mellanox.com>
7 years ago
Kedar K e65ef09aa9 - Fix authentication failure with paramiko when using password mode (#33303)
- break out of loop when paramiko stream is closed
7 years ago
Ken Celenza 748107d369 Type manipulation (#28446)
* add type manipulation

* update for py3

* add tests for list to dict

* Add dict to list tests

* Update tests to search for regex in response

* pep8 clean up

* update Exception for py3

* update test to be py2/3 compat

* update for py26 compat

* potential fix for py3 and py26

* potential fix for py3 and py26 take2

* add new line to kick off shippable

* remove cache file created

* fix filter name

* add space for shipable
7 years ago
Ganesh Nalawade 3d63ecb6f3
Refactor junos modules to Use netconf and cliconf plugins (#32621)
* Fix junos integration test fixes as per connection refactor (#33050)

Refactor netconf connection plugin to work with netconf plugin

* Fix junos integration test fixes as per connection refactor (#33050)

Refactor netconf connection plugin to work with netconf plugin
Fix CI failure
Fix unit test failure
Fix review comments
7 years ago
James Cammarata d8ae4dfbf2 Adding aliases for field attributes and renaming async attribute (#33141)
* Adding aliases for field attributes and renaming async attribute

As of Python 3.7, the use of async raises an error, whereas before the use
of the reserved word was ignored. This adds an alias field for field attrs
so that both async and async_val (interally) work. This allows us to be
backwards-compatible with 3rd party plugins that may still reference Task.async,
but for the core engine to work on Py3.7+.

* Remove files fixed for 'async' usage from the python 3.7 skip list
7 years ago
Jordan Borean 23f8833e87 fixed up get_options in AnsiblePlugin to use the correct plugin name 7 years ago
jctanner 218987eac1
ANSIBLE_SSH_USETTY configuration option (#33148)
* Allow the user to circumvent adding -tt on ssh commands to help aid in
debugging ssh related problems.
* Move config to the plugin
* Set version_added
* Change yaml section to "connection"
* Fix ssh unit tests
7 years ago
Peter Sprygada 69575e25d0 shuts down persistent connections at end of play run (#32825)
This change will now track any created persistent connection and shut it
down at the end of the play run.  This change also includes an update to
properly honor the reset_connection meta handler.
7 years ago
Benjamin Schweizer e4300e8d54 fixed syntax error (#33185) 7 years ago
Brian Coca 3456bba631 make vars only group declarations an error
fixes #32860
7 years ago
Matt Clay e45c763b64 Fix invalid string escape sequences. 7 years ago
Ganesh Nalawade 0ddf092ae3
Add new filter to parse xml output for network use cases (#31562)
* Add new filter to parse xml output for network use cases

Fixes #31026
*  Add parse_xml filter
*  Add documentation for parse_xml filter

* Edited for clarity.

* Fix review comment and add unit tests

* Fix unit test CI failure

* Fix CI issues

* Fix unit test failures

* Fix review comments

* More copy edits.
7 years ago
Anil Kumar Muraleedharan e24e771b88 To set the right CLI context i.e. Privilege (Enable) Mode soon after connection. (#32966) 7 years ago
paulquack 47eaf662a7 Fix issues with ironware modules (#33068)
- authorize was not working as expected
 - use end command to get to exec context instead of exit
 - error due to mishandling of global variable _DEVICE_CONFIG
7 years ago
André Althaus a9b15ce881 Scan group_vars/host_vars in sorted order 7 years ago
Jordan Borean cf662ed74b win_reboot: change to sample system uptime instead of checking port status (#31767)
* win_reboot: change to sample system uptime instead of checking port status

* added connection timeout back in as now we can manually set it per connection.

* some pep8 fixes

* fix up error message on timeout in case an exception wasn't fired

* Changed doc to English (US) and simplified uptime check

* moved conn timeout over to new config connection options
7 years ago
Brian Coca 6bca5e5a4a
add lookups to config system (#33026)
* add lookups to config system

use etcd as proof of concept

* some doc updates
7 years ago
Brian Coca 53cbc9f6ee fix localized set options in callbacks
signature changed but callbacks overriding it were not updated

fixes #33006
7 years ago
Aaron Haaf c212c2e19f Add itertools.product as a filter (#32991) 7 years ago
Nathaniel Case 37d8242e44
Fix hang on unkown host key for network_cli (#32937)
* Don't prompt on force_persistent either

* Propagate persistence setting to lower paramiko connection
7 years ago
Nathaniel Case 71a6dcdf3e
Fixes eos sending 'None' to device (#33015)
* Fix network_cli sometimes sending 'None' to device

* Also fix `--become-method=enable`
7 years ago
Brian Coca 23b1dbacaf
Config continued (#31024)
* included inventory and callback in new config

allow inventory to be configurable
updated connection options settings
also updated winrm to work with new configs
removed now obsolete set_host_overrides
added notes for future bcoca, current one is just punting, it's future's problem
updated docs per feedback
added remove group/host methods to inv data
moved fact cache from data to constructed
cleaner/better options
fix when vars are added
extended ignore list to config dicts
updated paramiko connection docs
removed options from base that paramiko already handles
left the look option as it is used by other plugin types
resolve delegation
updated cache doc options
fixed test_script
better fragment merge for options
fixed proxy command
restore ini for proxy
normalized options
moved pipelining to class
updates for host_key_checking
restructured mixins

* fix typo
7 years ago
Toshio Kuratomi ae148d1a21 Make everything in default callback use display (#32811)
Noticed that there was just one old and one new place in the default
callback that did not use Display.display() to show data.  Changed those
two places so that everything is uniform.
7 years ago
Nathaniel Case 7414405063
Back to 'prompt' for authorize prompt (#32932) 7 years ago
Ganesh Nalawade 52c87c4691
Fix typo in network_cli to fetch command prompt (#32899) 7 years ago
Anil Kumar Muraleedharan e5b3f60a74 Enos connection issue (#32895)
* Changes due to connection issues

* Adding changes pertaining to connection issue of Ansible

* Review comments of Kedar

* Adding EOL PyLint issue

* Fixing pep8  and yamlint issues
7 years ago
Nathaniel Case a1517234f6
Fix `authorize: yes` and `become_method: enable` (#32864)
* Update connection play_context when socket exists

* Don't fail on connections other than network_cli

* Fix enable prompt detection on ios & eos

* Check against "Module not found" error code, defined in modules/jsonrpc.py
7 years ago
Ganesh Nalawade 71fa60bc68
Fix prompt issue in asa terminal plugin (#32900) 7 years ago
Ganesh Nalawade 9cedb89644
Fix iosxr get_prompt return value failure (#32902) 7 years ago
Brian Coca 992f6d8bf4 unixy maint info 7 years ago
Ganesh Nalawade 8472a53bea Add prompt check in action plugin for network platform (#32787)
* Add prompt check in action plugin for network platform

In case of ignore_errors for a wrong configuration
the prompt is left in configuration mode and moved to
next task, if the next taks requires prompt to be
in operational state it results in failure.
Hence add a check to ensure right prompt at start of
each task run.

* Add prompt check in action plugin for network platform

*  In case of ignore_errors for a wrong configuration
   the prompt is left in configuration mode and moved to
   next task, if the next taks requires prompt to be
   in operational state it results in failure.
*  Hence add a check to ensure right prompt at start of
   each task run.
*  Fix CI issue

* Fix CI issues
Fix review comment
Change iosxr exit command to abort as per review comment
7 years ago
Sam Doran ea3638b580 Add proper check mode support to the script module (#31852)
* Do not run script in check mode

Fixes #30676

* Reformat script integration test

* Add integration tests for check mode of script module

* Fix name on test

* Cleanup temp file

* win_script integration test syntaxt changes

* Add check mode tests for win_script

* Use proper variable in test

* Fail if source file does not exist

* Verify script is accessible and don't copy in check mode

Use shlex to properly split shell arguments, though a path with spaces in it still needs to be quoted in the playbook.
Add note to docs describing such.
Improve error message if file is not found indicating there may be a space in the path.

* Properly encode path now that path is split using shlex

* Allow for spaces in both path and script name

* Add unicode character test to Linux script tests

* Add Linux test for space in path to script
7 years ago
Pierre-Louis Bonicoli 474bf208e9 syslog_json: fix typos in documentation 7 years ago
Peter Sprygada db6a72ebf9 fixes eos connection checks and checks configured connection (#32828)
This change will check the configured connection first and then check
the local provider values.
7 years ago
Peter Sprygada b9bdb05459 fixes asa action plugin for connection=local (#32827)
* fixes asa action plugin for connection=local

This change fixes asa modules when using connection=local to load the
provider values.

* fix up pep8 issues
7 years ago
Brian Coca b70e48a54d fixed issues with lookup url docs 7 years ago
Matt Martz 99d4f5bab4 Remove uses of assert in production code (#32079)
* Remove uses of assert in production code

* Fix assertion

* Add code smell test for assertions, currently limited to lib/ansible

* Fix assertion

* Add docs for no-assert

* Remove new assert from enos

* Fix assert in module_utils.connection
7 years ago
Peter Sprygada c9e6da338c
update sros local action plugin to support network_cli (#32830)
* update sros local action plugin to support network_cli

This updates the sros local action plugin to only start the connection
if connection=local is specified.  This is to support network_cli
connection plugin

* fix up pep8 issues
7 years ago
Trentr9 5625720c64 Fix typo in documentation (#32821) 7 years ago
Brian Coca e7941b0d4e
avoid chroot paths (#32778)
* avoid chroot paths

fixes #32764

* check name
7 years ago
Sloane Hertel 33a704cc61 Add documentation for the aws_ssm lookup plugin. (#32763) 7 years ago
Matt Davis 5ff36c3423 Enable autoloading of inventory plugins (#32709)
* Automatically loads and executes an inventory plugin specified by a standard YAML inventory config file containing a `plugin` key at its root.
* Moved inventory PluginLoader to a shared global instance.
7 years ago
Brian Coca 59d5481abb
fixes to events/callbacks (#32633)
* fixes to events/callbacks

  - made note of 'not called' methods for future fixes
  - removed uncalled v2_runner_on_file_diff because dupe of v2_on_file_diff, which is called
  - removed v2_runner_on_no_hosts due to existing pb level ones, which are called
  - removed v2_on_setup, it is just a task, triggers normal task events
  - v2_on_notify is now called when a handler is notified
  - TODO: async, cleanup? and import events
    these currently occur in code that has no access to sending events

* corrected display
7 years ago
Brian Coca 0e74731d73 Added callback that removes callback noise
for those that only want logging but no events to screen
7 years ago
u625030 6d597ac05a Update win_copy for #32677 (#32682)
* Update win_copy for #32677

enable large zip file support in win_copy

* Update win_copy.py
7 years ago
Nathaniel Case 9c0275a879
Connection plugins network_cli and netconf (#32521)
* implements jsonrpc message passing for ansible-connection

* implements more generic mechanism for persistent connections
* starts persistent connection in task_executor if enabled and supported
* supports using network_cli as top level connection plugin
* enhances logging for persistent connection to stdout

* Update action plugins

* Fix Python3 RPC

* Fix Junos bytes<-->str issues

* supports using netconf as top level connection plugin

* Error message when running netconf on an unsupported platform
* Update tests

* Fix `authorize: yes` for `connection: local`

* Handle potentially JSON data in terminal

* Add clarifying detail if possible on ConnectionError
7 years ago
Brian Coca ee80215fa9
Combine lists of dicts (#32686)
* allow combine to take lists of dicts

* updated as per feedback
7 years ago
Brian Coca db749de5b8 namespace facts
updated action plugins to use new guranteed facts
updated tests to new data clean
added cases for ansible_local and some docstrings
7 years ago
Anil Kumar Muraleedharan 9d98452032 New enos_facts, + module_utils/enos.py. modifying copyright year in rest all (#31696)
* Squashing all commits to one as suggested by John

* Adding Unit test method for the module enos_facts.py

* Pep8 and Ylint issues addressed

* Trying again to remove blank line. Some scripts are required for this.

* Bug Fixing for interfaces

* Editing for over indenting issue

* E203 whitespace before ','

* Update enos.py

Added warnings argument as to check_args method

* Update enos_facts.py

Added warnings to check_args method
7 years ago
Jan Pazdziora e5dbf63b65 Fix #31694: running with closed stdin on python 3 (#31695) 7 years ago
Denver Janke 57106662db Get (potentially) new composite host vars from inventory (#32606)
* Get new composite host vars from inventory

* Remove spaces from blank line
7 years ago
David M. Lee 1fd454e5b5 Add yaml output plugin (#32246)
* Add yaml output plugin

Using YAML instead of JSON for detailed output can (IMO) improve
readability; especially for tasks with either lots of output, or
multi-line output.

* Fix yaml output plugin documentation

 * Added copyright header to yaml.py
 * Moved mention of yaml output plugin to `New Modules` section

* Use AnsibleDumper in yaml output plugin

Also moved the `represent_scalar` setup into the init method. As a
global statement, it was causing exceptions trying to get an `id`
field that does not exist.

* Remove trailing whitespace

* Remove useless json.loads/dumps from yaml output
7 years ago
paulquack a5da2e44a1 ironware_config module (#32187) 7 years ago
Kenneth D. Evensen 4eccb447cf Lookup plugin for the OpenShift Container Platform. 7 years ago
Matt Davis 8ecc7bc4a1
minor become/runas cleanup (#32564)
* removed/blobified unused PInvoke stuff
* added try/finally around impersonation to ensure RevertToSelf is called in all cases
* added a few explanatory comments
7 years ago
Jordan Borean 15b492ca57 win_become: get admin token and fix async (#32485)
* win_become: make it easier to become with an admin token

* Fixed up pep8 whitespace

* fix for Server 2008

* Added support for async and become on newer hosts and fix warnings
7 years ago
Sam Doran e65045f51f Add echo option to pause module (#32205)
* Enable ECHO in prompt module

Fixes #14160

* Add option for controlling echo behavior with pause module

* Improve option logic

Allow all options to be used in varying combinations, rather than being mutually exclusive.
Always capture output and return it, even when a time limit is set.

* Add version_added to docs

* Improve behavior of echo output

Set a few more flags to allow interactive deletion and hide control characters.
Do not capture or echo input when a time is set. Tried to get this working nicely, but ran into too many issues/oddities to keep it. Maybe in the future if there is demand for capturing/echoing input when a time is set I'll take another pass at it.
7 years ago
Brian Coca e582a69e9c
show specific undefined var errors on -v in debug (#32206)
* show specific undefined var errors on -v in debug

allows users to get more specific information about undefined errors
as they might be looking at a complex data structure and need to find
the specific leaf that has the issue

* now tests works at all verbosity levels

* updated to unicode objects
7 years ago
Brian Coca 9d28973b5e ini plugin should recursively instantiate pending
solves inconsistent behaviour on ini host format depending on definition order
fixes #32196
7 years ago
Brian Coca 0f7fcd2b40
config lookup plugin (#32392)
* config lookup plugin

* added info about ansible-config list

* fixed typoes

* now with option and error handling

* fixed import, better docs
7 years ago
Brian Coca 4fb9e54c50 calculate max fail against all hosts in batch
currently it is doing only from the 'active' hosts in the batch which means
the percentage goes up as hosts fail instead of staying the same.
added debug info for max fail

fixes #32255
7 years ago
Brian Coca 41685fb516 fix precedence issue with facts and vars (#32302)
avoid making gathered facts high precedence, only set_fact is supposed to be.
vars set via set_fact with cacheable are higher precedence than plain facts.

Previously (after 6fbd0a8bb5) regular facts would end up with a
higher precedence than host or play vars, but they should not be. Facts were getting added to 'non_persistent_facts' (equivalent to 'register' vars) which is higher precedence than facts should be.

added 'cacheable set_facts' to precedence docs

'ansible_facts_cacheable' ->  '_ansible_facts_cacheable' (made 'private')
7 years ago
Ganesh Nalawade 26583adb58
Fix wrong prompt issue for network modules (#32426)
* Fix wrong prompt issue for network moodules

Fixes #31161
Fixes #32416

*  Store the device prompt in case of error
   from remote device
*  Check for prompt value in ios action plugin

* Add integration test
7 years ago
Brian Coca e70c0afc5e now with_dict allows for direct 'lookup' usage
fixes #32067
7 years ago
James Tanner ded0b6ed83 Change the ssh+sudo debug messages to vvv for easier troubleshooting in awx+tower 7 years ago
Patrick Ogenstad 81f34cd01c Remove asa_template action plugin (#32233)
Since the asa_template module has been deprecated this action plugin
is no longer needed.
7 years ago
Stanley Karunditu 7553c42e09 Fixes #31090. In network parse_cli filter plugin, this change moves the creation of a (#31092)
new match(block). It previously only occurred if a new match occurred,
but suggest it should occur when an end of a block match is found.
7 years ago
Sam Doran 6a6ea663ea Return all elements in a more robust way
If a trailing ':' is set or not, always return all secrets from a path. This was a bug mostly fixed by this PR.

Update examples.
7 years ago
igor-pinchuk 6b6746dcee Update hashi_vault.py
Add ability to lookup entire objects in HashiCorp Vault.
When used with auth_method allow skipping SSL verify.
7 years ago
Sam Doran 104934c095 Enable ECHO in prompt module (#32083)
* Enable ECHO in prompt module

Fixes #14160

* Set flags to make it possible to edit echoed input as well as hide control charcters

Only do this if a time limit is not set.

* Consolidate settings
7 years ago
James Mighion 11153df0a1 Adding a regex for stderr catching. (#31945) 7 years ago
John R Barker 0e36854213 consul_kv: Fix name & formatting (#32132)
* Fix name & formatting
* Fix examples
7 years ago
akatch ad3f4b953a Fun with callbacks (#32031)
* Functional-ish unix-ish callback plugin

* fix var

* Don't display include or include_vars

* Correctly display debug output and failed output in loops

* Linter fixes, documentation, and GPL oneliner
7 years ago
Peter Sprygada 905d71d46a fix eos terminal plugin to recognize ospf error message (#32039)
The eos terminal plugin did not correctly catch the error message
returned with trying to configure more than one ospf instance.  This
change updates the terminal plugin to catch that scenario
7 years ago
Jordan Borean b004a6373a windows: add #AnsibleRequires for Windows modules (#31683)
* windows: add #AnsibleRequires to set whether a module requires module or a specific version

* fix up pep8 issues

* changed psversion to use the actual ps Requires -Version syntax

* missed the check on #Requires -Version

* fix #Requires module extensions
7 years ago
Martin Krizek 4bd16216fe ini inventory: document value parsing workaround
Fixes #31656
7 years ago
Charles Tolley 531d6c50bf Added regex to recognize prompt (#31947) 7 years ago
James Mighion 6693cc3f5a Using shorthand for disabling paging to avoid the syntax difference between versions. (#31942)
Fixes #31855
7 years ago
Brian Coca fd574c069e remove fixme from docs 7 years ago
James Mighion bb4b98a82e Adds regex for stdout needed for changing root password and regex for stderr catching problems with the password. (#31955) 7 years ago
Brian Coca 2ffe3c42bb fixed caches (#30667) 7 years ago
Jerry Chong 567e989581 Fix exception upon display.warn() (#31876)
Fixes #31875
7 years ago
paulquack 5a6ee054c0 Network command module for Brocade IronWare routers (#31429) 7 years ago
Brian Coca 21cdddce74 correctly deal with changed (#31812) 7 years ago
Chris Meyers cf938e9992 tests for InventoryModule error conditions (#31381)
* tests for InventoryModule error conditions

* modified unicode in tests to ahear to Ansible best practices

* flake8 fixes
7 years ago
Brian Coca 01b6c7c9c6 better cleanup on task results display (#27175)
* better cleanup on task results display

callbacks get 'clean' copy of result objects
moved cleanup into result object itself
removed now redundant callback cleanup
moved no_log tests

* moved import as per feedback
7 years ago
Marat Bakeev f84b5b6059 Update ssm lookup to support getting parameters by path (#31752) 7 years ago
Ganesh Nalawade 89428a40b3 Validate parse_cli filter inputs (#31293)
* Validate parse_cli filter inputs

Fixes #30517

*  Add check to validate input is of type string
*  Add check to confirm template file exist

* Update error message for parse_cli_textfsm invalid template path

* Add input validation for parse_cli_textfsm filter
7 years ago
Ryan Brown e0c2b6bbb4 Rename ssm_parameter_store module and ssm lookup to be prefixed with aws (#31662) 7 years ago
James Mighion 50052b3d70 Adding a cli transport option for the bigip_command module. (#30391)
* Adding a cli transport option for the bigip_command module.

* Fixing keyerror when using other f5 modules. Adding version_added for new option in bigip_command.

* Removing local connection check because the F5 tasks can be delegated to any host that has the libraries for REST.

* Using the network_common load_provider.

* Adding unit test to cover cli transport and updating previous unit test to ensure cli was not called.
7 years ago
Brian Coca 1bf09a7d84 warn on bad keys in group 7 years ago
Mihai Moldovanu 79f2cfbcf9 etcd.py module improved . added posibility to configure from playbook… (#18580)
* etcd.py module improved . added posibility to configure from playbook etcd server to query

* Update playbooks_lookups.rst

documented etcd lookups

* Update playbooks_lookups.rst

* Update playbooks_lookups.rst

* Update playbooks_lookups.rst

* Update playbooks_lookups.rst

* Update playbooks_lookups.rst

* Fixed errors reported by ansibot

* Update playbooks_lookups.rst

* Update playbooks_lookups.rst

* Copy edits.
7 years ago
Brian Coca b68fe2cd23 highlight dynamic parts of error msg 7 years ago
Anil Kumar Muraleedharan ead00e9cae create terminal plugin for enos modules (#31510) 7 years ago
Anil Kumar Muraleedharan fa9421ef98 create cliconf plugin for enos - enos.py (#31509) 7 years ago
Anil Kumar Muraleedharan 34cc563727 Create action file enos.py (#31508)
* Create action file enos_facts.py

* Update and rename enos_facts.py to enos.py

* Taking chances on Dealing with Unstable issues

* Removing blank space/ white line
7 years ago
Jordan Borean 7fce636c2b windows: removed #Requires from PS pipelines as it causes STDERR false positives (#31558) 7 years ago
Brian Coca 2ed46e04f4 more updates to plugin/config generation (#30787)
* fixed module generation

added missing lookup page
point to plugins when plugins
made modules singular
add display for verbose an debug messages
nicer templating, changed generation order for ref
corrected links
moved most of lookup docs to plugin section

* Copy edits
* Fixed typos
* Clarified wording
7 years ago
Matt Davis a4ceb4c35f improve become/runas error messaging on bogus/missing username (#31551) 7 years ago
François Scala aade5234a9 Fix urlparse import for Python3 (#31240)
* Fix urlparse import for Python3 in

* contrib/inventory/consul_io.py
* contrib/inventory/rudder.py
* contrib/inventory/windows_azure.py
* lib/ansible/module_utils/known_hosts.py
* lib/ansible/modules/cloud/centurylink/clc_firewall_policy.py
* lib/ansible/modules/cloud/docker/_docker.py
* lib/ansible/modules/cloud/ovirt/ovirt_disk.py
* lib/ansible/plugins/action/ce_template.py
7 years ago
Jordan Borean 82fa922491 win_become: Added support to become a service user (#30407)
* win_become: Added support to become a service user

* fixes for linting

* changes to get local and network service working

* fixed linting issues again

* pleasing pepe
7 years ago
Brian Coca 4e22677e7d revert namespaced facts changes to package/service
fixes #31485
7 years ago
Bill Wang 91a36faddb New module: Add module for Amazon Systems Manager Parameter Store (cloud/amazon/ssm_parameter_store) (#23460)
- new module: ssm_parameter_store
- new lookup: ssm

* lookup module ssm - adjust error message

* Pacify pylint erroring on botocore not found

* adjust to version 2.5
7 years ago
Jordan Borean f2bc89a880 win_copy: added decrypt option (#31291) 7 years ago
Brian Coca e4c61ea9a1 fix 'return false' from parse
this was abandoned early on the manger side  but seems like we left behind on plugin side.
more flexible extensions with yaml plugin
validate data correctly for yaml/constructed
fixed issue with only adding one child to keyed, the group only got the host that forced it's creation

fixes #31382
fixes #31365
7 years ago
Brian Coca f2ade09dce use configured ansible_shell_executable
refine args/shell/executable hanlding
7 years ago
Jordan Borean c4b51009f0 win_copy: allow src to have invalid windows chars (#31392)
* win_copy: allow src to have invalid windows chars

* create file with colon instead of avoid checkout errors
7 years ago
Ganesh Nalawade 2e4dcc9dda Fix nxos terminal regex to parse xml response (#31283)
Fixes #26130

Modify nxos terminal regex to parse a xml response.
7 years ago
Brian Coca 8aa33419c9 check type to avoid typeerror tb
fixes #31290 by giving more meaningful message
7 years ago
Brian Coca 46621a3ddd updated constructed docs to clarify use of ext 7 years ago
Jordan Borean e61c2799ff win_become: move error handling to Ansible outside of shell (#31227)
* win_become: move error handling to Ansible outside of shell

* trimmed the output so double newlines don't get set

* added test for non-zero exit code

* missed issue URL on test

* changed exit to SetShouldExit
7 years ago
Jordan Borean bba941cd5b win_copy: fix for copying encrypted file without pass (#31084)
* win_copy: fix for copying encrypted file without pass

* fix pep8 issue

* reduced the diff and fixed some minor issues
7 years ago
Adrian Likins dae0ad1ce6 Fix flush_cache on redis cache
Fix a del on non existent self.cache.

Fixes #31148
7 years ago
Brian Coca 101377768b remove unused ssh pipelining setters
fixes #31125
7 years ago
Abhishek Shukla d0c003ab0f BugFix code breaks, if include_vars dir is file instead of directory (#31157) 7 years ago
Julien Palard 5802ec04bf yaml inventory: Better error reporting on typo. fixes (#31118) 7 years ago
Brian Coca ac9278ff0f remove action plugin only fields from 'file' calls (#31047)
* remove action plugin only fields from 'file' calls

fixes #30556

* Add a test for #30556
7 years ago
Brian Coca 43cbcbcc75 removed typo from dig docs 7 years ago
Brian Coca 057eec94ee fixed winrm to use proper task vars (#31072)
it avoids hitting hostvars templating issue and ignoring exception
fixes #30911

also normal var precedence should work for ansible_winrm vars
7 years ago
Ganesh Nalawade 97858d91ac Add alias to command option in telnet (#30825)
*  Add commands alias to telnet option
7 years ago
James Mighion 2837200aea Adding new stdout regex to allow local password changes. Adding stderr regex to catch more errors. (#30994) 7 years ago
Brian Coca 54d7c384b6 clarified dig module uses dnspython 7 years ago
Brian Coca bb874e5029 fixed lookup dig docs 7 years ago
Brian Coca 82de2e1865 rmeove ext requirement for yaml inventory plugin
returns to the state before 2.4 made it a requirement
fixes #30855
7 years ago
Brian Coca 8378ac30b3 fix for slack callback breaks in 2.4 (#30932)
* fix for slack callback breaks in 2.4

fixes #30838
7 years ago
Peter Sprygada 909100bd2c fixes issue where filter wouldn't error on undefined var (#30921)
The filter will now correctly error on an undefined variable when trying
to template the key `value`
7 years ago
Ivan Pepelnjak 9aa1da23f0 Add one-versus-many-matches logic to network filter plugin (#30511)
* Add one-versus-many-matches logic

* Fixed indentation (tabs ==> spaces)
7 years ago
Brian Coca b233f3f296 updated plugin docs (#30490)
* updated  docs

- for devs:
  - added inventory/vars section
  - made some updates to general section and other plugin types
- for users:
 - added 'user' plugin section to start describing the plugins
 - docs on types, what they are and how to use

- removed ref to deleted AUTHORS file
- corrected several typos/headers
- added descriptions to config.rst template
- ignore generated files for cli/plugins and config
- remove new generated files on `make clean`
- moved details from devguid and intro doc to plugin specific pages
- pretied up lookup notes
- changed precedence ref to not conflict config
- removed duplicate config data, as config is autogenerated and up to date
- put new plugins under playbooks
- added `pass` cause rst/python dislikes fractions
- removed dupe in .gitignore, alpha sorted to avoid moar dupes
- added try cause rst/python freaks out

* generate plugins into their own dir

only do plugins that support docs
use toctree from main plugins page
7 years ago
Brian Coca a819cfcad7 dont validate group names in yaml plugin 7 years ago
Ganesh Nalawade d72eb08902 Fix nxos provider transport warning issue (#30610)
* Fix nxos provider transport warning issue

*  Add default value of transport arg in provider spec
*  Remove default value if transport arg in top level spec
   This ensure deprecation warning is seen only in case transport
   is given as a top level arg in task
*  Refactor nxos modules to reference transport value from provider
   spec

* Fix unit test

* Remove transport arg assignment in nxos action plugin

* As assigning transport value is handled in provider spec
  top level task arg assignment is no longer required
7 years ago
Dag Wieers 2392934f48 More PEP8 fixes
Not sure why it missed those.
7 years ago
Dag Wieers 63c6afeaee Fix PEP8 issue 7 years ago
Dag Wieers 57b85198fe Add support for loop-tasks and improved output
This PR includes:
- Support for loop-tasks with proper subject/error content
- Improved output (and proper indentation)
- Complex data structures are now pretty printed
- Better selection of mail subject
7 years ago
Toshio Kuratomi 72bdf7aa7e Fix python3 and nonascii handling in inventory plugins
Fixes #30663
7 years ago
Brian Coca 9f4d73b699 fixed credstash docs 7 years ago
Patrick Ogenstad d74c871559 Restore correct coloring to selective callback (#30528)
* Restore correct coloring to selective callback

This fixes the bug raised in #30506

* Fix format issues for Python 2.6 & indent

Removed the zero length fields to support format under Python 2.6

Fixed E128 continuation line under-indented for visual indent issue
7 years ago
Brian Coca 71cc906ec8 fixed password lookup docs 7 years ago
Brian Coca b9120dfd97 fixed decreption
(cherry picked from commit 1cee81375386a7f3ac3d1893342b9323983f00c9)
7 years ago
Brian Coca 24d4787b2d Lookup docs (#30280)
* finalize lookup documentation
* minor fixes to ansible-doc
 - actually show which file caused error on when listing plugins
 - removed redundant display of type and name
* smart quote fixes from toshio
7 years ago
Matt Clay 7714dcd04e Enable more pylint rules and fix reported issues. (#30539)
* Enable pylint unreachable test.
* Enable pylint suppressed-message test.
* Enable pylint redundant-unittest-assert test.
* Enable pylint bad-open-mode test.
* Enable pylint signature-differs test.
* Enable pylint unnecessary-pass test.
* Enable pylint unnecessary-lambda test.
* Enable pylint raising-bad-type test.
* Enable pylint logging-not-lazy test.
* Enable pylint logging-format-interpolation test.
* Enable pylint useless-else-on-loop test.
7 years ago
hiddenicon 33b8d7069f Add _ and . to regex (#30396)
Adding underscore and period to the nxos regex for determining the prompt for hostnames with underscores and periods in the hostname.
7 years ago
Brian Coca ae29245e05 decelerate! (#30160)
removed accelerate code
removed keyczar dep for accelerate
7 years ago
Brian Coca fc9b44e021 clear correct cache when reconcile is invoked
moved it to ensure all callers get the correct hosts after
7 years ago
Brian Coca 81fd67c10f fixed issue with default callback inheritance (#30427)
* fixed issue with default callback inheritance

 - callbacks need to document same options as callbacks they inherit from to get them configured
 - since default is also used by many 3rd party callbacks for inheritance, making the code 'tolerate' the missing docs
   and fallback to using the direct constant to configure it's options.
7 years ago
Nathaniel Case 5d404af76e Raise an error if ansible_network_os is not specified (#30429) 7 years ago
James Cammarata 6730f81024 Correctly create include_role blocks when using loops (#30372)
Also fixes instances where conditionals or other variables may result in
hosts executing lists of tasks of differing sizes.

Fixes #18748
7 years ago
Ganesh B. Nalawade 8c3bf20a13 Use safe_load to load yaml
Replad `yaml.load` with `yaml.safe_load`
7 years ago
Patrick Ogenstad 58088e836e Fix import error. Was pointing to the wrong module (#30293) 7 years ago
Mark Goddard ac69fcccdc Fix Dell OS network module timeout (#30355)
The dellos action plugins should add the remote address of the switch
provider to the play context. This was fixed in issue #23589 in an
almost identical manner for the eos, ios, iosxr, and vyos action
plugins.

Fixes: #30350
7 years ago
Marek Hulan 9ad90de4bc Fix sending facts to Foreman 7 years ago
Trishna Guha 578ae3b238 fix nxos_file_copy and provider getting set to None when transport is cli (#30262)
* nxos_file_copy bug fix

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

* provider gets set to None in module level when transport is cli

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
7 years ago
follower 8489e298ca doc: Typo fix: "accesability" --> "accessibility" (#30251) 7 years ago
Matt Clay 442af3744e Miscellaneous pylint fixes.
The following rules are no longer disabled:

- bad-format-string
- duplicate-key
- lost-exception
- trailing-newlines
- unexpected-keyword-arg
- useless-suppression
- using-constant-test
7 years ago
Jordan Borean 77b2aca5a2 fixed become to show the stdout and stderr streams instead of the StreamReader (#30254) 7 years ago
abirami-n adc533804a module_utils_fix_dellos6 (#28060) 7 years ago
Ganesh Nalawade 530988666a Allow delegate_to if transport is not cli (#29945)
Fixes #29060

Allow delegate_to if transport is either nxapi or eapi.

Persistent connection uses `cli` transport and create
a local socket on control node. Hence delegate_to is not allowed
for `cli` transport.

However as `nxapi` and `eapi` transport does not use persistent connection
it is possible to use delegate_to in this case.
7 years ago
Ganesh Nalawade 599fe23ed6 Fix unwanted deprecation message in network module args (#28984)
* Fix unwanted deprecation message in network module argspec

Fixes #25663
Fixes #24537

*  segregate provider spec and top level arg spec
*  add deprecation key in top level arg spec
*  remove action plugin code to load provider and add
   that logic at a common place in network_common.py file

* Fix CI issue

* Minor change
7 years ago
Matt Clay 68aeaa58a8 Fix dangerous default args. (#29839) 7 years ago
Toshio Kuratomi cc343a4376 Port ansible doc for plugins to use DOCUMENTATION variables
* Using docstrings conflicts with the standard use of docstrings
* PYTHON_OPTIMIZE=2 will omit docstrings.  Using docstrings makes future
  changes to the plugin and module code subject to the requirement that we
  ensure it won't be run with optimization.
7 years ago
Brian Coca 2165bac212 module and vault fixes (#29663)
* module and vault fixes

- fix module_path cli option and usage, which fixes #29653
- move --output to be in subset of vault cli, no need for all vault enabled cli to use it
- added debug to loader to see directories added
7 years ago
Brian Coca 869a318492 allow config for callbaks and some fixes
* only complain about ini deprecation if value is set
 * set plugin config for stdout and other types
 * updated plugin docs, moved several plugins to new config
 * finished ssh docs
 * fixed some issues seen in plugins while modifying docs
 * placeholder for 'required'
 * callbacks must use _plugin_options as _options already in use
7 years ago
Toshio Kuratomi ff13d58c14 Remove use of unicode_literals as it is an anti-pattern
from __future__ unicode_literals leads to developer confusion as
developers no longer can tell whether a bare literal string is a byte
string or a unicode string.  Explicit marking as u"" or b"" is the way
to solve the same problem in the Ansbile codebase.
7 years ago
Toshio Kuratomi 3277e6328b Define byte strings versus text strings in docker connection
Fixes python3 string handling in the docker connection plugin

Fixes #24776
7 years ago
Matt Martz d043ba2673 Create a new pipe for sshpass on retries. Fixes #29095 7 years ago
Tomas Tomecek 0274835add conn,buildah: don't pass bytes to shlex.split (#27896)
* conn,buildah: don't pass bytes to shlex.split on python3
7 years ago
Toshio Kuratomi 75249e311e Fix set theory filters for python3
The set theory filters need to use lists rather than generators on python3.

Also add unit tests for most of the mathstuff filters

Fixes #26494
7 years ago
Pierre Guinoiseau 436b173b24 Fix py3 string issue in jail connection plugin (take 2) (#28374)
* Fix py3 string issue in jail connection plugin
7 years ago
Matt Clay 4de6076d78 Fix pylint issue. 7 years ago
Brian Coca 075ead8fb0 fixes to config/setting retrieval
- better variable precedence management
- universal plugin option handling
- also updated comments for future directions
- leverage fragments for plugins
- removed fact namespacing
- added 'firendly name' field
- updated missing descriptions
- removed some unused yaml entries, updated others to reflect possible future
- documented more plugins
- allow reading docs using alias
- short licenses
- corrected args for 'all plugins'
- fixed -a option for ansible-doc
- updated vars plugins to allow docs
- fixed 'gathering'
- only set options IF connection
- added path list and renamed pathspec mostly the diff is , vs : as separator
- readded removed config entries that were deprecated but had no message ... and deprecated again
- now deprecated entries give warning when set
7 years ago
Toshio Kuratomi e1e2d08508 Combine exception handling to simplify code (#29096) 7 years ago
Brian Coca 13d1520f3d Db cache fix (#29048)
* cleaner get for file based caches
* now db based facts behave like file ones
we now keep local in mem cache to avoid race conditions on expiration during ansible runs
7 years ago
Brian Coca 0ddbcf8841 python3 fix 7 years ago
Ganesh Nalawade cc9ed352dd Ensure proper conversion while backing up of junos config (#28958)
* Ensure proper conversion while backing up of junos config

* Minor changes

* Fix review comment

*  Open config backup file in binary mode
7 years ago
Sergey Scherbakov c16d258a27 Fix encoding error on grp.gr_name, which can contain non-ascii chars at domain PCs (#25804)
* Fix encoding errors on grp.gr_name, which can contain non-ascii character at LDAP/AD domain workstations

* fix: utils.to_text() is now used instead of py3-incompatible unicode() method
7 years ago
Dag Wieers 47be50a450 mail callback: Much improved version (#28501)
So 5 years after the original version, it's time to give this callback
plugin some needed rework.

This PR includes:
- Reuse same logic for failed, unreachable or Async errors
- Add playbook and task information at the top (easier to find context)
- Improve the sections (ie. indented content)
7 years ago
Dag Wieers 513b582ba3 win_reboot: Use more conforming parameter names (#26466)
This is part of the effort to make windows parameters conform to
other modules. Usually parameters don't include the unit in the
parameter name.

See also #20160
7 years ago
Sam Doran 80c00d3238 Create urlsplit filter (#28537)
* Improve tests for uri filter

* Create URL Split docs

* Add urlsplit filter

* Py3 compatibility

* Use helper method and eliminate query options

* Add options, cleanup output, fix tests

* Update docs

* Add parenthesis to boilerplate import

* Add debug task to tests

* Use exclude option to filter returned values

* Filter out additional option for Python 3
7 years ago
Dag Wieers eed6a724ea Bugfix to check-mode and async support, and features (#28448)
This PR includes:

- Check-mode support, the module will now report as if it was rebooted,
  without making the actual reboot.
- Async-support, this potentially fixes #23835
- The module now also returns the elapsed time, like the wait_for and wait_for_connection modules.
  This fixes #18108
- Add post_reboot_delay_sec parameter
7 years ago
Jacob McGill 6aaa0c3252 Net Ping: Add new action plugin for *_ping network modules (#28558) 7 years ago
Monty Taylor d548c477c0 Translate openstack inventory from script to plugin 7 years ago
Brian Coca c06f8a3f9b allow pesky 'bridge' facts to bypass facts filter (#28401)
* allow pesky 'bridge' facts to bypass facts filter

fixes #27729, #23577

* I ate pepe
7 years ago
Ganesh Nalawade a914a39975 Convert value of port and timeout in provider to integer (#28732)
Fixes #28361
7 years ago
Brian Coca 95eaa246aa added keyed_group construction (#28578)
* added keyed_group construction

also added strict config to allow skipping bad templating
more precise error msgs
to_native better than to_text
fixed truthyness
added safe names

* allow keyed expressions to return lists

* PEPE should eat less, he is getting fat
7 years ago
Dag Wieers 1afbe29642 Remove transport_test for some connection types (#28450)
So we are removing the transport_test for the listed connection types,
because they fail to take into account bastion or proxy servers for
testing the transport.

The result of removing this, is that modules using this facility will do
a complete round-trip attempt, running a module, which is a bit heavier but correct.

This fixes #23774
7 years ago
Nicolas Porcel ba420c47cd synchronize: Use private_key and ssh_user with delegate_to (Fixes #16215) (#21686) 7 years ago
Ganesh Nalawade cd8c1c1108 Create persistent socket path using port and connection type (#28492)
* Create persistent socket path using port and connection type

*  Use remote address, port, connection type and remote user
   to create a socket path.

* Fix review comment
7 years ago
Jordan Borean 4382216e10 win_copy: changes that were missed (#28533) 7 years ago
Trishna Guha c2e41bf1ef remove net_command (#28525)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
7 years ago
Guido Günther 398f643c58 Check existence of SSL certs in Foreman callback (#25796)
* Fix typo

* foreman callback: check existence off SSL certs

This leads to confusing error messages later on otherwise.
7 years ago
Ganesh Nalawade 5d1d1a72c5 Fix junos integration test failure (#28491)
Pass ssh_config value to ncclient manager api as None
if it is not set.
7 years ago
Dag Wieers 96da0047ac Fix an issue causing win_copy to fail
It seems win_copy can fail because `will_change` was not returned in the dictionary when doing a query.
This is an easy fix to get it working again.
7 years ago
Brian Coca a897193bce Moar constructive (#28254)
* made composite vars and groups generic

now you can do both in every plugin that chooses to suport it
renamed constructed_groups as it now also constructs vars ... to constructed
moved most of constructed_groups logic into base class to easily share

* documented inventory_hostname

* typo fix
7 years ago
Jordan Borean 8e40ac54dd win_copy: rewrite with new tests and functionality (#27678)
* win_copy rewrite with new tests and functionality

* minor pep fixes

* Handle UTF-8 filenames in zip

* fix for template

* when zip assemblies are not available in .net revert to old behaviour of copying one by one

* typo fix

* some more typos

* updated logic to correctly handle when new directories can be created

* removed testing file as it is not needed

* updated documentation based on PR
7 years ago
Peter Sprygada 03b888052b fixes bugs in network filter for parsing ip address (#28404)
also adds parse_cli and parse_cli_textfsm to changelog
7 years ago
Gaige B Paulsen 54c50cc983 netconfig module updated to pay attention to .ssh/config (#23876) 7 years ago
Bobby Watson 8e8a7c869a Changed string check to verify that EOS device is not in config mode. (#28332)
Changed string check to verify that EOS device is not in config mode. This was required in order to work with Arista 7500 series modular switches.
Resolves #2830
7 years ago
Mehran Kholdi ecfa7f696d Enforce `state='file'` in `copy` module
This was causing wrong behaviour when `prev_state` was `hard`-link,
since the `file` module tried to apply the same `state` on the new
file, causing unexpected errors.

Particularly, both `overlay` and `devicemapper` storage drivers in
docker use hardlinks to share files between layers. This causes
most ansible playbooks to fail when working with files from layers
below.
7 years ago
Adrian Likins 01c0b2f714 Handle errors in jmespath in json_query better (#22109)
* Handle errors in jmespath in json_query better

Catch any exceptions raised from jmespath and raise
an AnsibleFilterError instead.

Avoid a traceback.

Fixes #20379

* pep8
7 years ago
Jonathan Davila 974d988703 Updated consul_kv lookup plugin so that it can take in host and port
parameters as keyword arguments instead of only being able to specify
it as environment variables.
7 years ago
Mike Wiebe 8f4bc8150f Fix default nxapi port setting when use_ssl set (#28236)
* Fix port setting when use_ssl set
7 years ago
Peter Sprygada 37524b798d updates network parse_cli filter to handle blocks from output (#28245)
* updates network parse_cli filter to handle blocks from output

* minor updates to finish up parse_cli filter

* all vars are now under the vars key
* attributes key has been changed to keys
* added the start_block and end_block directives

* update PEP8 failures
7 years ago
CyberArk BizDev d50d65d448 Added cyberarkpassword lookup plugin (#21857)
* Added cyberarkpassword lookup plugin

Added cyberarkpassword lookup plugin: It allows to retrieve credentials
(password, sshkey) from CyberArk Digital Vault
7 years ago
Matt Davis 9b383403ce switch become/runas to LogonUser/CreateProcessWithTokenW (#28253)
* non-uac works

* switch become/runas to LogonUser/CreateProcessWithTokenW

* fixes #22218
* provides consistent behavior across authtypes
* auto-elevates on UAC if target user has SE_TCB_NAME ("Act as part of the operating system") privilege
* sets us up for much more granular capabilities later (eg, network/service/batch logons)
7 years ago
Brian Coca f921369445 Ansible Config part2 (#27448)
* Ansible Config part2

- made dump_me nicer, added note this is not prod
- moved internal key removal function to vars
- carry tracebacks in errors we can now show tracebacks for plugins on vvv
- show inventory plugin tracebacks on vvv
- minor fixes to cg groups plugin
- draft config from plugin docs
- made search path warning 'saner' (top level dirs only)
- correctly display config entries and others
- removed unneeded code
- commented out some conn plugin specific from base.yml
- also deprecated sudo/su
- updated ssh conn docs
- shared get option method for connection plugins
- note about needing eval for defaults
- tailored yaml ext
- updated strategy entry
- for connection pliugins, options load on plugin load
- allow for long types in definitions
- better display in ansible-doc
- cleaned up/updated source docs and base.yml
- added many descriptions
- deprecated include toggles as include is
- draft backwards compat get_config
- fixes to ansible-config, added --only-changed
- some code reoorg
- small license headers
- show default in doc type
- pushed module utils details to 5vs
- work w/o config file
- PEPE ATE!
- moved loader to it's own file
- fixed rhn_register test
- fixed boto requirement in make tests
- I ate Pepe
- fixed dynamic eval of defaults
- better doc code

skip ipaddr filter tests when missing netaddr
removed devnull string from config
better becoem resolution

* killed extra space with extreeme prejudice

cause its an affront against all that is holy that 2 spaces touch each other!

shippable timing out on some images, but merging as it passes most
7 years ago
Sam Doran a8e4c9be7a Cause copy module to fail on empty string as source (#27975)
* Fail if an empty string is set as src for copy module

Fixes #27363

* Cleanup task formatting on copy tests

Use multi-line YAML
Add debug statements with verbosity: 1 rather than leave them in there commented out.

* Add test for empty string as source

* Do more checks in order to add more specific errors messages

Add more integration tests for the various failure scenarios.
Cleanup some syntax on existing integration test tasks.
7 years ago
Nathaniel Case 20a35d0c1c Fix python3 str <-> bytes in connection/persistent.py (#28224) 7 years ago
Andreas Olsson c9cdc3a259 Fix zip filter for Python3
Using the now bundled six library.

Fixes #28117
7 years ago
3onyc 554496c404 [passwordstore] Use builtin _random_password function instead of pwgen (#25843)
* [password] _random_password -> random_password and moved to util/encrypt.py
* [passwordstore] Use built-in random_password instead of pwgen utility
* [passwordstore] Add integration tests
7 years ago
Ganesh Nalawade c9b2869f06 Add regex to retrieve socket path (#28181) 7 years ago
Toshio Kuratomi 3edac559d3 the smart transport is broken by ssh retry code
1fe67f9 introduced retries to the ssh connection put file and fetch
file.  Unfortunately, that change broke the smart transport because it
started raising exceptions instead of returning from _run().  This
breakage is documented in #23711.

An attempt to fix it was made at #23717 but the first attempt was
objected to as needing to touch too much code.  The second attmept was
objected to as smart was forced to encapsulate retries (thus retrying
a sftp "rety" times before trying scp "retry" times and then finally
moving onto piped).  This third attempt has retries encapsulate smart.
So each sub-transport is tried once and if all three fail, another retry
attempt is made which tries each of the three again.

Fixes #23711
Fixes #23717
7 years ago
Giovanni Sciortino ab81c6c0f3 strategy: lost list order using with_items during displaying results Fixes #21008 7 years ago
Peter Sprygada 5ee7862793 update telnet module (#28100)
* accepts list of prompts to expect
* updates doc strings
7 years ago
Brian Coca 40d29936a4 telnet action plugin (#27983)
* draft telnet action plugin

docs in module

* updated per feedback

* fixed imports

* pep8 fixes

* added meta import even though its useless
7 years ago
Toshio Kuratomi a3132e5dd6 Optimize template (#28044)
* Optimize template

* In fixing template to handle diff correctly #24477, I introduced more
  round trips to the remote end which slowed things down  The new code now
  uses one fewer round trips than the old code.
* Reimplement a large part of template by calling the copy action plugin
  instead of doing it in template's code.  This reduces the code in
  template and gives us one place to fix bugs and optimize.
* Add a follow parameter to template that mirrors the follow parameters
  for file and copy.
* Fix copy's diff handling (probably broken in my rewrite for in 2.4
  development)
* Adjusted when copy creates tmp dirs to rduce round trips in copy and
  template.

Fixes #27956
7 years ago
Jacob McGill 21dbde0abe fix issue with trailing white space when logging into asa (#28073) 7 years ago
Patrick Ogenstad 089226e372 Fixes for broken asa_config module (#27218)
* Fixes for broken asa_config module

* strip() prompt before checking
7 years ago
Brandon Schlueter 0e334ca821 Don't compare group_vars paths with bytestrings (#27922)
* Don't compare group_vars paths with bytestrings

* Compare spath with unicode string in VarsModule
7 years ago
Peter Sprygada edc3507c98 restore the ability to issue commands over junos cli (#28025)
* restore the ability to issue commands over junos cli

* add warn message for invalid arguments

* fix issue when checking if provider transport is set
7 years ago
Rémi REY 7974ad34f1 add playbook runtime stat in the logstash callback stats (#25785) 7 years ago
Peter Sprygada d8b005ec65 updates the prompt regexp for prompt handling in sros (#28015)
* thanks to @jurajama for tracking this down and providing the fix
* fixes #24192
7 years ago
Juan Manuel Parrilla 2cfb30fc91 Fixes #24414, Added support for a ETCD folders (#24432) 7 years ago
James Hogarth 7ec34b4cb2 ISSUE 25470 - update patch from review details 7 years ago
James fc274bda8a ISSUE 25470 - junit report failure on changes
This commit provides an environment option to change the behaviour so
that it's possible to declare any changes shoudl be considered a junit
failure.

This is useful when carrying out idempotent testing to ensure that
multiple runs are safe and any changes should be considered a test
failure.

In a CI test of an ansible role the practice would be to run the role
once without this to configure the test system, and tehn to run a second
time including this environment vairable so that the CI engine
processing the junit report recognise any changes to be a test fail.
7 years ago
Eduardo Suarez-Santana 9339b0f4a7 Fix lookup into search paths when undefined.
A fileglob may issue a warning `Unable to find xxxx in expected paths` when `ansible_search_path` is not defined, because it loops over the characters in the string instead of looping over a list of one element.
7 years ago
flowerysong e2b2ba6bc7 hashi_vault: fix token logic again (#27863)
The token is not mandatory, and there are more ways of setting it than
passing it in as a module arg.
7 years ago
Nathaniel Case c1bf74283e Network load_config: Capture configuration output and display as warnings (#27851)
* Capture configuration output and display as warnings

* Don't break on nxapi

nxapi errors very loudly instead, so no need to muck about with warnings
7 years ago
Brian Coca e4a997c97e removed debug print
fixes #27864
7 years ago
Juan Manuel Parrilla 5df4ff8983 Fixes #25057, Added Hiera Lookup (#25060) 7 years ago
Arthur Kepler d828449611 Corrects default arg format used by datetime filter (#27612)
This ensures the default datetime format matches that of
datetime.datetime. Docs updated to match as well.
7 years ago
Ben Waters be5e2251a7 Fixes #21536: Allowing the ability to pass aws session paramters to credstash lookup (#23077)
* Allowing the ability to pass aws session paramters to credstash lookup
Fixes #21536
https://github.com/ansible/ansible/issues/21536

* Default environment variable lookup

To get around non lookup of environment variables. First, check for environment variables, then look for parameters

* Following AWS Precedence

http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#config-settings-and-precedence
7 years ago
Jacky Hu c770d657f3 Enable url lookup without a proxy
By introducing a use_proxy parameter to url lookup, the usage of proxy
is totally controllable.

(cherry picked from commit 11e4e51235)
from #23811
7 years ago
David Barroso 0f60041dea Handle better the many ways information can be passed around (#27506)
* Handle better the many ways information can be passed around

* Fixing pep8 complaints

* Removing message
7 years ago
Toshio Kuratomi 3f12fccd02 Fix several things causing tracebacks with unicode cwd (#27731)
Fixes #27511
7 years ago
Peter Sprygada 7b604368d3 adds new filter plugins for network use cases (#27695)
* adds new filter plugins for network use cases

* adds parse_cli filter
* adds parse_cli_textfsm filter
* adds Template class to network_common
* adds conditional function to network_common

* fix up PEP8 issues
7 years ago
Will Thames 11da85f938 timer callback plugin: handle timezone changes better
A playbook that does `timezone name=Australia/Brisbane` on
a host previously in UTC will appear to take 10 hours.

Improve the seconds handling for playbooks that take longer
than one hour.
Improve the hours handling for playbooks that take longer than
one day.

TZ change before:
```
Playbook run took 0 days, 10 hours, 0 minutes, 36055 seconds
```
After:
```
Playbook run took 0 days, 0 hours, 0 minutes, 55 seconds
```

Sleep for 100s more than one hour before:
```
Playbook run took 0 days, 1 hours, 1 minutes, 3641 seconds
```

After:
```
Playbook run took 0 days, 1 hours, 1 minutes, 41 seconds
```
7 years ago
Adrian Likins 6fbd0a8bb5 Add set_fact_persistent action and module. (#26153)
* Add 'cacheable' param to  set_fact action and module.

Used just like set_fact, except facts set with cacheable: true
will be stored in the fact cache if fact caching is enabled.

set_fact normally only sets facts in the non_persistent_fact_cache, so they
are lost between invocations.

* update set_facts docs

* use 'ansible_facts_cacheable' in module/actions result

* pop fact cacheable related items out of args/results

We dont want to use 'ansible_facts_cacheable' result item
or 'cacheable' arg as actual facts, so pop them out of the
dicts.
7 years ago
Abhijit Menon-Sen 20b0716948 Allow variables to be passed in to template lookup plugin (#18662)
This allows a single template to be evaluated with different values in
the same task. For example, with a template like 'x:{{a}}', one could do
something like this:

    - foo:
        a: "{{ lookup('template', 'x.j2', template_vars=dict(a=foo[item])) }}"
        b: "{{ lookup('template', 'x.j2', template_vars=dict(a=bar[item])) }}"
      with_items:
        - x
        - y

…and "a" and "b" would expand to different strings based on what we
passed in to the template lookup.
7 years ago
Matt Davis f19ed387a7 fix non-pipelined output parsing in winrm.py (#27606)
* ensures stdout/stderr are converted to text type in py3 to avoid json serialization failures
7 years ago
Ganesh Nalawade 70ce394840 Persistent connection timer changes (#27272)
*  Add command_timeout timer that defines the amount
   of time to wait for a command or RPC call before
   timing out.
*  Remove connect_retries and connect_interval configuration
   varaible and replace it with connect_retry_timeout to control
   the timeout value of connection to local scoket.
*  Make required changes to netowrk action plugins and relevant
   network files in module_utils.
*  Required documentation changes.
7 years ago
James Mighion 4dd8f281d6 Adding aruba_config module (#27130)
* Adding aruba_config module.

* Fixing documentation.

* Forgot action plugin.
7 years ago
Ganesh Nalawade 448c461940 Convert port value to integer (#25939)
Fixes #25175

convert port value to integer explicitly
7 years ago
ikelos 03d3c6135d Convert the src entry to a templated entry. (#24026) 7 years ago
Ganesh Nalawade bb998a3cd2 Add fix to read correct socket path recieved from ansible-connection (#27560)
Currently socket path is send from `ansible-connection` (running as background
process) over stdout. This can conflict with debug logs that are also send on
stdout resulting in incorrect socket path received by the main process.

To avoid this add a socket path delimiter string which is recevied by
main process and socket path is retrieved based on delimiter string.

This implementation will change in future when ansible-connection
framework is made more robust.
7 years ago
Nikita Chernyi 889495bf7f skippy callback plugin: hides banner for skipped tasks (#18621)
* Modified skippy callback plugin

* Added original skippy.py, moved plugin to full_skip.py

* Full skip: fixed code style
7 years ago
Jordan Borean 1517db06c5 fix to alllow the winrm plugin to send input with Python 3 (#27474) 7 years ago
Brian Coca b79744f282 make random_choice more error resilient (#27380)
* make random_choise more error resilient

fixes #27373

* missing imports

* PEEP 16
7 years ago
Toshio Kuratomi 0a2cdb2585 New tests for copy recursive with absolute paths
Absolute path trailing slash handling in absolute directories

find_needle() isn't passing a trailing slash through verbatim.  Since
copy uses that to determine if it should copy a directory or just the
files inside of it, we have to detect that and restore it after calling
find_needle()

Fixes #27439
7 years ago
giovannisciortino 7cfd02097c add_hosts.py: Fix add_host does not recognise 'host' alias (#27418)
* add_hosts.py: Fix add_host does not recognise 'host' alias

* add_hosts.py: add note in documentation that 'hosts' alias of name parameter is only available on >=2.4
7 years ago
James Mighion a328e96455 Adding aireos_config module (#27408)
* Adding aireos_config module.

* Fixing pep8 W291.
7 years ago
Toshio Kuratomi cce06c5a3b Fix _get_file_contents to return bytes and checking that a different file exists than it opens 7 years ago
fredericve 095560771c Fixes #17958: use stderr instead of the default stdout for fatal errors (#17962)
* add a callback plugin that sends failures to stderr

* fix warnings
7 years ago
Martin Krizek 36c6d0f748 fetch: fail if flat=yes and dest=existing-dir w/o trailing slash 7 years ago
Matt Clay 51bd07204b Revert "Revert "Allow ini plugin to load file using other encoding than utf8." (#27407)"
This reverts commit 520696fb39.
7 years ago
Toshio Kuratomi 520696fb39 Revert "Allow ini plugin to load file using other encoding than utf8." (#27407)
* Revert "Update conventions in azure modules"

This reverts commit 30a688d8d3.

* Revert "Allow specific __future__ imports in modules"

This reverts commit 3a2670e0fd.

* Revert "Fix wildcard import in galaxy/token.py"

This reverts commit 6456891053.

* Revert "Fix one name in module error due to rewritten VariableManager"

This reverts commit 87a192fe66.

* Revert "Disable pylint check for names existing in modules for test data"

This reverts commit 6ac683ca19.

* Revert "Allow ini plugin to load file using other encoding than utf8."

This reverts commit 6a57ad34c0.
7 years ago
Yannig Perré 6a57ad34c0 Allow ini plugin to load file using other encoding than utf8.
- New option for ini plugins: encoding
  - Add a new option encoding to _get_file_contents
  - Use replace option in test/runner/lib/util.py when calling decode on stdout/err
    output when diff have non-utf8 sequences
7 years ago
Josh Bradley 31b27819e1 adding lookup plugin for chef_databags (#18403)
* adding lookup plugin for chef_databags

* add missing classes for code-smell
7 years ago
David Newswanger 81151ef02c Remove Deprecated Template network modules (#27076)
* removed deprecated networking template modules

* update changelog

* update changelog
7 years ago
mesk41in 0fb64214a4 add support of nested groups in group_by 7 years ago
Brian Coca b93b9e68d7 ensure prefix in plugin loading to avoid conflicts
when using 'all' to load all plugins were ending in main namespace
creating conflicts with each other and random modulesr
 i.e. when trying to access json callback we were getting json 'parsing' lib
7 years ago
Toshio Kuratomi 225fa5d092 Fix undefined variables, basestring usage, and some associated python3 issues 7 years ago
Brian Coca 96d577c4c9 endswith supports tuples, nicer 7 years ago
Brian Coca c7e841e0e4 better reading of 'facts' 7 years ago
Toshio Kuratomi fc5d71de0d Fix for to_text and to_bytes error handlers
* surrogate_then_strict doesn't exist.  Switch to surrogate_or_strict
  instead.
* Found some bugs in the _text.py implementation
  * The composed error handlers (error handlers which are made up of two
    or more python encoding error handlers) had a wrong string in it,
    'surrogate_or_escape' doesn't exist.  Replaced that with
    'surrogate_or_replace' which is the correct handler name.
  * Left comment about the implicit conditions that are part of the
    surrogate_then_replace code path

Fixes #23865
Fixes #23861
7 years ago
Toshio Kuratomi 007a3b9c9b Don't need to convert cmd to bytes as it is already an array of bytes
Fixes #27016
7 years ago
Brian Coca aca11a28a2 allow for null values in yaml inventory (#26765)
* allow for null values in yaml inventory

* 3 dad3 dad3 dad3 dad3 dad3 dad3 dad3 dad
7 years ago
Ricardo Carrillo Cruz 857726e6b1 Make the 'not found' regex case sensitive (#27100)
Turns out in some commands, like 'sh bgp summary' a line containing
'Not found' can be shown as a column.
This causes those commands to error out with RC=1 .

Fixes #26577
7 years ago
Gabor Lekeny 7eab802669 SSH fails with '"parsed": false' error message
Fixes: #15436
7 years ago
Toshio Kuratomi f86ce0975d Add a directory walker to copy
* We need a directory walker that can handle symlinks, empty directories,
  and some other odd needs.  This commit contains a directory walker that
  can do all that.  The walker returns information about the files in the
  directories that we can then use to implement different strategies for
  copying the files to the remote machines.
* Add local_follow parameter to copy that follows local symlinks (follow
  is for remote symlinks)
* Refactor the copying of files out of run into its own method
* Add new integration tests for copy

Fixes #24949
Fixes #21513
7 years ago
Toshio Kuratomi 753a3a03d0 Revert "Fix for recursive copy slowness"
This reverts commit 78ced5318f.

The fix for copy slowness did not handle circular symlinks.
7 years ago
David Newswanger 0b5b5ec50a fix unicode errors in iosxr 7 years ago
Will Thames ef8c9798d3 include_role handlers bug fix (#26335)
* Ensure that include_role properly fires handlers

include_role needs to ensure that any handlers included
with the role are added to the _notified_handler and
_listening_handler lists of the TaskQueueManager, otherwise
it fails when trying to run the handler.

Additionally, the handler needs to be added to the
PlayIterator's `_uuid_cache` or it fails after running
the handler

Add more uuid debug statements - this code was hard
to debug with existing debug statements, so add more
uuid information at little additional output cost.

Fixes #18411

* Add tests for include_role handlers

Tests for #18411
7 years ago
Michael Scherer 1289322147 Initial working prototype of a salt bus connection plugin (#12836) 7 years ago
Nathaniel Case 56a0b988a9 nxos integration fix part 1 (#27069)
* Assorted Python 3 fixes

* Fix `testcase` definition in integration tests

* Fix nxos_acl_interface

* clean up nxapi after nxos_nxapi
7 years ago
James Mighion b8337ee9d3 New module aireos_command (#26769)
* Adding ciscowlc_command module and unit tests.

* Adding __init__.py for unit test.

* Fixing PEP8 W503.

* Renaming module from ciscowlc_command to aire_command.

* Renaming aire_command to aireos_command.
7 years ago
Andreas Olsson 779d05aec4 Support tilde (~) paths for unarchive creates tests
This expands the value of the creates parameter the same way which the
value of the dest parameter is already being expanded.

Fixes #26965
7 years ago
James Mighion f682d9bf49 Adding aruba_command module along with unit tests. (#26625)
* Adding aruba_command module along with unit tests.

* Fixing PEP8 E303 too many blank lines.

* Adding default for timeout.

* Removing unused arguments. Moving default for timeout argument. Fixing cliconf to find hostname.

* Fixing PEP8 E302.
7 years ago
Matt Davis 907b662dc6 Powershell module_utils loader and tests (#26932)
* supports custom module_utils loads (anything in module prefaced with `#Requires -Module Ansible.ModuleUtils.*`)
* supports all usual PluginLoader module_utils locations (built-in lib/ansible/module_utils/, custom path from config, playbook module_utils/, ~/.ansible/module_utils, role module_utils, etc), 
* moves Powershell module_utils from module_utils/powershell.ps1 to module_utils/powershell/Ansible.ModuleUtils.PowerShellLegacy.psm1
7 years ago
David Moreau-Simard 26d358c64d Fix typo in docstring for host inventory plugin 7 years ago
Matt Clay 6ce683c29e PEP 8 fix. 7 years ago
Brian Coca 5ffb40fcdb properly filter out noise from debug 7 years ago
Peter Sprygada 8e2dcaf9f6 update asa to use network_cli connection plugin (#26899)
* WIP update asa to use network_cli connection plugin

* add asa.py to cliconf plugins
* update asa.py terminal plugin to support regexp and events
* update constants to map asa modules to asa action handler
* update asa action handler to implement persistent connections
* update asa shared module to use persistent connections
* update asa_command module to use new connection

* fixed pep8 issues
7 years ago