Hi guys,
I’ve been trying to use pipelining to make use of ControlPersist etc. - however - ansible is failing to run the play due to asking for the sudo password (?) which I already gave (I verified it works):
$ time ansible-playbook -i ./inventory --user ec2-user -b --ask-become-pass play.yml -vvvv
SUDO password:
PLAY [*********] ************************************************************
GATHERING FACTS ***************************************************************
<> ESTABLISH CONNECTION FOR USER: ec2-user
<hostnamegoeshere> REMOTE_MODULE setup
<hostnamegoeshere> EXEC ssh -C -vvv -F ssh_config -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ec2-user -o ConnectTimeout=10 hostnamegoeshere /bin/sh -c ‘sudo -k && sudo -H -S -p “[sudo via ansible, key=kayjxhclpvxspztayzfyvgilpiefprue] password: " -u root /bin/sh -c '”’“‘echo BECOME-SUCCESS-kayjxhclpvxspztayzfyvgilpiefprue; LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python’”‘"’’
fatal: [hostnamegoeshere] => ssh connection error while waiting for sudo password prompt
TASK: [debug msg=“hello there”] ***********************************************
FATAL: no hosts matched or all hosts have already failed – aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/vagrant/play.retry
hostnamegoeshere : ok=0 changed=0 unreachable=1 failed=0
real 0m16.008s
user 0m0.191s
sys 0m0.661s
$ cat ansible.cfg
[defaults]
host_key_checking = False
[ssh_connection]
pipelining = True
ssh_args = -F ssh_config
#control_path = %(directory)s/%%h-%%r
$ cat ~/.ssh/config
Host *
ControlMaster auto
ControlPath /tmp/.ssh-%r@%h:%p
ControlPersist 60
$ ssh -V
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
$ rpm -qa | grep openssh
openssh-clients-5.3p1-104.el6_6.1.x86_64
openssh-server-5.3p1-104.el6_6.1.x86_64
openssh-5.3p1-104.el6_6.1.x86_64
$cat play.yml