jctanner
2a9fcdd87c
Merge pull request #6711 from j2sol/raw-unreachable
...
Treat 255 errors from raw as dark host
2014-04-03 11:16:54 -04:00
jctanner
f6db60cbce
Merge pull request #6787 from tyll/pull_ssh_prompt
...
ssh: propagate prompt to _communicate()
2014-04-03 09:55:17 -04:00
BoscoMW
39fcbd1f10
Update ssh.py
2014-04-02 15:57:54 +03:00
BoscoMW
165406cf35
Catch permissions errors related to opening a known_hosts file
...
Catch permissions errors related to opening a known_hosts file
2014-04-02 13:42:07 +03:00
Till Maas
e6cb32f284
ssh connection plugin: Make comments more verbose
...
Explain _communicate() more.
2014-04-01 09:46:51 +02:00
Till Maas
1da69309e5
ssh connection plugin: Report missing sudo password
...
If no password is provided, sudo hangs at the prompt. Identify this and
report that the password is missing as an error.
2014-04-01 09:36:59 +02:00
Till Maas
2cae7472ad
ssh: propagate prompt to _communicate()
...
_communicate() uses the prompt variable to detect wrong passwords early,
therefore it needs to be passed to it from exec_command().
2014-04-01 09:24:44 +02:00
Till Maas
b07113f358
ssh: Properly check for wrong su password
2014-03-31 15:51:12 +02:00
Jesse Keating
3315ba0b99
Treat 255 errors from raw as dark host
...
Any other module is able to detect a dark host, but raw was treating 255
as a return code from the module execution, rather from the connection
attempt. This change allows 255 to be treated as a connection failure
when using the raw module.
2014-03-26 16:40:50 -07:00
James Tanner
88462729aa
Addresses #6708 fill in missing keywords for ssh.py _communicate
2014-03-26 15:55:54 -04:00
Matt Martz
b8cb23d309
Share p.communicate alternative logic between exec_command and put_file
2014-03-26 13:41:33 -05:00
James Cammarata
31628d86a1
Adding in a configurable option for the accelerate daemon timeout
...
This was apparently an oversite, as it has never been configurable
despite having a module parameter for the timeout.
2014-03-23 14:45:49 -05:00
James Cammarata
3ea5d573aa
Acclerate improvements
...
* Added capability to support multiple keys, so clients from different
machines can connect to a single daemon instance
* Any activity on the daemon will cause the timeout to extend, so that the
daemon must be idle for the full number of minutes before it will auto-
shutdown
* Various other small fixes to remove some redundancy
Fixes #5171
2014-03-23 14:45:49 -05:00
James Cammarata
c9fcbf7bdd
Change print message to vvv for missing known hosts in ssh.py
2014-03-18 12:26:10 -05:00
Cristian Ciupitu
0749112286
Micro-optimization: replace s.find(x)!=-1 with x in s
...
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-16 13:10:28 -04:00
brdo
3963a64a4f
Set keepalive to 5 seconds in paramiko_ssh.py
...
This update resolves https://github.com/ansible/ansible/issues/6476 .
2014-03-15 11:18:47 -07:00
James Tanner
e4e64a9699
Rename lxc to libvirt_lxc
2014-03-11 16:16:24 -04:00
James Cammarata
bca6adc812
Merge pull request #4064 from mscherer/lxc
...
Add a plugin that permit to use ansible for lxc system, using libvirt
2014-03-11 15:12:51 -05:00
Richard Isaacson
92aacb198c
Merge pull request #6156 from iiordanov/devel
...
Add support for checking host against global known host files.
The effect of this is that before this fix if files are spread across the known_hosts file but not in the ~/known_hosts file the hosts will execute sequentially. This PR augments the functionality so that all of the knowns hosts will execute in parallel.
2014-03-03 23:51:51 -06:00
Michael DeHaan
33857855ad
removing some unusued files. Paramiko alt was an experiment to attempt pipeline for paramiko, ssh_old is the non-pipelining-supported earlier
...
version of the OpenSSH transport, which is configurable now and unified.
2014-02-26 11:26:52 -05:00
Iordan Iordanov
a1854bb762
Add support for checking host against global known host files.
2014-02-24 16:05:03 -05:00
James Cammarata
f29ce80d12
Default port to 22 for paramiko when it is unset
2014-02-18 09:53:24 -06:00
Luca Berruti
75b7a1d9c7
Fix slow ssh
...
We break the read while loop after waiting "the end of the process" and
the pipes are empty, otherwise we do another select that waits all the
timeout.
2014-02-05 09:45:03 +01:00
James Tanner
e6aeb191d5
Revert "Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh"
...
This reverts commit fe091ec00d
, reversing
changes made to aed2194b1d
.
2014-01-30 16:02:05 -05:00
James Cammarata
9574f89471
Detect remote_user change in accelerate daemon and allow a restart
...
Fixes #5812
2014-01-30 14:40:41 -06:00
Heikki Hokkanen
b6875b3b87
Fix .ssh/known_hosts path expansion.
...
In particular, do not rely on the $USER environment variable always existing.
tmux for example seems to clear it, causing lots of invalid messages:
"previous known host file not found"
This broke in commit 80fd22dc
, but instead of reverting that commit, we now
fall back to expanding just ~ when $USER is not set.
2014-01-28 15:11:44 -06:00
James Tanner
fe091ec00d
Merge branch 'slow_ssh' of git://github.com/lberruti/ansible into lberruti-slow_ssh
2014-01-28 13:06:07 -05:00
Paul Durivage
f72f5a20df
Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
...
This reverts commit c17d0e0357
.
Conflicts:
lib/ansible/runner/connection_plugins/paramiko_ssh.py
2014-01-20 19:19:03 -06:00
Paul Durivage
4c84ba74b0
Resolve su bug in paramiko libs
2014-01-20 19:16:37 -06:00
James Tanner
c17d0e0357
Revert "Merge pull request #5325 from angstwad/add-su-support"
...
This reverts commit 6f4bfa2cff
, reversing
changes made to c91ba3a7c7
.
2014-01-20 16:10:11 -05:00
Paul Durivage
d21281ff43
Resolve rebase conflicts
2014-01-20 11:46:05 -06:00
Paul Durivage
ab6ee1a282
Enable su support in paramkio; disable su support in fireball, local, accelerate, chroot, jail, funcd connection plugins
2014-01-20 11:25:10 -06:00
Paul Durivage
4088243deb
Proposing fix for Issue #4324 ; adding support for su in connection plugins ssh, ssh_alt
...
Fixes for ssh_alt support, adding in references to in_data where appropriate
2014-01-20 11:25:10 -06:00
James Cammarata
233aae5861
Reverting paramiko_ssh/alt changes from yesterday
2014-01-16 09:45:28 -06:00
James Cammarata
df13b19fe1
Moving {ssh,paramiko}_alt connection types to be the defaults
...
The previous implementations will be kept for now as _old
2014-01-15 16:03:18 -06:00
James Cammarata
c27db84e41
Adding paramiko_alt - pipelining support for paramiko connections
2014-01-15 16:03:17 -06:00
Luca Berruti
ae543eecab
Simplified p.poll handling
2014-01-10 11:34:21 +01:00
James Tanner
c408bcea31
Update sshpass hostkey error message
2014-01-08 17:25:50 -05:00
James Tanner
0b64408f5a
Fixes #5531 Give the user a better error message when sshpass does not know the remote hostkey
2014-01-08 16:50:40 -05:00
jeromew
b2cd4a62de
fix issue #5372 on ssh_alt: accept -K option even for a user with NOPASSWD
2013-12-31 14:29:46 -05:00
jeromew
e4a3f49fa2
ssh_alt - only trigger 'fatal' when returncode == 255 (interpreted as 'could no connect')
2013-12-17 11:42:00 -05:00
jeromew
5c965a75f0
ssh_alt.py / decrease # of ssh roundtrips
2013-12-13 14:23:40 -05:00
Jesse Keating
8cef210aea
Make sure ssh pipes are empty before moving on
...
Resolves issue #5082
Code as it was would hit a scenario where one of the FDs was not ready for
reading the first time through -- but p.poll() would show the process as
complete. This would cause ansible to continue on, while leaving some content
left in a pipe.
The other scenario -- the one that causes the unclosed quote, is if we go
through select.select() and we do get stdout in the ready for reading -- we
read from it (9000 bytes), but that's not all that is there. Again we'd get to
the p.poll() check and it would be indeed not none, but we would have left some
of stdout on the FD and thus the json blob would be malformed.
Tested with and without full ssh debugging.
Tested with and without ControlPersist
Tested with and without ControlPersist sockets already created
2013-12-11 21:32:37 -08:00
Michael DeHaan
74e4ccb59b
Revert "ssh_alt.py / decrease # of ssh roundtrips"
...
This reverts commit 7f8863f96d
.
2013-12-10 19:23:52 -05:00
jeromew
7f8863f96d
ssh_alt.py / decrease # of ssh roundtrips
2013-12-10 06:00:21 -05:00
jeromew
db182ba498
copy ssh.py to ssh_alt.py
2013-12-09 14:11:29 -05:00
Jesse Keating
5522d489e3
Avoid a traceback when using accelerate
...
This bit of code is attempting to access accelerate_inventory_host,
which may not have been set/created. This will cause a traceback.
Instead use getattr with a fallback to False.
2013-11-27 13:58:11 -08:00
James Tanner
bca2634d54
Fix missing eval for string search in ssh controlpersist
2013-11-22 12:22:53 -05:00
James Tanner
a16fe923ed
Addresses #5011 check for proper string in smartos ssh error output
2013-11-22 12:13:24 -05:00
jctanner
68afd9da9f
Merge pull request #4866 from sergevanginderachter/known_hosts_sudo
...
Check real user's known_hosts when sudo ansible...
2013-11-19 12:13:24 -08:00
Matt Haggard
389602b8dd
Merge pull request #4920 from iffy/ansible
...
Collect all stdout over ssh transport before returning data
2013-11-18 15:09:21 -05:00
jctanner
77affdefbc
Merge pull request #4585 from mscherer/connec_func
...
connection plugin to reuse the func/certmaster interface instead of ssh
2013-11-14 08:15:17 -08:00
Serge van Ginderachter
80fd22dce6
Check real user's known_hosts when sudo ansible...
...
closes #4834
2013-11-09 13:29:39 +01:00
jctanner
8d9b53b445
Merge pull request #4733 from sivel/4323-sudo-pass
...
Add ansible_sudo_pass hostvar support. Fixes #4323
2013-11-05 15:01:19 -08:00
James Tanner
c1ed47933b
Fixes #4485 add an ipv6 parameter to accelerate so that the daemon will bind to an ipv6 port instead of ipv4
2013-11-04 17:20:03 -05:00
Matt Martz
ea2ec6237a
Add ansible_sudo_pass hostvar support
2013-10-30 13:18:35 -05:00
James Cammarata
b9dd514713
Minor fix for putting 0-length files over accelerated connections
...
Fixes #4652
2013-10-23 13:09:25 -07:00
Michael Scherer
af796d6556
connection plugin to reuse the func/certmaster interface instead of ssh
...
This plugin permit to use func to run playbook and ansible command instead
of ssh. It can be used for a smooth transition from func/taboot to ansible by
letting people use ansible without having to change their network architecture.
2013-10-19 00:32:59 +02:00
Michael DeHaan
65178290e7
Merge branch 'devel' of git://github.com/nextus/ansible into devel
...
Conflicts:
lib/ansible/constants.py
2013-10-07 08:39:23 -04:00
James Cammarata
d21714a37f
Fix for network byte order issues in accelerate
2013-10-02 15:37:15 -05:00
James Cammarata
fa80a17aa3
Make recv_data less greedy so it doesn't eat other packets
2013-10-01 16:50:32 -05:00
James Cammarata
12f6957596
Cleaning up some vvvv log messages in accelerate
2013-10-01 15:34:58 -05:00
James Cammarata
8c17711247
Removing accelerate_timeout as a playbook option
...
This will remain in ansible.cfg only.
2013-10-01 15:33:18 -05:00
James Cammarata
d317103371
Added in an accelerate connection timeout setting
2013-10-01 15:28:59 -05:00
James Cammarata
59a5ce23d9
Adding an accelerate_timeout parameter for plays
...
This setting makes the timeout for each play configurable, rather than
hard-coding it at 300 seconds (now the default if left unspecified)
Fixes #4162
2013-10-01 15:26:50 -05:00
James Cammarata
f9c87868ac
Added keepalive packets to accelerate mode
...
Commands will now be started up in a separate task from the main
handler thread, so that it can be monitored for completeness while
sending a keepalive packet back to the controller to avoid a socket
receive timeout.
2013-10-01 15:19:21 -05:00
James Cammarata
52a42bf607
Add more verbose debugging options for accelerate
2013-09-30 14:08:07 -05:00
James Cammarata
478c400817
Minor pep8 cleanup in the new jail connection plugin
2013-09-25 14:48:30 -05:00
James Cammarata
0e0595bdb2
Merge branch 'jail' of https://github.com/mscherer/ansible into mscherer-jail
2013-09-25 14:47:24 -05:00
bennojoy
70a9a797fa
Fix for accelerate when ansible_ssh_user is specified
2013-09-25 19:24:54 +05:30
nextus
ca96d74572
#4227 in upstream repo
2013-09-25 16:15:49 +04:00
James Cammarata
c840cbaad9
Merge branch 'fork_fixes' of https://github.com/akerl/ansible into akerl-fork_fixes
2013-09-19 10:37:45 -05:00
James Cammarata
d5b96abd80
Added support for -vvvv to enable ssh connection debugging
...
This patch also checks specifically for a return code of 255, which
indicates an unknown SSH error of some kind. When that happens, ansible
will now recommend running with -vvvv (if not enabled) or show the
output from 'ssh -vvv' (when it is enabled)
2013-09-19 05:58:54 -05:00
Brian Harring
5b1b831cc7
Make ssh's ControlPath configurable via ansible.cfg
...
This shouldn't generally be needed unless you're working in an environment
that uses rediculously long FQDNs; if the name is too long, you wind up
hitting unix domain socket filepath limits enforced by ssh.
2013-09-18 15:07:07 -04:00
Les Aker
98bf473cb2
fixes for PTY handling
2013-09-16 17:44:32 -04:00
James Cammarata
3848e02959
Merge branch 'issue4022' of https://github.com/sfromm/ansible into sfromm-issue4022
...
Conflicts:
lib/ansible/runner/connection_plugins/accelerate.py
2013-09-16 05:50:35 -05:00
James Cammarata
f4b3defcbf
Set sudo in accelerate commands correctly
...
Fixes #4111
2013-09-15 20:20:22 -05:00
Michael Scherer
5e1828a524
add jail module, based on lxc and chroot connexion plugin
2013-09-15 17:26:48 +02:00
Michael Scherer
dfb9d8c2fb
Add a plugin that permit to use ansible for lxc system, using libvirt
...
Using -c lxc and the domain name as hostname, this permit to manage a whole
range of container, provided they are managed and created by libvirtd.
2013-09-08 18:47:09 +01:00
James Cammarata
2a47f72139
Merge pull request #4049 from mscherer/fix_no_kerberos
...
Fix no kerberos
2013-09-06 07:10:10 -07:00
Michael Scherer
f489702973
Also add back gssapi-keyex
...
While this is not currently implemented in openssh as far as I know,
there is patch floating around on the web and this may land one day
upstream.
2013-09-06 10:40:34 +02:00
Keiichi Mori
17c39b94a3
support GSSAPIAuth back
...
GSSAPIAuthentication has not been supported
due to PreferredAuthentications trick ( 2bdba17a85
)
2013-09-06 10:40:25 +02:00
James Cammarata
20b0dc4abd
Check for an empty executable passed into the accelerate plugin
...
This was breaking at least the script module, so it would seem best
to check for it and set it to the default executable value
2013-09-05 15:11:26 -05:00
James Cammarata
f6e1bdabea
Ensure ports are set correctly in accelerate module
2013-09-05 09:52:10 -05:00
guersam
64db327411
Fix: raise correct error in accelerate mode
2013-09-05 15:10:45 +09:00
Stephen Fromm
d704b55860
Support using paramiko to set up accelerate connection
...
Adds original_transport attribute to Runner to track what the original
transport was before it is changed to 'accelerate'.
If using paramiko in original_transport, uses ParamikoConnection. If
not, falls back to SSHConnection like before.
2013-09-04 13:57:03 -07:00
James Cammarata
fff497a1ae
Make sure the accelerated port is set to a sane value
2013-09-04 15:52:39 -05:00
James Cammarata
cc21e5c90c
Adding hostvars to injected variables in accelerate ssh runner
...
Also some minor cleanup of some fb* variables and functions, which
were remnants of the old fireball2 name
Fixes #4021
2013-09-04 15:29:46 -05:00
James Cammarata
c0fecf87d1
Increase default socket timeout to 5 minutes
2013-09-04 09:47:40 -05:00
James Cammarata
2696135b3b
Display error during launch of accelerated daemon
...
* also minor tweak to the # of retries in the connection attempt
Fixes #4012
2013-09-03 12:28:32 -05:00
James Cammarata
53c2f4c1bb
Fix race condition on creating the temp directory for ControlPersist
...
Fixes #3943
2013-09-03 11:00:33 -05:00
James Cammarata
d69d5c294f
Renaming fireball2 as 'accelerate' and removing old references
2013-08-30 13:26:27 -05:00
James Cammarata
7d3ae9fc75
Fixing a few bugs related to fireball2
...
* ssh port not being picked up, always uses default of 22
* forgot to 'import time' in the fireball2 connection plugin
2013-08-28 19:27:18 -05:00
James Cammarata
af1dd7075f
Adding chunked file transfers to fireball2
2013-08-28 11:14:58 -05:00
James Cammarata
959138d00d
Added accelerate_port to plays, and made it configurable
2013-08-28 11:14:58 -05:00
James Cammarata
167f185092
Initial support for running gather_facts through fireball2
2013-08-28 11:14:58 -05:00
James Cammarata
b45342923c
Initial support for sudoable commands over fireball2
...
Caveats:
* requiretty must be disabled in the sudoers config
* asking for a password doesn't work yet, so any sudoers users must
be configured with NOPASSWD
* if not starting the daemon as root, the user running the daemon
must have sudoers entries to allow them to run the command as the
target sudo_user
2013-08-28 11:14:58 -05:00
James Cammarata
4b552457e7
Bail out correctly if socket.recv gets nothing (indicating a closed socket)
2013-08-28 11:14:58 -05:00
James Cammarata
86f01965cd
Fireball2 module will now launch in a proper tmp path
2013-08-28 11:14:58 -05:00
James Cammarata
521e14a3ad
Fireball2 mode working!
2013-08-28 11:14:58 -05:00