<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 23 November 2015 at 01:36, Major Hayden <span dir="ltr"><<a href="mailto:major@mhtx.net" target="_blank">major@mhtx.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey folks,<br>
<br>
Some of my recent reviews have been frequent fliers in the land of CI gate jobs and I've spent a fair amount of time diagnosing random ssh failures to containers in AIO builds.  The error I get most often is this:<br>
<br>
    SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh<br>
<br>
After digging in Ansible code for a bit, I found the error within the ssh connection plugin[1].  It looks like an issue where the ssh connection is actually open but data cannot be sent to the subprocess.<br>
<br>
I messed around heavily with multiplexing, keys, GSSAPI, and more, but the errors randomly appear.  I've proposed a review[2] for a switch to paramiko transport mode for gate jobs only and it has run four times without ssh errors (although two builds had timeouts due to the repo build taking too long).<br>
<br>
The fifth build is running now and it seems to be moving along fairly quickly.<br>
<br>
[1] <a href="https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/ssh.py#L245-L260" rel="noreferrer" target="_blank">https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/ssh.py#L245-L260</a><br>
[2] <a href="https://review.openstack.org/#/c/248361/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/248361/</a></blockquote><div><br></div><div>Thanks for digging into this Major. It is a royal pain and will likely be resolved with the release of Ansible 2, but for now we're stuck with having to work around the issue with what we have.</div><div><br></div><div>I wonder, is there a difference in results or performance between using paramiko or turning ssh pipelining off?</div></div>
</div></div>