I'll check out the github issue, but I just wanted to post back here. I narrowed down the issue to being related to the local TERM environment variable (xterm-256color). Because my local terminal was consuming the garbage characters when I was running the ping command remotely, the only way to see the escape characters is to redirect to a file &> out and you'll see them there (it took a moment to realize what was going on because originally I was just running the python ping command by hand and I wasn't seeing the starting escape characters).
If you plaster TERM=vt100 in front of any of your ansible commands things work great and the ping command works. Another interesting thing to note is that if you enable pipelining=true in your ansible.cfg, you don't need TERM=vt100 to be set. I didn't think sending my local term was intended - I was able to track down the issue in the paramiko code (it calls os.sys to get the local term) but I couldn't find the corresponding openssh issue. Cheers On Thursday, January 14, 2016 at 1:40:39 AM UTC-8, Jürgen Haas wrote: > > Reported at GitHub: https://github.com/ansible/ansible/issues/13882 > > Am Donnerstag, 14. Januar 2016 10:35:05 UTC+1 schrieb Jürgen Haas: >> >> I'm having a similar issue: >> >> $ ansible -i inventory crcweb -m ping -vvv >> Using /home/jurgenhaas/.ansible.cfg as config file >> <crcweb> ESTABLISH SSH CONNECTION FOR USER: jurgenhaas >> <crcweb> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s >> -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o >> PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey >> -o PasswordAuthentication=no -o User=jurgenhaas -o ConnectTimeout=10 -o >> ControlPath=/home/jurgenhaas/.ansible/cp/ansible-ssh-%h-%p-%r -tt crcweb '( >> umask 22 && mkdir -p "$( echo >> $HOME/.ansible/tmp/ansible-tmp-1452763749.58-212919486518705 )" && echo "$( >> echo $HOME/.ansible/tmp/ansible-tmp-1452763749.58-212919486518705 )" )' >> <crcweb> PUT /tmp/tmpEhWM_e TO ^/ping >> <crcweb> SSH: EXEC scp -C -o ControlMaster=auto -o ControlPersist=60s -o >> StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o >> PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey >> -o PasswordAuthentication=no -o User=jurgenhaas -o ConnectTimeout=10 -o >> ControlPath=/home/jurgenhaas/.ansible/cp/ansible-ssh-%h-%p-%r /tmp/tmpEhWM_e >> '[crcweb]:'"'"' ^/ping'"'"'' >> crcweb | FAILED! => { >> "failed": true, >> "msg": "ERROR! failed to transfer file to ^/ping:\n\nscp: >> ^/ping: No such file or directory\n" >> } >> >> >> On the remote hosts we are using the fish shell instead of bash or others >> and that seems to be the root of the problem. When changing to bash as the >> login shell, Ansible would work just fine, but that's not really an option. >> >> >> Am Mittwoch, 13. Januar 2016 18:18:54 UTC+1 schrieb tkuratomi: >>> >>> On Tue, Jan 12, 2016 at 4:04 PM, Fed <[email protected]> wrote: >>> >>> > "module_stdout": "\u001b[?1034h{\"invocation\": {\"module_args\": >>> > {\"data\": null}}, \"changed\": false, \"ping\": \"pong\"}\r\n", >>> >>> Looks like your shell is injecting control characters into the output >>> stream. (the initial junk is a terminal control code sequence: >>> ESC[?1034h ). We'll probably need information about the shell you're >>> using on the remote machine and its configuration. >>> >>> -Toshio >>> >> -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/32e91fa1-90f0-4a53-a914-34afbb9725d0%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
