1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Commit graph

3311 commits

Author SHA1 Message Date
Jordan Borean
6a2aac487d
win_stat - add follow option and fix broken tests (#51522)
* win_stat - add follow option and fix broken tests

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

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

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

  fixes #45288

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

* fixes and cleanup, add error for worst case scenario

* fix tests, remove more unused code

* add load_name

* acually load the plugin

* set plugin as required

* reverted test changes, removed options tests

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

* Changed debug() into warning()

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

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

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

* Add more rv

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

* Exclude from cli_config docs for now

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

* Add new rv docs for junos_config

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

* Fix CI errors

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

* Support date time for configurable backup path

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

* Change logic based on configurable path

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

* Remove unwanted import

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

* Fix docs

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

* Add filename rv

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

* Change dosc filename rv

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

* Make new rv code more readable

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

* Check for capabilities before querying them

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

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

Fixes #50283
Fixes #32724

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

* Fix review comments

* Add integration tests

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

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

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

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

* Subclass AnsibleAuthenticationFailure from AnsibleConnectionFailure

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

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

* Add tests

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

* Make paramiko_ssh connection plugin behave the same way

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

* Add changelog

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

* Replace byte string literals with string literals

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

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

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

* remove unstable test alias
2019-01-18 05:35:10 +10:00
Matt Clay
a864247bd5 Encoding fixes for plugin loader and vault. (#51002) 2019-01-17 12:18:01 -05:00
Jordan Borean
9fa46e7f94 reboot - Fix connection timeout reset (#51000)
* only reset if we could retrieve the conn timeout
2019-01-17 10:45:41 -05:00
Martin Krizek
3dc5ba6186
Remove unnecessary calls to cache_block_tasks noop (#50715) 2019-01-17 08:29:26 +01:00
vaneuk
e150943314 added timestamps to nxos_command module (#50261)
* added timestamps to nxos_command module

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

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

* cosmetic changes to align with PEP 8
2019-01-17 10:14:31 +05:30
Matt Clay
b971ebd343 More path encoding fixes. 2019-01-16 15:44:50 -08:00
Yunge Zhu
0f846f39ca fix new inventory azure_rm.py (#50006)
* fix new inventory

* fix lint

* resolve comments

* resolve comments

* add defensive code

* fix response not match handler

* remove useless import

* fix lint

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

* Add unit test

* Fix pep8

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

This reverts commit 207848f354.

* clarify clear_facts with set_fact cacheable

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

 fixes #50556

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

* Set vars_prefix default to empty string
2019-01-15 13:24:52 -05:00
Abhijeet Kasurde
4817dcd0fc Minor typos (#50371)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-15 11:37:00 +00:00
Ricardo Carrillo Cruz
077d6a63c1
Add autopublish and autoinstallpolicy behaviour to Checkpoint devices (#50862)
* Add autopublish and autoinstallpolicy behaviour to Checkpoint devices

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

* Change signature for publish and install policy

The module object is not needed

* Fix pep8

* Fix install_policy invocation

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

* Add doc fragments

* Remove default value of targets on install_policy method

It's already defaulting to None via checkpoint_arg_spec

* Fix pep8

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

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

* Fix bogus param name and validate modules issues

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

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

* Track down other places import exception is reported

* Add changelog fragment
2019-01-15 10:44:59 +10:00
Matt Clay
465df0ef8d
Fix encoding issues with file paths. (#50830)
* Fix encoding issues with file paths.

Discovered while testing with ANSIBLE_CONFIG env var set to a path
that contained unicode characters while LC_ALL=C.

* Fix unit tests.

* Fix another path encoding issue.
2019-01-14 13:06:47 -08:00
Alan Rominger
be5b7889f9 Do not load user kube config if path specified (#49952) 2019-01-11 17:26:53 +00:00
Abhijeet Kasurde
af914695e6
VMware: Fix vmware_vm_inventory (#50592)
* Added documentation around using vmware dynamic inventory plugin
* Fixed bug for populating host_ip in hostvars for given inventory host
* VMware: Add properties in vmware_vm_inventory

Fixes: #50249

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 21:33:14 +05:30
Abhijeet Kasurde
db8702cdb8 Close all open filehandle (#50544)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 10:14:08 -05:00
Abhijeet Kasurde
17bb4f4932 default: callback plugin allow unreachable task to stderr (#50533)
Provide toggle flag to allow display of unreachable task to stderr
using default callback plugin.

Fixes: #48069

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-09 11:43:59 -05:00
Ricardo Carrillo Cruz
3e91ec28b8
Checkpoint access rule (#49937)
* WIP checkpoint_access_rule module

* Add fixes and docstrings

* Add dunder init

* Fix sanity tests issues

* Fix sanity test

* Add RETURN and EXAMPLES

* Fix example

* Fix pep8

* Add tests

* Fix pep8

* Fix pep8
2019-01-09 11:25:18 +01:00
Renato Orgito
6f9bca9de3 Add auth_timeout parameter when supported by paramiko (#50448)
* Add auth_timeout parameter when supported

Paramiko 2.2 introduces the auth_timeout parameter. This will set the
parameter to the same value of the timeout parameter to prevent
"Authentication timeout" errors.

* Conditionally add auth_timeout to ssh.connect

Renamed sock_kwarg to ssh_connect_kwargs and conditionally added the
auth_timeout parameter based on the installed paramiko version.

* Add changelog fragment
2019-01-09 01:25:17 +01:00
trogdor_the_burninator
1dac10e5c3 Add AIX support to reboot module (#50353)
* Add ability for reboot module to work for AIX

* changelog for AIX reboot support
2019-01-08 18:12:30 -05:00
Matt Martz
7a89d373ac Perf graphing (#46346)
* csv of memory usage

* Fix var

* Configurable output file

* Add cpu profiling

* Valdiate the existence of cgroup files

* Add guard to prevent exception when trying to reset max memory value

* to_bytes/to_text and docs updates

* Add support for CPU results

* Just track the max, don't log all results, and then calculate max

* Restore cgroup_memory_recap, and move new functionality into cgroup_perf_recap

* Add pid count tracking, restructure to support more profilers

* Add cli tool for graphing cgroup_perf_recap data

* csv_output_dir is a path

* Correct CALLBACK_NAME

* Include uuid in csv data

* fix linting errors

* Bump version_added

* Create helper funciton to create dict from list of keys, with callable default

* Updated notes to include pids

* Print a newline after each section

* Plugin improvements

* Add option to supporess recap display
* Add default for output directory
* Add option to dictate whether or not to write files
* Add JSON-seq output option

* s/uuid/task_uuid

* Use bytes for paths

* Increase polling interval length for pids/memory

* Reduce instance attrs, change how we invoke profilers

* Shorten some line lengths

* Remove more instance attrs

* Fix some typos

* document directory creation, and catch exceptions

* Enable per task file outputs, and filename customization

* s/per_task_file/file_per_task/g
2019-01-08 13:29:22 -05:00
Brian Coca
207848f354 avoid x2 setting of set_fact when 'cacheable' (#50564)
* avoid x2 setting of set_fact when 'cacheable'

  fixes #50556

* ammend docs to new behaviour

* added period
2019-01-08 10:12:49 -05:00
Ganesh Nalawade
1e09e21ba1
Fix issue in junos and bigip action plugins (#50636)
*  tmp is not required to be passed to in run()
   within action plugin
2019-01-08 08:43:15 +05:30
Semyon Deviatkin
618caf2168 add env variable VAULT_AUTH_METHOD (#50572) 2019-01-07 22:13:00 +01:00
Nathaniel Case
19d7197d97
Copy detailed logging to persistent.py so local can benefit, too. (#50614) 2019-01-07 15:46:31 -05:00
Martin Krizek
6d604f9b01 Allow for vaulted templates in template lookup (#49819)
Fixes #34209
2019-01-07 10:06:01 -05:00
Ricardo Carrillo Cruz
f9079274e7
Checkpoint httpapi plugin (#49929)
* Add checkpoint httpapi plugin and access rule facts module

* WIP checkpoint_access_rule module

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

* Refactor publish and install_policy onto module_utils

* Add update resource logic

* Add checkpoint_host_facts module

* Return code and response on get_acess_rule function

* Add checkpoint_host module

* Add checkpoint_run_script module

* Add checkpoint_task_facts module

* Show all tasks if no task id is passed

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

* Add update logic to checkpoint host

* Add full details on get task call

* Add checkpoint httpapi plugin

* Fix pep8

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

* Fix version in docstring

* Remove constructor

* Remove Accept from base headers

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

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

* Use new connection queue message method instead of display

* Remove unused display

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

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

* Add missing self to previously static methods

* Fix logout

Was carrying copy pasta from ftd plugin

* Remove send_auth_request

* Use BASE_HEADERS constant

* Simplify copyright header on httpapi plugin

* Remove access rule module

* Remove unused imports

* Add unit test

* Fix pep8

* Add test

* Add test

* Fix pep8
2019-01-07 14:02:29 +01:00
Martin Krizek
82c95e07b5
Fix searchpath in the template lookup (#50488) 2019-01-07 11:33:39 +01:00
Steve Boyd
9693a55286 (action/script) Fix windows absolute path detection when executing powershell script (#50365) 2019-01-07 06:44:54 +10:00
Ganesh Nalawade
555732f8bb
Fix junos terminal error regex (#50538)
*  Change junos terminal error regex to read error string
   correctly.
2019-01-04 17:38:07 +05:30
Trishna Guha
97621852db
add privileged role validation for nxos become (#50312)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2019-01-04 16:29:36 +05:30
Ganesh Nalawade
71113ee291
Fix backup issue in network config modules and network action plugins common code refactor (#50301)
* Fix backup issue in network config modules

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

*  Further refactor config related action plugins to minimize
   duplicate code

*  Remove unwated imports in config action plugins

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

* Fix review comment
2019-01-04 16:06:13 +05:30
Arne Jørgensen
15fb9d3bc0 Fix lastpass lookup error
Fixes #42062.
2019-01-03 23:56:41 -08:00
Toshio Kuratomi
afdbb0d9d5 Save the command line arguments into a global context
* Once cli args are parsed, they're constant.  So, save the parsed args
  into the global context for everyone else to use them from now on.
* Port cli scripts to use the CLIARGS in the context
* Refactor call to parse cli args into the run() method
* Fix unittests for changes to the internals of CLI arg parsing
* Port callback plugins to use context.CLIARGS
  * Got rid of the private self._options attribute
  * Use context.CLIARGS in the individual callback plugins instead.
  * Also output positional arguments in default and unixy plugins
  * Code has been simplified since we're now dealing with a dict rather
    than Optparse.Value
2019-01-03 18:12:23 -08:00
Dag Wieers
f45c41ef3e urldecode filter for Jinja2 (#28503)
* urldecode filter for Jinja2

We needed this in order to deconstruct correct URLs using Jinja2.
And we might as well upstream this.

* Add integration tests

* Fixes for Python 3

* Add urlencode for older Jinja2
2019-01-03 18:06:13 -05:00
drewmullen
04a9a887d5 allow for vault enterprise namespaces (#50462)
* enable namespaces feature for hashi_vault lookup

* include version_added dict in options documentation
2019-01-03 11:51:13 -05:00
Remi Verchere
23706dbc20 Add support for NRDP notifications (#39297)
* Add support for NRDP notifications

* Correct pep-8 check, adding copyright

* Correct pep-8 check using autopep8

* Update nrdp to 2.6 version

* Update nrdp to 2.7 version

* Use internal ansible url and options modules

* Remove useless comments

* Add option to validate https certs

* Update nrdp to 2.8 version

* Correct nrdp pep8
2019-01-02 10:15:15 -05:00
Nilashish Chakraborty
d4db426737
Change net_* default behaviour on missing module (#49923)
* Fix net_base default behaviour

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

* New fix

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-12-26 15:33:30 +05:30
Ganesh Nalawade
104c415543
Fix for AttributeError in network_cli (#50284)
*  Value of prompt_answer is wrongly used as `self.prompt_answer`
   while logging it in message queue
2018-12-24 01:02:21 +05:30
kvaps
344b6002b1 fix: ansible_kubectl_ssl_ca_cert variable (#50217)
* fix: mistake for ansible_kubectl_ssl_ca_cert variable

* fix: K8S_AUTH_VERIFY_SSL
2018-12-23 09:59:34 +01:00
Nathaniel Case
b2423e7602
Log device interaction and push labeled logs back to controller (#50028)
* Add session tracing support for network_cli, netconf and httapi connection

*  Add `persistent_log_messages` configuration option to log device inteaction
   in log file for network_cli, netconf and httapi connection
   type
*  Log jsonrpc request and response in log file is configuration option
   is enabled

* Update docs to talk about warning shown when persistent_log_messages is on
2018-12-21 10:31:43 -05:00
Nathaniel Case
c093ea5a28
Merge backup functionality across config action plugins (#50208)
* Merge backup functionality across config action plugins

* Port updated cli_config
2018-12-21 10:30:33 -05:00
Nathaniel Case
0b3aa75b7f
Add backup parameter to cli_config (#50206)
* Add backup parameter to cli_config

* Add a unit test for cli_config backup
2018-12-21 09:55:14 -05:00
Abhijeet Kasurde
ff49bbd15d Misc documentation update (#50190)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-20 15:50:10 -06:00
Richlv
bb9bad89bb Update ini.py (#50171)
Typo/grammar/consistency fixes.
2018-12-20 10:07:05 -05:00
Nilashish Chakraborty
e009eff925
Fix eos terminal plugin (#49920)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2018-12-20 14:13:18 +05:30
Nathaniel Case
806b90f6f1
Log netconf connection a la paramiko (#50169) 2018-12-19 19:51:32 -05:00
Alan Rominger
b784c7c4ea update openshift inventory plugin docs (#49901) 2018-12-19 11:30:38 -06:00
Brian Coca
b0c28f86de Revert range change (#50155)
* Revert "Fix incorrect examples with random filter (#50137)"

This reverts commit 9a7dbd5213.

The correction is incomplete and also based on a 'fix' that was supposed to have been reverted already

* Revert "Added `+1` to the `end` in `random` filter so that it was inclusive (#27215)"

This reverts commit ea2b89c7ae.

reverted fix as agreed at the time, but missed by maintainers.
2018-12-19 11:12:32 -06:00
Nathaniel Case
1829a72885
Allow persistent connection plugins to queue messages back to ansible-connection (#49977)
* Connections can queue messages to be returned from ansible-connection

* Provide fallback for invalid display level

* Strip display from plugins

* Route messages through helper method to try to avoid improper appends
2018-12-19 10:54:42 -05:00
Brian Coca
49993a55e5
dont think all files are valid cause libs present (#50103)
verify_file was improperly always returning true if pyvimomi and requests libs were correct
  moved library checking to parse, avoid unneded errors unless the file is actually meant for
  this plugin
2018-12-19 10:46:58 -05:00
Ganesh Nalawade
cc8e90395a
Fix mandatory statement error for junos modules (#50074)
* Fix mandatory statement error for junos modules

Fixes #40267

*  Add error regex in junos terminal plugin to error out
   in case of commit fails

*  If commit fails add logic to discard changes before existing
   else next task will result in error

* Add integration test

* Minor update
2018-12-19 14:46:44 +05:30
Yannig Perré
6b41588e93 Fix with_ini example and unittest
* Fix example in ini.py
* Fix unittest in test_ini.py to pass CI as latest ansible returns list in
  different order. To prevent such issues in future results are sorted
* PEP8 E501 styling improvements

Co-Authored-By: Sergii Golovatiuk <sgolovat@redhat.com>
2018-12-18 12:25:02 -08:00
Dag Wieers
5739ccb6c3 PSRP: Add support for reconnection retries (#49772)
* PSRP: Add support for reconnection retries

This adds support for reconnection retries to overcome sudden Connection
Refused or other recoverable states. (Either because WinRM is (re)started,
or firewall changes make it briefly unavailable)

* Fixes from review comments
2018-12-18 08:20:53 +10:00
Nathaniel Case
bf4ad56479
Move errors from import to connect (#50034) 2018-12-17 12:33:44 -05:00
Deepak Agrawal
0f2f38b044
network_cli - ansible_command_timeout not working as expected (#49922)
* fix for command_timeout

Signed-off-by: Deepak Agrawal <deepacks@gmail.com>

* fix ci warning

Signed-off-by: Deepak Agrawal <deepacks@gmail.com>

* fix review comments

Signed-off-by: Deepak Agrawal <deepacks@gmail.com>
2018-12-17 13:26:23 +05:30
Toshio Kuratomi
175f3b51e5 Ensure that current uses of BaseException are required
* In some cases, it appears that Exception should have been used instead
  as there's no need to catch sys.exit KeyboardInterrupt and similar.
* In a few cases, it appears that BaseException is used because
  a library we depend on calls sys.exit() contrary to good coding
  design.  Comment those so that we know that those have been audited
  and found to be correct and change to use (Exception, SystemExit)
  instead.
2018-12-16 15:03:19 -08:00
Toshio Kuratomi
3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
Chad Anderson
6ff7797eaa Move verify up so approle and other methods work as intended. 2018-12-14 11:14:12 -08:00
Abhijeet Kasurde
013c42b14f
Misc typo fixes (#49816)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-14 15:12:58 +05:30
Deepak Agrawal
f2eef2d30b
ignore connection timeout out within parenthesis (#48413) 2018-12-14 11:22:10 +05:30
anasbadaha
fb8b59fcc6 Get Capabilities Support (#49880)
Signed-off-by: Anas Badaha <anasb@mellanox.com>
2018-12-14 09:45:31 +05:30
Pierre-Louis Bonicoli
7e278b23b4 inventory plugin order: update doc
add doc for #44428:
- add changelog fragment
- update porting guide
also:
- update auto inventory plugin doc
- mention toml plugin in examples
2018-12-12 09:35:13 -08:00
Brian Coca
daaca1abd5
fix vbox inventory to correclty unset pwfile (#49774) 2018-12-11 17:45:25 -05:00
Nathaniel Case
02432565cd
Remove cliconf from httpapi connection (#46813)
* Bare minimum rip out cliconf

* nxapi changeover

* Update documentation, move options

* Memoize device_info

* Gratuitous rename to underscore use of local api implementation

Fixup eos module_utils like nxos

* Streamline version and image scans

* Expose get_capabilities through module_utils

* Add load_config to module_utils

* Support rpcs using both args and kwargs

* Add get_config for nxos

* Add get_diff

* module context, pulled from nxapi

We could probably do this correctly later

* Fix eos issues

* Limit connection._sub_plugin to only one plugin
2018-12-11 16:26:59 -05:00
Sam Doran
7c8af3d684 Reboot - Fix VMware ESXi not working by adding appropriate commands (#49637)
* Add commands for VMware ESXi

* Add changelog
2018-12-11 15:30:11 -05:00
Nathaniel Case
7af405883f
Don't fail on unable to set terminal width on ios (#47290)
* Don't fail if ios can't set terminal width

* Fix display import
2018-12-11 15:09:00 -05:00
Sam Doran
c1589c33c4
Reboot - Fix command not found, add Apline support, fix Solaris command (#49272)
* Fix various bugs related in reboot

- Use format strings for consistency and improve debug log messages
- Use local variables instead of class attributes in order to be thread safe
- Run setup module to get distribution and version
- Run find module to get full path of shutdown command
- Use ansible_os_family and ansible_distribution to find commands and args
- Use same command for all Solaris/SunOS distributions
- Move delay calculations to properties
- Reliably check for module run failure
- Fix bug in run_test_command() that accidentally made the method work properly
- Use better exceptions rather than Exception
- Use dict literals rather than constructors
- Correct _check_delay() so it always returns a value, not None
- Don't store and return result in run_test_command() because it's not used anywhere
- add test for post reboot command that fails
- test negative values for delay parameters
2018-12-11 11:05:10 -05:00
Matt Martz
2a469fd959 Consolidate handler tracking (#49338)
* Consolidate handler tracking
  -  Remove unused code. ci_complete
  - unit test fixes. ci_complete
  - Restore previous behavior of matching a single handler
  - when notifying a host for a handler, return True if it was added, False otherwise, to reduce copied logic
  - rename funcitons for clarity. ci_complete
  - Remove handler logic for static includes which was disabled previously
2018-12-11 10:58:19 -05:00
Abhijeet Kasurde
e464c543f6
Add support for variable_{start,end}_string (#49711)
Template lookup plugin now support variable_start_string and
variable_end_string, just like template module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-12-11 15:22:12 +05:30
Xijun Dai
7186234a84 Fix Unicode-objects must be encoded before hashing (#46608) 2018-12-10 17:09:29 -08:00
Brian Coca
758ac1846b
match interpreter on stdout also (#49446)
fixes #46980
2018-12-10 11:43:30 -05:00
Brian Coca
ba4c2ebeac
ensure ssh retry respects no log (#49569) 2018-12-10 09:55:18 -05:00
Dag Wieers
ee0df72e49 PSRP: Move default loglevel of pypsrp to WARNING (#49673) 2018-12-10 09:09:59 +10:00
Patrick Marques
7aa11c441d Print hostname when fails to generate keyed groups (#49609) 2018-12-07 10:18:25 -05:00
Adam Miller
6f90d62be3 fix py3 scope for unique filter errors, enable filters integration tests on rhel8 beta (#48961)
* fix py3 scope for unique filter errors, enable filters integration tests on rhel8 beta

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

* add changelog

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-12-06 16:13:26 +10:00
Toshio Kuratomi
33f0c1ce22 FactCache changes
* Fix FactCache to conform to the dict API
  * update needs to take a dict rather than a key and a value
  * __init__ needs to allow for setting the intial dictionary
* Remove unneeded _display and _cache attributes
* Move ansible.plugins.cache.FactCache to
  ansible.vars.fact_cache.FactCache because this isn't part of the cache
  plugin API.
* Add backwards compatibility when calling update on the new FactCache
* Remove code for calling old FactCache. There's no way to call the old
  FactCache so there's no need for backwards compatible code for calling
  code.  Backwards compatibility is handling things which are calling
  the new FactCache.
* Port our code to the new FactCache location.
2018-12-05 12:33:27 -08:00
Brian Coca
6096f57880 fix cache 'update' method to be 'mapping' compatible
- also simplify the update functions
 - fix methods and allwow backwards compat with plugins overriding 'update'
2018-12-05 12:33:27 -08:00
Matt Martz
77de219836
Support version 3 of the redis python library (#49445)
* Support version 3 of the redis python library. Fixes #49341

* Document 2.4.5 minimum redis-py version
2018-12-05 12:08:53 -06:00
Brian Coca
e17a2b502d updated ff docs to include and deprecate skip (#45167)
* updated ff docs to include and deprecate skip

* fine tuned requires

* deprecate

* fixes
2018-12-05 12:08:30 -05:00
Toshio Kuratomi
c817bef3ae Fix for callback plugins on Python3 when a module returns dictionary keys that aren't strings
This fixes one of the problems reported in https://github.com/ansible/ansible/issues/49343

Upstream Python3 bug for the json traceback:
https://bugs.python.org/issue25457

and PR that may fix it:
https://github.com/python/cpython/pull/8011
2018-12-04 23:03:48 -08:00
Andrey Che
64636d9de0 fix synchronize handling of encrypted hosts on delegation (#49460)
* Fix for #49363

* Replaced str() with to_text() as more python version safe

* Changed to comply to errors stragegy
2018-12-04 22:33:58 -08:00
Toshio Kuratomi
d06cd869b8 Revert "fix cache 'update' method to be 'mapping' compatible"
This reverts commit 68301f890a.
2018-12-04 14:04:13 -08:00
Sam Doran
6200d32c0d Use IndexError in exception (#49488) 2018-12-04 14:12:00 -05:00
sdirbach
e2f85b3f6c Implement test case prefix to filter test cases (#40174)
* Implement test case prefix to filter test cases

* Cut line to not exceed 160 chars

* Replace tabs with spaces

* Add version_added field

* Include changelog file
2018-12-03 18:41:44 +00:00
Ricardo Carrillo Cruz
5ffb863f0b Fix regex on ASA password prompt (#49438)
On Cisco ASAv on AWS, the prompt is 'Password', thus the privilege
elevation fails, we need to check upper and lower p.
2018-12-03 13:00:28 +00:00
sdirbach
840ab706ee Implement hide task arguments feature (#40176)
* Implement hide task arguments feature

* Add version_added field

* Include changelog file
2018-12-03 09:22:51 +00:00
Brian Coca
fc71cde7d3
Yaml inventory more tolerant (#48883)
* make yaml inv more tolerant to comments
* add tests for bad inventory processing

fixes #47254
2018-11-30 22:04:39 -05:00
Alicia Cozine
031e961c58
removes talk of hardcoded loading from plugin docs (#49383) 2018-11-30 14:37:55 -06:00
Martin Krizek
c78c8d389f
Last loaded handler with the same name wins (#49249)
* Last loaded handler with the same name wins

* Add comment explaining reversed
2018-11-30 16:30:27 +01:00
Abhijeet Kasurde
3141fda6b4
Misc typos in ce action plugin (#49348)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-30 11:50:00 +05:30
Dag Wieers
bc481c2500 PSRP: Improve default logging to ansible.log (#47645) 2018-11-29 18:18:39 -08:00
Dag Wieers
01d66d4431 WinRM: Improve default logging to ansible.log (#49308) 2018-11-29 18:18:18 -08:00
Matt Martz
77befcf5d7
Do not allow addressing an import from handlers via notify. Fixes #48936 (#49317) 2018-11-29 13:50:07 -06:00
Brian Coca
24e4d26b72 added missing github id 2018-11-29 10:48:38 -05:00
spike77453
bd35069495 Non-existent RR returns empty string (#40680) 2018-11-29 14:58:16 +00:00
jpdasma
37f66ee15b Fix reboot plugin not working in Illumos/Solaris (#48986) 2018-11-29 09:54:51 -05:00
Sam Doran
8f9ced4005 Improve log message (#49004)
This is the only connection plugin that doesn't state explicitly what it is in the log.
2018-11-29 09:53:26 -05:00
Alan Rominger
729c3a6767 Fix error where pod has error and no containers (#49154)
k8s: Fix error where pod has error and no containers
2018-11-29 09:17:04 +00:00
Ganesh Nalawade
829fc0feda
Fix iosxr netconf plugin response namespace (#49238)
* Fix iosxr netconf plugin response namespace

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

* Fix CI issues

* Fix review comment
2018-11-29 13:21:41 +05:30
vmpr
46a3c0cf2e changed documented default value for url (#49097)
the Default Value for url is 3000, so there was a mistake in the documentation
2018-11-28 15:16:36 -06:00
Sam Doran
5eb7f5781e
Reboot - Fix errors when using Paramiko connection (#49002)
Different connection plugins return different data when throwing exceptions. The Paramiko connection plugin does not return a text sting, which caused an exception.

The ssh connection plugin returns multi-line errors, which makes the debug logs harder to read. Only return the last line in that case in order to make the logs more readable.

When experiencing a connection failure, reset the connection.

Add reset() to paramiko_ssh

Indicate thet conection state is False when running close(). This is needed by the ensure_connected() decorator to work properly.


Co-authored-by: Matt Martz <matt@sivel.net>
2018-11-27 16:48:57 -05:00
Lars Kellogg-Stedman
bafc1f8a41 fix constructed functionality in openstack inventory plugin (#48833)
* test for openstack inventory constructed functionality

this adds unit tests for the compose, groups, and keyed_var features
of the openstack inventory plugin

* fix constructed functionality in openstack inventory plugin

The compose, groups, and keyed_groups functionality of the openstack
inventory plugin was broken:

- the plugin was not passing the correct variables to the
  Constructable methods for compose and groups
- the plugin was simply never calling the appropriate method for
  implementing keyed_groups

This commit fixes both issues.
2018-11-27 13:01:56 -05:00
Tim Rupp
0b5b5e69d8
Adds hasattr checks for rpc calls used in network_cli plugins (#49173)
Network platforms that don't have cliconf plugin will fail when
sending rpc calls for the reset_history and disable_response_logging
functions because those are defined in cliconf exclusively at this
time.

This patch adds checks for those attributes before making the call
2018-11-26 20:59:03 -08:00
Matt Davis
8c1f701e6e
split PS wrapper and payload (CVE-2018-16859) (#49142)
* prevent scriptblock logging from logging payload contents
* added tests to verify no payload contents in PS Operational event log
* fix script action to send split-aware wrapper
* fix CLIXML error parser (return to -EncodedCommand exposed problems with it)
2018-11-26 15:28:21 -08:00
Will Thames
31ccb3c29d Diff mode returns yaml diffs in yaml callback plugin (#48794)
* Diff mode returns yaml diffs in yaml callback plugin

* Add changelog for yaml diff mode
2018-11-22 18:03:25 +00:00
Adam Chalkley
685ea357f9 counter_enabled.py - Fix minor typos (#49014) 2018-11-22 05:41:38 -05:00
Will Thames
960ebd981f k8s append_hash (#48830)
* Add append_hash functionality to k8s module

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

* Provide k8s_config_resource_name plugin

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

* Add changelog fragment

* fix failing tests

* Update openshift version needed for append_hash
2018-11-22 08:14:43 +00:00
Rémy Léone
959395f4b4 Fix getheaders regression with open_url in Scaleway dynamic inventory (#48671)
* Fix regression

* Improve changelog fragment
2018-11-21 09:06:21 -06:00
Matt Martz
9773a1f289
Add a Singleton metaclass, use it with Display (#48935)
* Add a Singleton class, use it with Display

* update six import

* Move remaining failes to display singleton

* Fix rebase issues

* Singleton improvements

* Add code-smell for 'from __main__ import display'. ci_complete

* s/self/cls/g

* Add docs for no-main-display

* Address linting issues

* Add changelog fragment. ci_complete

* Implement reentrant lock for class instantiation in Singleton

* Add Display singleton porting guide
2018-11-20 17:06:51 -06:00
Brian Coca
68301f890a fix cache 'update' method to be 'mapping' compatible
- also simplify the update functions
 - fix methods and allwow backwards compat with plugins overriding 'update'
2018-11-19 14:18:18 -05:00
Pilou
5271f771f0 YAML inventory doc: add info about 'all' group, remove unused option (#25408)
* YAML inventory: add note about 'all' group, update
2018-11-16 15:53:03 -06:00
Tim Rupp
0e1dca6e8f
Adds the bigip_imish_config module. (#48779)
This can be used to manage bgp configuration on a BIG-IP.
2018-11-16 09:17:57 -08:00
Anton Nikulin
9770ac70f9 FTD modules: upsert functionality and bug fixes (#47747)
* FTD modules: bug fixes and upsert functionality

* Fix sanity checks

* Fix unit tests for Python 2.6

* Log status code for login/logout

* Use string formatting in logging
2018-11-16 11:55:36 +05:30
Brian Coca
05246f7db8 inventory now errors for invalid group/host names (#45499)
* inventory now errors for invalid group/host names

also made yaml inventory slightly smarte

fixes #45493

* add some 'YAML protection' to ini plugin

* better msg

* avoid ranges as positive match

* pepe

* expand inherited instead of total override
2018-11-15 16:29:40 -05:00
Kushal Das
83f27b57fc Adds a new qubes connection plugin
This plugin will allow to execute commands, put or fetch files
from other VMs in Qubes OS.
2018-11-15 08:27:13 -08:00
Abhijeet Kasurde
f0c290c930 slack: Add validate_certs option in plugin (#46567)
This fix adds a configurable parameter for slack plugin.

Fixes: #45682

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-11-15 09:15:27 -06:00
Jed-Giblin
bb6dc9204f Added a bytes cast when checking for terminal response (#48427) 2018-11-14 11:54:33 -05:00
Martin Krizek
907ff2f26c Add new meta task end_host (#47194)
* Add new meta task  end_host
2018-11-14 09:46:25 -05:00
Brian Coca
24593f2ffb avoid spurious warnigns on unique filter
fixes #46189
2018-11-14 09:33:43 -05:00
nikkytub
f3583cebd6 Added config-context in hostvars (#47394)
* Added config-contexts in hostvars

* Changed config-contexts to config-context in hostvars
2018-11-12 15:57:29 -05:00
Sam Doran
886433bd5f
Catch and handle quickly shutdown connections in reboot plugin (#48389) 2018-11-12 11:30:46 -05:00
Nathaniel Case
1fff542623
Match config prompts that aren't maint-mode (#47678) 2018-11-12 11:18:06 -05:00
Martin Krizek
a80c25cbd9
Do not use str() on exceptions (#46950) 2018-11-09 07:59:30 +01:00
Matt Clay
8c2ccb8b31 Remove unused net_config action plugin. 2018-11-08 22:20:02 -08:00
Matt Martz
b908a348a6 Remove TOML warning on emit (#48385) 2018-11-09 12:07:42 +10:00
Matt Clay
92dccb68ec Remove unused ops_config action plugin. 2018-11-08 10:12:21 -08:00
Jack Haden-Enneking
15e77ebfe8 ipaddr filter - return a network address when given an address with /32 subnet (#47539)
* fix #17872

* add changelog fragment and enable unit test
2018-11-08 11:49:42 -05:00
Stefan Siegel
ae7b9ea8cd Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux (#47017)
* Always use /proc/sys/kernel/random/boot_id to confirm reboot on Linux

/proc/sys/kernel/random/boot_id is available since kernel 2.3.16 and
should be safe to rely on.

The previously used method by checking the system boot time using who -b
turned out to be unreliable: Some systems lacking an RTC report the Unix
epoch as boot time, but the code trying to detect that did't always
work.

Closes #46562

* Change DEFAULT_BOOT_TIME_COMMAND

- change to usinsg /proc by default
- add BOOT_TIME_COMMANDS for BSD, Solaris, and macOS
2018-11-08 09:54:58 -05:00
Matt Martz
f728f2bff0
Add a new "contains" jinja2 test (#45798)
* Add contains jinja2 test

* backticks
2018-11-07 14:49:00 -06:00
James E. King III
3a4ee965f5 Improve debug logging of filetree with path being walked and items found (#47884) 2018-11-07 21:32:23 +01:00
Brian Coca
8ccb44aa63 clarify insane ini typing (#48169)
* clarify how variables are interpreted in the ini inventory plugin
2018-11-07 14:19:23 -06:00
Michael Cassaniti
a2f3f16930 win_updates: Add post search category matching to support product matching (#45708)
* win_update: Add post search category matching to support product matching

* win_updates: Return categories of each update

* win_updates: Documentation fix-up

* win_updates: Adjusted documentation to reflect regex vs sub-string match of post-cat strings

* win_updates: Sped up post-category checking

* win_updates: Updated documentation to suggest querying post-category strings

* win_updates: Simplified saving and checking post-categories

* fixed some issues and added filtered categories to return value

* win_updates: Moved all category matching to occur after initial search

* win_updates: Adjustments to satisfy PowerShell lint checks

* win_updates: Dropped category validation from action plugin

* win_updates: Documentation updates

* win_updates: Fixed plugin unit tests
2018-11-07 19:32:07 +10:00
Chen Zhiwei
329d3b892b if we already have stderr, we don't need stderr_lines (#44675) 2018-11-06 12:36:42 -05:00
Matt Martz
9949629e5a
Add toml inventory plugin (#41593)
* First pass at a toml inventory

* Make EXAMPLES yaml

* Remove unnecessary comment

* Small formatting changes

* Add ansible-inventory option to list as TOML

* TOML inventory improvements, to allow a more simple inventory, specifically related to children

* changelog

* Simplify logic

* Dedupe _expand_hostpattern, making it available to all inventory plugins

* Don't make the TOML inventory dependent on the YAML inventory

* Quote IP address values

* Add more TOML examples

* Further cleanups

* Enable the toml inventory to run by default

* Create toml specific dumper

* 2.8

* Clean up imports

* No toml pygments lexer

* Don't raise an exception early when toml isn't present, and move toml to the end, since it requires an external dep

* Require toml>=0.10.0

* Further clean up of empty data

* Don't require toml>=0.10.0, but prefer it, add code for fallback in older versions

* Ensure we actually pass an encoder to toml.dumps

* Simplify recursive data converter

* Appease tests, since we haven't limited controller testing to 2.7+

* Update docstring for convert_yaml_objects_to_native

* remove outdated catching of AttributeError

* We don't need to catch ImportError when import ansible.plugins.inventory.toml

* Add note about what self.dump_funcs.update is doing

* Address some things

* A little extra comment

* Fix toml availability check

* Don't create an intermediate list

* Require toml file extension

* Add metadata

* Remove TOML docs from intro_inventory to prevent people from getting the wrong idea

* It's in defaults, remove note

* core supported, indicate very clearly that this is preview status
2018-11-06 10:02:36 -06:00
Deepak Agrawal
d2c7665be9
cleanp net_put temp file (#48148) 2018-11-06 12:02:01 +05:30
Yauhen Kirylau
14037443de fix(tasks: synchronize): wrap in sshpass if ssh password was provided (#30743)
* fix(tasks: synchronize): wrap in sshpass if ssh password was provided

Closes #16616

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

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

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

fix python2 handling

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

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

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

remove unused import

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

pass_fds only if they passed to run_command()
2018-11-05 15:00:34 -05:00
Gaël Lambert
0c95453a70 Doc: k8s_raw_module fixing typo K8S_AUTH_HOST -> K8S_AUTH_KEY_FILE (#46947)
The current doc of k8s_raw_module contain a copy paste of the env var name :

```
host   :
Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable.
key_file  : Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_HOST environment variable.
```
2018-11-05 12:13:57 -05:00
Dmitry Polyakovsky
5b27de41bd fixed parentheses (#48067)
* fixed parentheses

* Add space after lookup
2018-11-05 12:42:54 +01:00
Will Thames
2b02e43614 Document template plugin's convert_data option
This is a useful option that I can never remember the name of
2018-11-02 16:09:51 -04:00
B-Art
fc1cbddd3d exprpessions into expressions (#47967)
* exprpessions into expressions, JInja2 into Jinja2
2018-11-02 13:39:21 -05:00
f-bor
35b97a2fa7 edgeswitch_facts (#47618) 2018-11-02 18:50:11 +05:30
Tomas Tomecek
23becece53 Implement connection plugin for podman (#47519)
* new connection plugin: podman

Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>

* podman,conn: utilize remote_user to run commands

Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>

* podman connection: update docs

Co-Authored-By: TomasTomecek <ttomecek@redhat.com>
2018-11-01 10:14:18 -04:00
Lindsay Hill
a1b0d20368 New voss_config module (#47533)
* New voss_config module

* Updated test import paths as per #46996
2018-11-01 14:07:41 +05:30
Brian Coca
d590f10d32 remove redundant md5 hashing 2018-10-31 13:54:52 -07:00
Toshio Kuratomi
9906daa83c Fix password lookup for FIPS
Fixes #47297
2018-10-31 12:50:23 -07:00
Gonéri Le Bouder
30b6bb34cd openstack: drop some reference to shade (#47359)
shade is not used anymore by the `os_*` modules.

PR #40532 replaces `shade` library by `openstacksdk`. This commit clean
up some references to the old library. It's similiar to what has been
done in PR #40784.
2018-10-30 15:29:11 -05:00
Matt Martz
40e5d2c951 Do not filter out exception, warnings, deprecations on failure when using debug (#47588)
* Do not filter out exception, warnings, deprecations on failure when using debug. Fixes #47576

* Add changelog fragment
2018-10-30 12:51:25 -04:00
Matt Martz
fd662c0a63
New v2_runner_on_start callback added (#47684)
* New v2_runner_on_start callback added to indicate the start of execution for a host in a specific task

* Add changelog fragment

* Minor docstring clarification
2018-10-30 11:37:11 -05:00
Abhijeet Kasurde
b32b4111b2
plugin_filter: check for type error (#46664)
* Parsing plugin filter may raise TypeError, gracefully handle this exception
and let user know about the syntax error in plugin filter file.

* Test for plugin_filtering

Fixes: #46658

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-30 18:25:02 +05:30
Rémy Léone
7837497b0b Fix netbox url with urljoin (#47655) 2018-10-29 13:17:06 +00:00
Ganesh Nalawade
17fea30841
Revert "enhance recv calls in network_cli (#47345)" (#47731)
This reverts commit c649d0ea32.

The change results in deadlock in network_cli while it is
waiting to check the return value of recv_ready() which
was added in this commit to improve performance
2018-10-29 09:50:30 +05:30
Adrián López
a4b9af740a cyberarkpassword: Typo in cquery parameter (#47605)
Removed extraneous quotes from docs
2018-10-27 11:40:58 +05:30
Matt Martz
3633e21780
Add missing self._supports_async to uri action plugin (#47677)
* Add missing self._supports_async to uri action plugin. Fixes #47660

* Additional changes needed to support async

* Missed a call to execute_module
2018-10-26 12:16:26 -05:00
f-bor
c649d0ea32 enhance recv calls in network_cli (#47345)
* enhance recv calls in network_cli

* updated network_cli test unit

* enhance recv calls in network_cli

* fix mistake

* better timeout management

* remove exception trigger

* test

* test2

* restore exception and timeout

* ganeshrn's way

* correction

* timeout and exception return
2018-10-26 09:49:17 +05:30
Matt Martz
f7ba63e047
Add shorthand debugger method to recreate the task from the original ds (#46987)
* Add shorthand debugger method to recreate the task from the original ds, and re-template. Fixes #46321

* Fix rst header

* Indicate update_task was added in 2.8
2018-10-25 16:35:59 -05:00
Hagen Kuehn
0661f2f213 adds 'success_msg' to valid args for assert module (#47030) 2018-10-24 21:10:10 +02:00
Johann Queuniet
74ce8ce935 Add API pagination support to Scaleway inventory (#46117)
* Add Scaleway API pagination to server inventory call

* Move Link parsing to helper module

* Correct some PEP8 errors

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

* Simplify the regexes to match the intended purpose

* Cleanup helper to conform to review

* Cleanup Scaleway inventory to conform to review

* Flatten the conditional branches structure

* fix a regexp typo
2018-10-24 17:53:46 +01:00
FragmentedPacket
f83fa2ac93 Netbox inventory: Fix NoneType issue if query_filters is not in netbox_inventory.yml (#46793)
* Added if state to refresh_url to avoid failure at NoneType when guesry_filters is undefined in netbox_inventory.yml
2018-10-24 16:52:20 +01:00
Nathaniel Case
6a866a5e10
ios check_rc: Default to sending text of exception, not the whole exception (#47300)
* Default to sending text of exception, not the whole exception
2018-10-24 09:56:47 -04:00
John Imison
5ba4e4411b Adding headers to be returned for retrieved messages. (#47375) 2018-10-24 12:38:32 +01:00
Jordan Borean
f28b7c7ab1
psrp - fix unicode handling in Python 2 (#47461)
* psrp - fix unicode handling in Python 2

* skip psrp become test when on Server 2008
2018-10-24 05:37:05 +10:00
Matthew DeNapoli
dc81a3b856 added in method to handle new and old login methods (#47170) 2018-10-23 13:19:31 -04:00
Jordan Borean
d46d92eed5
Revert "WinRM/PSRP: Fix UTF-8 issue (#46998)" (#47447)
This reverts commit 1bb674034f.
2018-10-23 09:10:28 +10:00
Peter Sprygada
9180d2c7f2 escape default prompt detection in telnet action plugin (#46573)
This change fixes an issue with the default prompt handling.  The value
needs to be escaped otherwise it does not work when converted to bytes.
2018-10-22 13:59:10 -04:00
Pablo
6497049f2a Fix exception when including tasks from handlers (#47307)
Set _notified_handlers for the task's _uuid that is run as a handler

Fix #47287
2018-10-22 10:46:36 -05:00
Ganesh Nalawade
335a979f1d
Fix prompt mismatch issue for ios (#47004)
* Fix prompt mismatch issue for ios

Fixes #40884 #44463

*  If the command prompt is matched check if data is
   still pending to be read from buffer.
*  This fix adds a new timer `buffer_read_timeout`
   which will be trigerred after command prompt
   is matched and data is attempted to be read from channel.
   If not data is present of channel the timer will expire
   and response we be returned to calling function.

* Fix unit test failure

* Update to make buffer timeout float

* Update doc and fix review comment

* Fix CI issues

* Update doc

* Fix review comments

* Fix review comments
2018-10-22 21:05:15 +05:30
Jonathan Oddy
7ba09adee1 Fix AWS EC2 inventory plugin caching of groups (#46961)
* Fix AWS EC2 inventory plugin caching of groups

* Added changelog fragment for aws_ec2 caching fix

* Store the AWS query results

The underlying inventory object contains inventory from other sources,
so caching it as ours would be wrong.
It seems easiest and safest to just cache the boto query results
instead.

* Remove unused functions
2018-10-22 09:15:27 -04:00
Dag Wieers
1bb674034f WinRM/PSRP: Fix UTF-8 issue (#46998)
* WinRM/PSRP: Fix UTF-8 issue

* added changelog fragment
2018-10-22 06:59:53 +10:00
Allyson Bowles
21859c06b9 Add output for skipped tasks 2018-10-19 10:38:29 -04:00
Allyson Bowles
219f1b8380 Display output for loops on 'ok' result 2018-10-19 10:38:29 -04:00
Abhijeet Kasurde
a47b055ac7 Update profile_tasks docs (#46690)
Added configuration settings to enable profile_tasks via ansible.cfg

Fixes: #44555

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-19 08:19:57 -05:00
Nathaniel Case
7844a40046
Update some cliconf plugins (#47141)
* Add `check_all` to many community cliconf plugins
2018-10-18 15:26:20 -04:00
Dag Wieers
06eabc9783 reboot: Add timeout in error to help troubleshooting (#47216)
* reboot: Add timeout in error to help troubleshooting

So we've been hit by 'Timed out waiting for boot_time check' and it was
unclear what timeout was used for the boot_time check. By adding the
timeout value it is easier to understand the used value, and verify if a
change to the timeout is reflected in the output.

* Add changelog fragment
2018-10-18 14:42:39 -04:00
nikkytub
539f0fee09 Fixed the ssl-certs in netbox plugin (#46543)
* Fixed the ssl-certs in netbox plugin

* Added validate_certs parameter and updated the example
2018-10-17 21:30:47 +01:00
Rémy Léone
8a7a819040 Add support for platform grouping (#45733) 2018-10-17 21:28:20 +01:00
Steve Dodd
ee6ab5d5aa Add support for IOS vlan parsing filter. (#40555)
* Add support for IOS vlan parsing filter.
Example usage below:

{% set parsed_vlans = vlans | vlan_parser %}
switchport trunk allowed vlan {{ parsed_vlans[0] }}
{% for i in range (1, parsed_vlans | count) %}
switchport trunk allowed vlan add {{ parsed_vlans[i] }}

* Update test_network.py

Add import statement for filter

* Fixed PEP8 issues relating to comments

* Fix PEP8 issues related to blank lines

* Removed magic numbers for line lengths. This should generalize support
to other IOS-like NOS that use similar methods for listing vlans. The
default arguments for line lengths will still be specific to Cisco IOS.
The unit tests for line length are still specific to Cisco IOS.
2018-10-17 20:50:28 +05:30
Ryan Merolle
b9cf09e9d5 network.py filter_plugin typo fix (#47011)
changed return_orginal to return_original in /lib/ansible/plugins/filter/network.py
2018-10-17 19:30:56 +05:30
Fran Fitzpatrick
fc341e01fa Fix junos terminal regex (#47096)
Fix junos stdout regex

Change at hing
2018-10-17 19:29:35 +05:30
Fran Fitzpatrick
ab8ed2f84d Add unit tests for junos terminal (#47103) 2018-10-16 15:14:38 +05:30
Matt Martz
c3d5779a41
Use the copied and merged task for calculating task vars in the free strategy. Fixes #47024 (#47060) 2018-10-15 16:07:52 -05:00
Sumit Jaiswal
8a6059ad0a
revert 46677 changes (#47044) 2018-10-15 15:35:55 +05:30
Sumit Jaiswal
9ddceaf78d
Fix to resolve bug 46671, which now handles checking for Nonetype connection prompt (#46677)
* added Nonetype check

* implemented review comment

* review changes
2018-10-15 11:21:06 +05:30
Dag Wieers
5fa51f3cd8 Add ConnectionError too 2018-10-13 21:47:13 +02:00
Dag Wieers
820f9f9c1e Move requests import into pypsrp try-block 2018-10-13 21:47:13 +02:00
Dag Wieers
6693adc9b2 WinRM/PSRP: Add support for unreachable
Currently PSRP connection always fail, even if the system is not
reachable. This PR fixes this.
2018-10-13 21:47:13 +02:00
Brian Coca
9e0c2a658f
better information for user from inventory plugins (#46766)
* better information for user from inventory plugins

 - use foreman as example
2018-10-12 11:27:29 -04:00
Brian Coca
a5bd84758a simpler/shorter option names for user
- internally we can keep long names, but user should not require extra typing
2018-10-12 11:23:42 -04:00
Brian Coca
643ff29d2d
use ansible json encoder for results in callbacks (#46830)
* use ansible json encoder for results in callbacks
2018-10-12 09:37:56 -04:00
Rémy Léone
faf262977e Add virtualization devices in the inventory (#45728) 2018-10-11 18:09:01 +01:00
Rémy Léone
a8925484c9 Use constructable with NetBox dynamic inventory (#45913) 2018-10-11 18:01:29 +01:00
Sloane Hertel
f3d5ebb355 add more consistent extension matching for inventory plugins (#46786)
* Add consistent extension matching for inventory plugins that support YAML configuration files

* Document extension matching expectations
2018-10-11 11:06:52 -05:00
Johannes Brunswicker
b3063e37be Convert results with to_native in consul_kv plugin (#46551)
* #42851 convert results with to_native

* added missing ANSIBLE_METADATA

* removed unneeded brackets

* * replaced to_native with to_text to avoid getting bytecode
2018-10-11 09:35:49 -04:00
markafarrell
4c169a1a6d Enable HTTP Authentication for url lookup (#43467)
* Add url_username and url_password options for url lookup

* Update url.py

Fix documentation

* Fix options documentation 

Default value for url_password and url_username is None not an empty string

* Add version added to documentation

* Break command over multiple lines to fix linting

* Fix more linting

* Update version_added in url.py to 2.8
2018-10-11 09:30:56 -04:00
Brian Coca
80d977bac6
manage levels for 'multiple included lists' (#46359)
* manage levels for 'multiple included lists'

fixes #46343
2018-10-10 12:34:58 -04:00
akatch
878599fd9f Do not append msg to verbose tasks (#46721) 2018-10-10 12:11:43 -04:00
Abhijeet Kasurde
5351a00445 Correct usage of message in ConnectionError (#46566)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-10 19:21:20 +05:30
lwm
8d0f823de0 Add a Linode v4 dynamic inventory plugin. (#45902)
* Add a Linode v4 dynamic inventory plugin.

Closes https://github.com/ansible/ansible/issues/44721.

* Use the latest API for accessing host variables.

References:

  * https://github.com/linode/linode_api4-python/issues/141

* Minor docs formating
2018-10-09 12:54:31 +01:00
Daniel Jakots
753711cd12 Register missing parameter reboot_timeout (#46585) 2018-10-08 14:56:40 -04:00
Matt Clay
a11f631ee4 Python 3.8 collections compatibility fixes.
Includes a new pylint blacklist plugin to prevent regressions.
2018-10-08 11:26:37 -07:00
Colin McCarthy
84a40b71c2 Added (Define Values From CSV File) to example section (#46620)
Adding a new example demonstrating setting facts from a CSV file, from a real-world network use case.
2018-10-08 10:48:46 -05:00
Abhijeet Kasurde
39e71bb7ce Plugin: check if executable exists in local connection (#46201)
This fix checks if executable exists in local connection specified using
ANSIBLE_EXECUTABLE variable.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-08 09:40:27 -04:00
Abhijeet Kasurde
dbc80f89ca
Misc typo in logentries plugin module (#46568)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-07 07:25:01 +05:30
Rémy Léone
9ff25c1383 Add tags grouping (#45741) 2018-10-06 11:06:39 -04:00
Abhijeet Kasurde
25dfa78dc2
Add missing bracket in documentation (#46564)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-06 02:48:07 -05:00
Dag Wieers
8c64b4af7c win_reboot: Fix for ignore post_reboot_delay (#46360)
* win_reboot: Fix for ignore post_reboot_delay

This fixes an issue where win_reboot would be ignoring the provided
post_reboot_delay (and on Windows timing/waiting is everything!)

This must be backported to the v2.7 branch.

* Merge post-reboot handling into run()
2018-10-04 15:44:50 -04:00
John Imison
c4cfa387ea Lookup plugin for rabbitmq (#44070)
* Adding a basic get lookup for rabbitmq.

* Always return a list

* If content type is JSON, make accessible via dict.

* Fixed incorrect json.loads variable and missing raise

* Change to document returned data

* Fixed pep8 issues

* Adding integration testing

* Moving lookup intgration tests to new target

* New rabbitmq lookup plugin (#44070).

* New rabbitmq lookup plugin (#44070).

* PR review feedback updates

* Testing pika is installed

* Minor mods to tests

* Check if connection is already closed or closing

* Updated tests and connection testing

* PR review feedback updates

* PR review include ValueError in AnsibleError output

* Suggesting to use set_fact when using returned variable more than once.

* Cleaned up some tests, added some notes and handling connection closure on some exceptions.

* Removed finally statement and added some additional error handling.

* Added some additional error handling.

* PR review updates.

* Additional integration tests and removing return in finally

* Updated version

* Changing back to running tests on ubuntu.

* Additional tests

* Running tests on  Ubuntu only

* Fixing syntax error

* Fixing ingtegration tests and a string/byte issue

* Removed non-required test and fixed BOTMETA

* Trying to fix integration test failure on ubuntu1404

* Some issues occured when handling messages from the queue with to_native.  Switching to to_text resolved the issues.

* Renaming channel to queue (thanks dch). Disabling trusty tests.
2018-10-04 11:25:09 +10:00
Yann Rouillard
ee3dfef016 Only delete key from redis in-memory cache if present (#35126)
Fixes #35120 : the redis cache plugin keeps key/value
entries in an in-memory cache to avoid hitting the
redis database each time.

The problem is that a cache entry is only set when
a value is get or set but it is always deleted when
trying to delete a value.

When the --flush-cache ansible-playbook option is used,
the redis cache plugin is first asked to remove every
entry corresponding to every hostname present in the inventory.
As no value as been set/get so far, it then tries to delete
an unexisting value from the cache and hence crashes with
a KeyError exception.
2018-10-03 11:06:44 -04:00
Jordan Borean
e972287c35 win_exec: refactor PS exec runner (#45334)
* win_exec: refactor PS exec runner

* more changes for PSCore compatibility

* made some changes based on the recent review

* split up module exec scripts for smaller payload

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

* cleaned up c# test classifier code
2018-10-02 15:55:53 -07:00
Eric L
446f83cdeb New option JUNIT_TASK_RELATIVE_PATH to output relative paths. (#37274)
* New option JUNIT_TASK_RELATIVE_PATH to output relative paths.

It makes the output in Jenkins much more readable as the absolute
path was taking the whole width of the screen, leaving no space for
the actual message.

A makedirs instead of mkdir slipped in as to make the creation of
the output directory recursive, hope this is OK.

* Add version_added field to doc set to 2.8
2018-10-02 12:25:29 -07:00
Johannes Brunswicker
bacbd4e9fc Add ssl support to consul_kv lookup (#42456)
* implemented lookup_consul_kv
* added missing version_added for consul_url ini section
* added default value for ANSIBLE_CONSUL_CLIENT_CERT and added some more documentation
* removed trailing whitespaces
* fixed indention
* Fixes in Documentation
* removed trailing whitespace
* removed trailing whitespace
2018-10-02 11:01:03 -04:00
Pilou
b76c4c840e WIP: Check that union Jinja filter can be chained (#46298)
* Check that union Jinja filter can be chained

* set filters: fix unexpected templating type error

this error occurs with Jinja 2.10 since 32ec69d827,
for example when union filters are chained:

$ ansible all -i localhost, -mdebug -a"msg={{ []|union([])|union([]) }}"
localhost | FAILED! => {
    "msg": "Unexpected templating type error occurred on ({{ []|union([])|union([]) }}):
            unsupported operand type(s) for +: 'set' and 'list'"
}
2018-10-01 16:30:24 -04:00
Nathaniel Case
cdaf5bd806
Add configuration to override location of ansible-connection (#46128)
* Add configuration to override location of ansible-connection

* Check var or argv[0] before $PATH
2018-10-01 14:29:59 -04:00
David Baumann
c97f2b4c01 Fix callout json plugin show global stats (#43123)
* fix callback Plugin json to support global stat set by set_stats module

* refactor to not break compatiblity, add trailing comma on output dict

* Remove sorted, as it not needed

* refactor, to sivels better code

* clean some code messup

* add changelog fragment

* added missing new line

* fix pep8 stuff
2018-10-01 11:06:14 -05:00
Daniel Jakots
2769a4e2cc Add support for OpenBSD (#46147) 2018-09-28 16:07:44 -04:00
Sam Doran
77f73f6d2a
Use unicode instead of bytes (#46234)
The stdout and stderr values returned from self._low_level_execute() are text, not bytes. This results in an error in Python 3 since str and bytes cannot be concatenated.

Changing to unicode type allows this to work without error on Python 2 and Python 3.
2018-09-28 12:51:17 -04:00
Jordan Borean
23c94295dc
Revert "powershell - fix for ANSIBLE_KEEP_REMOTE_FILES on older Pythons (#45942)" (#46238)
This reverts commit ce515a626c.
2018-09-28 09:04:03 +10:00
Pilou
15d46ce428 k8s/oc plugins: fix 'ResourceField' is not JSON serializable (#46145)
Fixes #44408
2018-09-27 18:43:29 -04:00
Abhijeet Kasurde
8ecc6be85c Misc typo fix (#46199)
jinaj2 to jinja2

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-09-27 12:51:48 +02:00
Pilou
2fd18c77ae openshift inventory plugin: fix exception when auth fails (#45826)
* openshift inventory: fix exception when auth fails

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

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

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

* move k8s/OpenShift inventory plugin dedicated code

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

* Remove unused class variables 'helper'

unused since 4d77878654.
2018-09-26 18:16:54 -04:00
Anthony Ruhier
5803d73400 Bugfixes in Netbox inventory (#45731)
* Fix headers and params in netbox queries

Fix token authentication
Remove unused variables regarding api params and headers

* Fix python 3 incompatibility in netbox inventory

* Cleaning BOTMETA entry
2018-09-26 11:52:24 +01:00
Brian Coca
32ec69d827
allow jinja2 unique filter compat (#45637)
* allow jinja2 unique filter compat
* detect if unique is provided, fallback with warning
* handle j2 specific params
* now all filters using unique must pass environment
* added env to tests

also normalized on how we normally import and use exceptoins
2018-09-25 14:27:02 -04:00
Matt Martz
49eb53b44d
pylint plugin to catch due/past-due deprecated calls (#44143)
* Start of work on pylint plugin to catch due/past-due deprecated calls

* Improve deprecated pylint plugin

* Catch call to AnsibleModule.deprecate also

* Skip splatted kwargs, we can't infer that info

* Add error for invalid version in deprecation

* Skip version if it's a reference to a var

* Disable ansible-deprecated-no-version for displaying deprecated module info

* fix comments

* is None

* Force specifying a version, this can be disabled on a per case basis

* Disable ansible-deprecated-version by default

* Remove to look for 2.8 deprecated

* Revert "Remove to look for 2.8 deprecated"

This reverts commit 4e84034fd104879f429f0262ff0b2317e3d08deb.

* Add script and template used for creating issues for deprecated issues

* Fix underscore var
2018-09-25 10:31:41 -05:00
s-hertel
7e8435b96d Fix _uri option documentation for cache plugins that expect strings 2018-09-25 09:57:03 -04:00
tstoner
e74e8b8e75 Additional feature enhancements to nxos_logging (#45844)
* Various changes to nxos_logging.  Plus added purge capibility.

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

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

* Addressed ansibot shippable issues with whitespaces and documentation.

* Resolved ansibot codestyle trailing whitespace
2018-09-25 11:02:09 +05:30
Jordan Borean
d6251e5b27
winrm: add further conditional to using pexect for kerb auth (#45952) 2018-09-25 09:21:22 +10:00
Peter Sprygada
1e68881c40 adds support for null values to the ternary filter (#45303)
* adds support for null values to the ternary filter

This change adds a third optional argument to the ternary filter to
handle a null value.  If the third option is specified null and false
are treated differently.

For instance, take the following example:

{{ enabled | ternary('no shutdown', 'shutdown') }}

If enabled == True, then 'no shutdown' is used.
If enabled in (False, None), then 'shutdown' is used.

With this change the following is possible:

{{ enabled | ternary('no shutdown', 'shutdown', omit) }}

If enabled == True, then 'no shutdown'
If enabled == False, then 'shutdown'
If enabled == None, then omit

* update documentation with example of filter

* update filter documentation example per comments

* fix logic error in user_guide example
2018-09-24 18:57:19 -04:00
Rémy Léone
f6154bb2e3 Refactor attribute lookup to make it multithreaded (#45786) 2018-09-24 10:23:23 -04:00
Sebastian Gumprich
0b801a0595 Update yaml-style in password-lookup example (#46046)
* Update yaml-style in password-lookup example

##### SUMMARY

Update the  yaml-style in a password-lookup example to match best-practices.

##### ISSUE TYPE
- Docs Pull Request


##### COMPONENT NAME
password_lookup plugin

##### ANSIBLE VERSION
devel

* remove whitespace
2018-09-24 09:34:12 +02:00
Sam Doran
b60854357b
Unify terms and UI between 1Password lookups and facts module (#45427)
* Unify login behavior between 1Password lookup plugins and module

- Use the same names for all credential aspects
- Only require the minimal amount of information for each
- Add more examples

* Change parameter terms

- use terms in line with 1Password documentation.
- update examples
- update tests

* Improve error messages in lookup plugin

* Unify onepassword_facts with lookup plugins

- use same methods and logic for signing in or reusing existing session
- unify terms with lookup plugins

* Change rc test for determing login

An rc other than 1 can be returned when a current login session does not exist.

* Create AnsibleModuleError class

ansible.errors is not available to modules, so create an AnsibleModuleError class within the module

Do not user os.path.expanduser since this is already done by virtue of the type being "path" in the argument spec.

* Add note about risk with fact caching sensitive data

* Add note on op version that was used for testing
2018-09-21 14:26:05 -04:00
Brian Coca
a47671aad1 allow openstack invetnory to work cacheless
fixes #45431
2018-09-21 12:33:24 -04:00
Rémy Léone
574ed8dc7f Add documentation about the query filters (#45835) 2018-09-21 12:09:35 -04:00
Jordan Borean
198423d6fb
powershell: do not quote join_path result to reflect ShellBase join_path (#45944) 2018-09-21 15:31:12 +10:00
Jordan Borean
ce515a626c
powershell - fix for ANSIBLE_KEEP_REMOTE_FILES on older Pythons (#45942) 2018-09-21 10:03:57 +10:00
Yanis Guenane
a7bf505474 inventory/tower: authors -< author so Doc can pick it up (#45936) 2018-09-20 16:44:22 -05:00
Andrew Gaffney
acac001742 Add number of skipped tasks to play recap in 'default' callback (#45797) 2018-09-20 14:38:54 -04:00
Matt Martz
95e77ac853
Ensure that the src file contents is converted to unicode in diff info (#45744)
* Ensure that the src file contents is converted to unicode in diff info. Fixes #45717

* Fix up and cleanup

* The diff functionality in the callback plugins should have the
  to_text() calls removed since we're now doing it in ActionBase
* catching of UnicodeError and warnings in the callback diff
  functionality from 61d01f549f haven't been
  needed since we switched to to_text so remove them.
* Add a note to ActionBase's diff function giving an example of when the
  diff function will be inaccurate and how to fix it

* Fix callback get_diff() tests

I believe the unittests of callback's get_diff() were wrong.  They were
sending in a list where strings were expected.  Because previous code
was transforming the lists into strings via their repr, the previous
tests did not fail but they would have formatted the test cases output
in an odd way if we had looked at it.
2018-09-20 12:31:48 -05:00
Nathaniel Case
406b59aeba
Move persistent connections to only use registered variables (#45616)
* Try to intuit proper plugins to send to ansible-connection

* Move sub-plugins to init so that vars will be populated in executor

* Fix connection unit tests
2018-09-20 09:56:43 -04:00
Jordan Borean
5c73d4f4bd
async: use async_dir for the async results file directory (#45461)
* win async: use async_dir for the async results file directory

* tried to unify POSIX and PowerShell async implementations of async_dir

* fix sanity issue
2018-09-20 19:37:54 +10:00
Sofiane Medjkoune
af40d8c2a5 Fix mixed output from ansible and lxd when using the lxd connection plugin (#45246)
* Replace fetch and put operations with Popen instead of call to prevent lxd to mess the Ansible output

* Remove extra blank line
2018-09-18 19:36:51 -04:00
Sam Doran
afd8b97fb1
Make sure strings are bytes for Py2/3 compatibility (#45746) 2018-09-18 10:10:47 -04:00
Matt Martz
b6fcbfe813
Support transfering empty files to target host. Fixes #36725 (#45751) 2018-09-18 09:05:20 -05:00
Matt Martz
f8c98600a9
If including a file resulted in AnsibleFileNotFound, clarify error message. Fixes #45661 (#45667) 2018-09-18 09:04:33 -05:00
Raymond Wanyoike
c41632fad2 Add the key_name/value_name options to the dict2items filter (#45550)
* Add the key_name/value_name options to dict2items - as with items2dict, allow users to configure the key/value name for dict2items, add "version added" and examples
2018-09-17 15:53:52 -05:00
zharalim
8526f63255 Enhance the note about fileglob being local (#45398)
Made the note clearer and instructed to use find module for remote operations.
Relating to #34497
2018-09-17 16:00:41 -04:00
Nathaniel Case
52c20bbd3f
Update from napalm PR (#45743) 2018-09-17 15:39:07 -04:00
Dag Wieers
a7a99c5fd4 reboot: Fix typo and support bare Linux systems (#45607)
* reboot: Fix typo and support bare Linux systems

This fixes a problem for bare Linux systems that do not support 'who -b' or 'uptime -s'.

* Accumulate stdout and stderr information
2018-09-17 14:04:03 -04:00
Nathaniel Case
21ff9c6a4a
Add initial napalm connection plugin (#45224)
* Add initial napalm connection plugin

* Fix review comments
2018-09-17 12:53:57 -04:00
Nathaniel Case
917fcb9c55
These won't get upgraded to bool if ansible doesn't know they are (#45736) 2018-09-17 11:34:57 -04:00
Rémy Léone
66f03827d6 Add a netbox dynamic inventory plugin (#45347) 2018-09-16 15:13:56 +01:00
Martin Krizek
d383d87b22 include_vars: fix checking for a string in ignore_files 2018-09-14 11:18:00 -04:00
Matt Martz
e68f895e61
Support empty files with piped transfer_method. Fixes #45426 (#45618) 2018-09-13 13:53:36 -05:00
Anton Nikulin
b7263eab1d Store Authorization header inside HttpApi connection plugin (#45598) 2018-09-13 19:34:30 +05:30
tterranigma
cc477ec920 Update fileglob.py (#45558)
* Update fileglob.py

Closes #45557

* Update fileglob.py
2018-09-13 12:10:00 +10:00
Jordan Borean
d81249994e
win_script: add support for become and centralise exec wrapper builder (#45582)
* win_script: add support for become and centralise exec wrapper builder

* satisfying the pep8 gods

* do not scan for module dependencies when running as a script
2018-09-13 08:50:13 +10:00
Brian Coca
1ed57f1f64 moving from with_ff to just ff (#44847) 2018-09-12 15:35:04 -04:00
thetuxkeeper
11cfa96797 fixing bytes <-> str regexp issue in cloudengine (#45285) 2018-09-12 09:59:42 -04:00
abirami-n
06fd9820a3 Fixes handling of terminal_initial_prompt on dellos6 and dellos9 devices (#45273)
* Fix terminal initial prompt on dellos6 and dellos9

* Fix_pylint
2018-09-12 19:28:32 +05:30
Nathaniel Case
eaf01d321f
eos: Don't error on VLAN missing warning (#45433) 2018-09-12 09:55:23 -04:00
Nathaniel Case
b22b07e300 Fixup network connection documentation (#45487)
* Fixup network connection documentation similar to suggestions in #45224

* Another tpyo
2018-09-11 14:23:38 -04:00
Matt Martz
0015d4cef3
2.8 Core Deprecation Removal (#45232)
* Remove deprecated ansible.vars.unsafe_proxy. Fixes #45040

* Remove deprecated validate_md5 alias from fetch module. Fixes #45039

* Remove deprecated private arg from import/include_role. Fixes #45038

* All include deprecations bumped to 2.12. Fixes #45037

* Add changelog for deprecated removals
2018-09-10 15:05:52 -05:00
Matt Martz
263b9fade8
Don't pass file_name to DataLoader.load in script inventory plugin (#45428)
* Don't pass file_name to DataLoader.load in script inventory plugin. Fixes #34164

* Add changelog fragment
2018-09-10 14:37:18 -05:00
Jon Dufresne
ef67d4074b Prefer io.BytesIO over six; available on all supported Pythons (#45388)
On all supported Pythons, the io.BytesIO is always a stream
implementation using an in-memory bytes buffer. Makes code slightly more
forward compatible by reducing use of the six module.
2018-09-10 15:19:16 -04:00
Richard Schwab
97fcc3ef66 Correct version_added for strategy host_pinned (#45333) 2018-09-07 09:15:46 +02:00
Ian Wienand
c34e0f5e11 plugins/callbacks : fix some key documentation (#45267)
These are supposed to be a dictionary with section/key entries;
correct a few typos.
2018-09-06 15:38:25 -04:00
Ganesh Nalawade
a3c137c1ab
Fix diff_ignore_lines option issue for candidate configuration (#45201)
* Fix diff_ignore_lines option issue for candidate configuration

*  diff_ignore_lines option is to handle the running config fetch from
   remote host and ignore the lines that are auto updated eg: commit time and date
*  This option should not be used while processing candidate (input) configuration

* Fix review comment
2018-09-06 23:54:56 +05:30
Trishna Guha
c98494d5bf
fix python26 nxos terminal plugin bug (#45271)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-09-06 16:15:01 +05:30
Brian Coca
9a6530be77 clarify free strategy (#44645)
* clarify free strategy
* wordsmithing
* shorten line per Shippable
2018-09-05 20:24:37 -05:00
Bob Lee
9a1191cbe5 Update documentation for gcp_compute (#43791)
Added examples on how to use "keyed_groups", "hostnames", and "compose"

The compose example shows how to set the ansible_host var for a host to either the public or private ip. This is necessary when you set your hostname by name instead of ip
2018-09-05 13:45:56 -05:00
Ted Timmons
86341f7520 docfix, python-netaddr should be netaddr (#43372)
"python-netaddr" is an OS package, but "netaddr" is the pypi package needed in python. Suggesting OS packages for python libs seems in bad form. I like the syntax "python's netaddr" to explain what package manager would have it.
2018-09-05 13:42:51 -05:00
abirami-n
3601c74971 enable_netconf_support_on_dellos10 (#44816) 2018-09-05 19:16:01 +05:30
characteristic
324b57d6ae Correct Jinja2 plugin math filter symmetric_difference() to not repeatedly (#45093)
build its intersection set and unnecessarily unique the final result.

The prior use of the intersect() function within the list comprehension
conditional leads to the function being called for every value in the input
list being processed, not efficient.  When the input lists a,b are large,
the Ansible run time and resource utilization wildly increases generally
never completing the operation.

Unique of the intersection result is unnecessary as the source list union()
is already unique.
2018-09-04 09:12:02 -04:00
Trishna Guha
ab3cd10dfe
fix Python 2.6 regex bug terminal plugin nxos, iosxr (#45135)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
2018-09-04 13:44:43 +05:30
Ganesh Nalawade
455dfbe732
Fix netconf module and plugin issues (#45140)
* Fix netconf netconf issues

*  Identifier is optional for get_schema api
*  Fix dispatch api mandatory argument check
*  Add save option handling to copy config from target datastore
   to startup datastore if supported
*  Validate config in check-mode or if validate option set to true

* Copy config if check-mode is not enabled
2018-09-04 13:23:18 +05:30
linnil1
177fbea351 Fix sshkeyfilename is None not str (#44893) 2018-09-04 11:59:08 +05:30
Rémy Léone
f465a251e1 Add a dynamic inventory plugin for Online (#44720) 2018-09-03 02:33:15 -04:00