Commit Graph

428 Commits (78e9f452a5bb9d2c8b1d1ae9bdaa3bd86e1b972b)

Author SHA1 Message Date
Nathaniel Case 90770a290f Don't rewrite remote paths when remote is secretly local (#40259)
* Don't rewrite remote paths when remote is secretly local

* Remote overriding is configurable in connection

* Use c.DEFAULT_LOCAL_TMP instead of remote_tmp

* Remove remote_is_local from ConnectionBase

* remote_is_local->_remote_is_local

* Add warning signs to _remote_is_local and explanatory comments to its use
2018-05-17 23:21:30 +01:00
Ricardo Carrillo Cruz 5ae77337a1
Rename persistent_connection_timeout to connect_timeout in INI section (#40260) 2018-05-16 19:01:24 +02:00
Ricardo Carrillo Cruz 62e1c14edc
Pull persistent connection parameters via get_option (#39367)
* WIP Pull persistent connection parameters via get_option

* Fix pep8

* Add use_persistent_connection setting to paramiko_ssh plugin

* Add vars section to persistent_command_timeout setting and prevail provider values over config manager

* Use persistent_command_timeout on network_cli instead of timeout

* Fix unit tests

If we don't call loader to get network_cli, then _load_name is never
set and we get KeyError.

* Pull persistent_command_timeout via config  manager for ios connection local

* Pull persistent_command_timeout via config manager on connection local
2018-05-16 14:59:01 +02:00
Stephan Lohse 1e4c389268 allow become methods for Jail connection plugin (#31746)
* allow become methods

- i personally tested 'su', 'sudo' and 'doas'

* forgot to import constants m(
2018-05-07 21:30:24 -04:00
Brian Coca 70d89b5487 use actual ssh executable as it might not be ssh 2018-05-02 12:10:25 -04:00
Jordan Borean 04ae0c3312
winrm: removed old exec_command that is no longer used (#39572) 2018-05-02 07:04:53 +10:00
jctanner bbfe7a8b2f
more debug logs for free, network_cli, paramiko and add hostname context to debugging messages (#39205)
* Add hostname context to debugging messages
* Set paramiko's channel
2018-04-26 17:10:28 -04:00
Ganesh Nalawade 354454ad58
Fix aruba initial prompt issue (#39195)
Fixes #33414

Issue a newline when the initial connection
results in a prompt and expects user input.
2018-04-26 11:06:27 +05:30
Toshio Kuratomi 0b643009db Winrm encoding in exception fix (#39333)
Exceptions need to use native strings.  We need to make sure we're
combining native strings with native strings.
2018-04-26 07:51:53 +10:00
Brian Coca 4aac0f5f18
allow configuring sftp/scp executables (#36648)
* allow configuring sftp/scp executables

fixes #36616


also removed dupe test
2018-04-23 18:36:35 -04:00
Brian Coca cc1c7c63db
ensure 'home' translations (#36755)
* ensure 'home' translations

* removed slash as it created issues on diff plats
2018-04-11 11:53:05 -04:00
Brian Coca 42912e1ac8 minimize loading files/plugins
avoids some repetitive loading
 - read config file only once
 - now cache the ini parser per file
 - optimize shell plugin loading

tried to 'optimize' vars_plugins loading but it creates issues with precedence,
probalby due to iterator not being reset, will look into it in subsequent fix/PR
2018-04-10 17:22:31 -04:00
Jordan Borean 22f2388ef1 winrm: added flag handler for kinit to request forwardable ticket when delegation is set (#37815) 2018-04-09 18:00:19 -07:00
Nathaniel Case e05cad785e
Fall back to ValueError if JSONDecodeError is not available (#38276) 2018-04-06 16:28:39 -04:00
John R Barker a4e932ee9f ansible_ssh_pass is the ENV variable (#38035)
* ansible_ssh_pass is the ENV variable

* ansible_ssh_pass then ansible_password

* priority is top(lower)->bottom(higher)
2018-04-04 07:45:57 -06:00
Peter Sprygada 91a748e33b fixes issue when netconf would report ios is not supported (#38155)
* fixes issue when netconf would report ios is not supported

This change now will map ansible_network_os=ios to the correct netconf
plugin implementation.  This will resolve an error where the netconf
connection plugin will report that ios is unsupported.
2018-04-03 17:01:59 -04:00
Nathaniel Case 169209c32a
Put back $PATH checking in ansible-connection call (#37933) 2018-03-26 12:49:30 -04:00
Nathaniel Case 594840c1d6
Close & remove paramiko connection where appropriate (#37528)
* Close & remove paramiko connection where appropriate

* Update unit test
2018-03-16 13:28:04 -04:00
Dag Wieers cdd21e2170
Clean up module documentation (#36909)
* Clean up module documentation

This PR includes:
- Removal of `default: None` (and variations)
- Removal of `required: false`
- Fixing booleans and `type: bool` where required

* Fix remaining (new) validation issues
2018-03-15 22:15:24 +01:00
bdowling 0fee332643 Added missing store regex pattern for prompt found after error (#35820) 2018-03-07 09:35:35 -05:00
Nathaniel Case 0feea66988
Move _start_connection() to module_utils/connection and fix Popen() call (#36249)
* Fix Popen() call to use ansible python

* Remove PATH searching, reuse location of ansible instead
2018-03-05 09:12:01 -05:00
Ganesh Nalawade b12e90311f
map network_os to ncclient device_params (#36819)
* map network_os to ncclient device_params

Fixes #36786

* update device map

* Add default netconf fallback plugin
2018-03-01 22:23:14 +05:30
Luca Berruti f0ea2b60e1 Fix: global name 'HAS_IPADDRESS' is not defined. 2018-02-05 06:41:12 -08:00
Nathaniel Case e8755175d7
Fix paramiko connections to hosts with uppercase characters (#35555) 2018-02-02 10:08:40 -05:00
Kedar Kekan 684e953b50 * adds commit replace with config file for iosxr (#35564)
* * adds commit replace with config file for iosxr
* fixes dci failure in iosxr_logging

* * review comment changes
2018-02-01 14:15:32 +00:00
Ganesh Nalawade 9aadd8704a
Handle multiple sub prompts for network_cli connection (#35361)
* Handle multiple sub prompts for network_cli connection

Fixes #35349

*  Check if the same prompt is repeated in consecutive window
   if it is repeated it indicates there is problem with answer
   provided
*  In that case report error to user

* Fix CI failure

* Fixes #35349

*  Add prompt_retry count to control max number of times
   to expect the same prompt before it error's out

*  Make required changes in ios and eos terminal plugin to handle
   wrong enable password correctly and return proper error
   message to user.

*  Check if the same prompt is repeated in consecutive window
   if it is repeated it indicates there is the problem with an answer
   provided

*  In that case report error to user
2018-01-31 18:33:23 +05:30
Ganesh Nalawade 90cd87f950
Fix debug logs failing with persistent connection (#33049)
* Fix debug logs failing with persistent connection

Fixes #33047

*  As debug logs are written on stdout, it interrupts
   the communication between ansible-connection(background)
   process and main process. To avoid this add a string similar
   to exactly identify the response string.

*  Remove unwanted code in ansible-connection

*  Fix review comments

* Fix spurious log emitted on ansible-connection stdout issue

*  ansible-connection which runs as a background process sends a
   json string (contains response received from remote device)
   to foreground ansible-playbook process over stdout.

*  If in case debug flag is enabled the connection_loader api
   invoked from ansible-connection `ssh = connection_loader.get('ssh', class_only=True)`
   results in emitting debug logs on stdout. This  spurious log
   interfere with the actual response and results in failure while
   reading json string in ansible-playbook process

* To avoid this save stdout of ansible-connection and redirect it string
  buffer to accumulate all the logs emitted by core API's

* Add these logs in `result['messages']` which is send a json string after reinstating saved stdout

*  Remove unwanted code in ansible-connection

* Fix review comment
2018-01-25 02:48:45 +05:30
Peter Sprygada b4fa68555d adds support for using connection=netconf (#33400)
* adds support for using connection=netconf

This change updates the module to provide support for using
connection=netconf instead of connection=local.  If connection=netconf
is used, then the various connection arguments will be silently ignored.

* adds netconf plugin default

This adds a default implementation for netconf plugins if the network_os
is not specified.  The default plugin will implement only the standard
netconf rpcs

* fix up pep8 issues
2018-01-24 21:48:41 +05:30
bdowling 3b98a2981c Fix enable subprompt (#34723)
* Look for password prompts at the beginning of the line only

* Adds secondary checks for the supplied sub-prompts

Handles the case for enable prompts where enable_pass may be incorrect
and the deivce is still prompting for the password
2018-01-24 07:24:22 -07:00
Chris Houseknecht a0bb193598
Add K8s inventory plugin (#34920) 2018-01-20 08:50:01 -05:00
Matt Martz 29c1d5cb5d Ensure that the become password is written on py3 in the ssh connection plugin. Fixes #34727 2018-01-18 09:32:22 -08:00
Jordan Borean f0134079e3
win_script: work when argument exceeds stdin buffer size (#33855)
* win_script: work when argument exceeds stdin buffer size

* Added test for large argument being passed
2018-01-18 11:28:33 +10:00
Brian Coca bbd6b8bb42 Temporary (#31677)
* allow shells to have per host options, remote_tmp

added language to shell
removed module lang setting from general as  plugins have it now
use get to avoid bad powershell plugin
more resilient tmp discovery, fall back to `pwd`
add shell to docs
fixed options for when frags are only options
added shell set ops in t_e and fixed option frags
normalize tmp dir usag4e

- pass tmpdir/tmp/temp options as env var to commands, making it default for tempfile
- adjusted ansiballz tmpdir
- default local tempfile usage to the configured local tmp
- set env temp in action

add options to powershell
shift temporary to internal envvar/params
ensure tempdir is set if we pass var
ensure basic and url use expected tempdir
ensure localhost uses local tmp
give /var/tmp priority, less perms issues
more consistent tempfile mgmt for ansiballz
made async_dir configurable
better action handling, allow for finally rm tmp
fixed tmp issue and no more tempdir in ballz
hostvarize world readable and admin users
always set shell tempdir
added comment to discourage use of exception/flow control

* Mostly revert expand_user as it's not quite working.

This was an additional feature anyhow.

Kept the use of pwd as a fallback but moved it to a second ssh
connection.  This is not optimal but getting that to work in a single
ssh connection was part of the problem holding this up.

(cherry picked from commit 395b714120522f15e4c90a346f5e8e8d79213aca)

* fixed script and other action plugins

ensure tmpdir deletion
allow for connections that don't support new options (legacy, 3rd party)
fixed tests
2018-01-15 21:15:04 -08:00
Jordan Borean 9d9c117580 winrm scheme default behaviour (#34908) 2018-01-15 20:25:30 -05:00
Abhijeet Kasurde 3f4dfb2574 WinRM: fix format_exc call (#34233)
This fix adds correct call for format_exc in winrm plugin.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-01-11 08:43:22 -08:00
xuxinkun ca4eb07f46 Adds kubectl and oc connection plugins (#26668) 2018-01-10 22:51:45 -05:00
Matt Clay 797664d9cb Python 2.6 `str.format()` compatibility fixes. 2018-01-10 14:08:11 -08:00
Matt Martz 03794864c2
Fix piped transfer with become (#34584)
* Ignore become if we shouldn't be sudoable

* More explicit passing of kwargs

* dd/piped put should be sudoable=False. Fixes #34523
2018-01-09 09:32:27 -06:00
Peter Sprygada 1183029591 update DOCUMENTATION for network_cli and netconf (#33396)
* update DOCUMENTATION for network_cli and netconf

This updates the DOCUMENTATION string for both the netconf and
network_cli connection plugin.

* add additional options to the connection documentation

* update documentation based on review and feedback

* adds persistent connection options to documentation string
2018-01-03 15:10:35 -05:00
Jordan Borean 57ed6a866f windows: Add IPv6 address support and docs to go with it (#34072)
* windows: Add IPv6 address support and docs to go with it

* minor docs fix

* fixed some doc sentances
2018-01-03 09:26:53 -08:00
Nathaniel Case cb1b705218
ios integration tests to network_cli (#33920)
* Preliminary steps

* Fix Python3 network_cli ios

* Add connection to debug strings

* Fix ios confirm prompt by way of optional newline

Also update ios_user delete tests
2017-12-20 09:03:29 -05:00
Jordan Borean 92e52ef515 winrm: attempting to get kerb auth to work on MacOS (#33795)
* winrm: attempting to get kerb auth to work on MacOS

* moved to use pexpect if possible as it is simpler

* Made the pexpect event more lenient around different localisations
2017-12-18 18:49:21 -05:00
Ganesh Nalawade 2f932d8767
Add parent pid to persistent connection socket path hash (#33518)
* Add parent pid to persistent connection socket path hash

Fixes #33192

*  Add parent pid in persistent connection socket path hash
   to avoid using same socket path for multiple simultaneous
   connection to same remote host.

* Ensure unique persistent socket path for each ansible-playbook run

* Fix CI failures
2017-12-15 10:21:56 +05:30
Nathaniel Case 67a8ff47aa
Promote get_prompt to live in network_cli instead of cliconf (#33880)
This removes the immediate need for a cliconf plugin to use network_cli
2017-12-14 09:51:41 -05:00
XuXinkun 7229eba569 use `docker exec` in case `docker cp` failed. (#26571) 2017-12-13 15:30:30 -06:00
bdowling 5b6ba8cbfd Minor spelling fix (#33822) 2017-12-12 23:13:27 +01:00
Alex Ratner 7dac82e2e2 typo fix (#33810)
typo fix in description
2017-12-12 12:25:53 +00:00
Jordan Borean 6e4c690a37
Fix fetch when retrieving a file with a multiple of the buffer size (#33697)
* Fix fetch when retrieving a file with a multiple of the buffer size

* fixed sanity issue
2017-12-12 14:56:21 +10:00
Peter Sprygada 1699a39ad0 fixes guess_os for netconf connections (#33671)
* fixes guess_os for netconf connections

This change fixes invalid calls to play_context when the network_os is
not set and the connection attempts to guess the network_os.  The method
will now check the correct values for ssh key file and allow agent
instead of returning errors.

* fix up pep8 issues
2017-12-07 20:17:41 +05:30
John R Barker 4d67cdd1f7
Use module formatting (#33413) 2017-12-07 14:26:52 +00:00
Alexandre Garnier b4e6028ee7 Fix documentation description of `remote_addr` for docker connection plugin (#33520) 2017-12-07 07:41:33 +10:00
Ganesh Nalawade 399e72abb0
Fix reconstructing socket path in network_cli (#33572)
*  Persistent connection socket path is hash of
   remote address, port, remote user and connection
   type.

*  Integration test fixes
2017-12-05 15:11:49 +05:30
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
2017-12-05 10:33:28 +10:00
Ganesh Nalawade fe702b48a5
Fix network_cli connection issue (#33420)
*  Copy play_context in network_cli connection class
2017-12-01 10:13:07 +05:30
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
2017-11-30 20:47:05 +05:30
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
2017-11-28 16:28:58 -05:00
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
2017-11-28 12:00:22 -05:00
Kedar K e65ef09aa9 - Fix authentication failure with paramiko when using password mode (#33303)
- break out of loop when paramiko stream is closed
2017-11-27 14:17:17 +01:00
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
2017-11-24 12:04:47 +05:30
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
2017-11-22 11:19:43 -05:00
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.
2017-11-22 15:30:06 +00:00
Matt Clay e45c763b64 Fix invalid string escape sequences. 2017-11-21 10:03:34 -08:00
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
2017-11-20 16:01:22 -08:00
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
2017-11-17 13:09:02 -05:00
Nathaniel Case 71a6dcdf3e
Fixes eos sending 'None' to device (#33015)
* Fix network_cli sometimes sending 'None' to device

* Also fix `--become-method=enable`
2017-11-17 11:33:54 -05:00
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
2017-11-16 13:49:57 -05:00
Ganesh Nalawade 52c87c4691
Fix typo in network_cli to fetch command prompt (#32899) 2017-11-15 09:06:28 +05:30
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
2017-11-14 15:51:14 -05:00
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
2017-11-13 14:24:13 -05:00
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
2017-11-09 15:04:40 -05:00
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
2017-11-01 19:38:19 +05:30
James Tanner ded0b6ed83 Change the ssh+sudo debug messages to vvv for easier troubleshooting in awx+tower 2017-10-30 10:41:50 -04:00
Brian Coca 101377768b remove unused ssh pipelining setters
fixes #31125
2017-10-03 09:22:01 -04:00
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
2017-09-29 11:12:56 +10:00
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.
2017-09-18 23:20:32 -07:00
Brian Coca ae29245e05 decelerate! (#30160)
removed accelerate code
removed keyczar dep for accelerate
2017-09-16 23:35:50 -04:00
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
2017-09-13 01:53:08 -07:00
Matt Clay 68aeaa58a8 Fix dangerous default args. (#29839) 2017-09-12 00:11:13 -07:00
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.
2017-09-11 18:34:09 -07:00
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
2017-09-11 14:00:01 -07:00
Toshio Kuratomi 3277e6328b Define byte strings versus text strings in docker connection
Fixes python3 string handling in the docker connection plugin

Fixes #24776
2017-09-11 09:55:09 -07:00
Matt Martz d043ba2673 Create a new pipe for sshpass on retries. Fixes #29095 2017-09-11 08:49:15 -07:00
Tomas Tomecek 0274835add conn,buildah: don't pass bytes to shlex.split (#27896)
* conn,buildah: don't pass bytes to shlex.split on python3
2017-09-09 17:40:07 -07:00
Pierre Guinoiseau 436b173b24 Fix py3 string issue in jail connection plugin (take 2) (#28374)
* Fix py3 string issue in jail connection plugin
2017-09-09 11:52:42 -07:00
Matt Clay 4de6076d78 Fix pylint issue. 2017-09-09 10:45:39 -07:00
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
2017-09-09 09:48:22 -07:00
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
2017-08-26 01:16:40 +02:00
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
2017-08-23 18:28:44 -04:00
Ganesh Nalawade 5d1d1a72c5 Fix junos integration test failure (#28491)
Pass ssh_config value to ncclient manager api as None
if it is not set.
2017-08-22 07:25:19 -04:00
Gaige B Paulsen 54c50cc983 netconfig module updated to pay attention to .ssh/config (#23876) 2017-08-18 12:04:30 -06:00
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
2017-08-15 16:38:59 -04:00
Nathaniel Case 20a35d0c1c Fix python3 str <-> bytes in connection/persistent.py (#28224) 2017-08-15 11:36:20 -04:00
Ganesh Nalawade c9b2869f06 Add regex to retrieve socket path (#28181) 2017-08-15 00:17:20 +05:30
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
2017-08-14 08:08:00 -07:00
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
2017-08-09 09:43:04 -04:00
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
2017-08-01 14:59:52 -07:00
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.
2017-08-01 19:32:25 +05:30
Jordan Borean 1517db06c5 fix to alllow the winrm plugin to send input with Python 3 (#27474) 2017-07-31 18:35:05 -07:00
Toshio Kuratomi 225fa5d092 Fix undefined variables, basestring usage, and some associated python3 issues 2017-07-25 15:58:23 -07:00
Toshio Kuratomi 007a3b9c9b Don't need to convert cmd to bytes as it is already an array of bytes
Fixes #27016
2017-07-21 11:55:43 -04:00