# Sudo tty/askpass related error with pipelining after upgrade from 1.9 to 2.0

**URL:** <https://forum.ansible.com/t/sudo-tty-askpass-related-error-with-pipelining-after-upgrade-from-1-9-to-2-0/20982>\
**Category:** Ansible Project\
**Created:** [March 24, 2016, 3:55pm UTC](https://forum.ansible.com/t/sudo-tty-askpass-related-error-with-pipelining-after-upgrade-from-1-9-to-2-0/20982 "2016-03-24T15:55:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![JK\_Laiho](https://avatars.discourse-cdn.com/v4/letter/j/3d9bf3/32.png) [@JK\_Laiho](https://forum.ansible.com/u/JK_Laiho)\
**Post date:** [March 24, 2016, 3:55pm UTC](https://forum.ansible.com/t/sudo-tty-askpass-related-error-with-pipelining-after-upgrade-from-1-9-to-2-0/20982/1 "2016-03-24T15:55:33Z")

</div>

A playbook that runs fine on Ansible 1.9.5 suddenly fails on 2.0 with the following error (sensitive details hidden):

$ **ansible-playbook deploy.yml -i inventory\_dev.py -vvvv**  
Using /Users/[…]/ansible.cfg as config file  
SUDO password:  
Loaded callback default of type stdout, v2.0  
3 plays in deploy.yml

PLAY \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
skipping: no hosts matched

PLAY \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
skipping: no hosts matched

PLAY \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK [setup] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
\<192.168.55.80\> ESTABLISH SSH CONNECTION FOR USER: XXXX  
\<192.168.55.80\> SSH: EXEC ssh -C -vvv -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=30m -o ‘ControlPath=~/.ansible/cp/ansible-ssh-%h-%p-%r’ -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=XXXX -o ConnectTimeout=10 XXX.XXX.XXX.XXX ‘/bin/sh -c ‘"’“‘sudo -i -p “[sudo via ansible, key=vcjmrsmghrskmmgswehtragyzgeuzrhl] password: " -u root /bin/sh -c '”’”’“'”‘"’“'”‘“'echo BECOME-SUCCESS-vcjmrsmghrskmmgswehtragyzgeuzrhl; /bin/sh -c '”’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“‘LANG=en\_US.UTF-8 LC\_ALL=en\_US.UTF-8 LC\_MESSAGES=en\_US.UTF-8 /usr/bin/python’”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’“'”‘"’‘"’“'”‘"’“'”‘"’“‘’”‘"’’  
fatal: [machinename]: FAILED! =\> {“changed”: false, “failed”: true, “invocation”: {“module\_name”: “setup”}, “module\_stderr”: “OpenSSH\_6.2p2, OSSLShim 0.9.8r 8 Dec 2011\ndebug1: Reading configuration data /Users/\*\*\*\*\*\*/.ssh/config\r\ndebug1: Reading configuration data /etc/ssh\_config\r\ndebug1: /etc/ssh\_config line 20: Applying options for \*\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O\_NONBLOCK\r\ndebug2: mux\_client\_hello\_exchange: master version 4\r\ndebug3: mux\_client\_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux\_client\_request\_session: entering\r\ndebug3: mux\_client\_request\_alive: entering\r\ndebug3: mux\_client\_request\_alive: done pid = 9949\r\ndebug3: mux\_client\_request\_session: session request sent\r\ndebug1: mux\_client\_request\_session: master session id: 2\r\nsudo: no tty present and no askpass program specified\ndebug3: mux\_client\_read\_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 1\r\n”, “module\_stdout”: “”, “msg”: “MODULE FAILURE”, “parsed”: false}

NO MORE HOSTS LEFT \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
to retry, use: --limit @deploy.retry

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
machinename : ok=0 changed=0 unreachable=0 failed=1

Here’s my ansible.cfg:

[defaults]  
remote\_user = \*\*\*\*\*\*  
sudo\_flags = -i  
vault\_password\_file = get\_vault\_pass.py

[ssh\_connection]  
ssh\_args = -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=30m -o ControlPath=~/.ansible/cp/ansible-ssh-%h-%p-%r  
pipelining = True

[privilege\_escalation]  
become = True  
become\_ask\_pass = True

If I take out “pipelining = True”, the playbook runs fine on 2.0 as well.

What changed between 1.9.5 and 2.0.1.0 that broke this? Is there something I could change to make pipelining function again?
