Add work-around for ssh pty race condition.

This should minimize loss of stdout when using
a pty and connecting with ssh or paramiko_ssh.
This commit is contained in:
Matt Clay 2016-05-19 10:33:17 -07:00
commit bad293ae35
2 changed files with 11 additions and 0 deletions

View file

@ -711,6 +711,9 @@ class ActionBase(with_metaclass(ABCMeta, object)):
if self._connection.allow_executable:
if executable is None:
executable = self._play_context.executable
# mitigation for SSH race which can drop stdout (https://github.com/ansible/ansible/issues/13876)
# only applied for the default executable to avoid interfering with the raw action
cmd = self._connection._shell.append_command(cmd, 'sleep 0')
if executable:
cmd = executable + ' -c ' + pipes.quote(cmd)