From 5bd096208c6b451810d69e2541fe0fe8d8b32953 Mon Sep 17 00:00:00 2001 From: "David M. Lee" Date: Thu, 12 Nov 2015 21:48:20 -0600 Subject: [PATCH] Increase the escalation prompt timeout It was set to match the SSH connect timeout. Unfortunately, they would race when ssh fails to connect, and the connect timeout usually failed. This led to some misleading error messages. Fixes #12916 --- lib/ansible/plugins/connection/ssh.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ansible/plugins/connection/ssh.py b/lib/ansible/plugins/connection/ssh.py index fc8b9a11056..b5cce048e3e 100644 --- a/lib/ansible/plugins/connection/ssh.py +++ b/lib/ansible/plugins/connection/ssh.py @@ -392,7 +392,10 @@ class Connection(ConnectionBase): become_error=False, become_nopasswd_error=False ) - timeout = self._play_context.timeout + # select timeout should be longer than the connect timeout, otherwise + # they will race each other when we can't connect, and the connect + # timeout usually fails + timeout = 2 + self._play_context.timeout rpipes = [p.stdout, p.stderr] for fd in rpipes: fcntl.fcntl(fd, fcntl.F_SETFL, fcntl.fcntl(fd, fcntl.F_GETFL) | os.O_NONBLOCK)