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.

Reply via email to