diff --git a/broker/hosts.py b/broker/hosts.py index c1a594c7..cd89974d 100644 --- a/broker/hosts.py +++ b/broker/hosts.py @@ -66,6 +66,7 @@ def connect( password=password, port=_port, key_filename=key_filename, + timeout=timeout ) def close(self): diff --git a/broker/session.py b/broker/session.py index df9d0303..7a966136 100644 --- a/broker/session.py +++ b/broker/session.py @@ -32,7 +32,8 @@ def __init__(self, **kwargs): sock.settimeout(kwargs.get("timeout")) port = kwargs.get("port", 22) key_filename = kwargs.get("key_filename") - helpers.simple_retry(sock.connect, [(host, port)]) + timeout = kwargs.get("timeout", 60) + helpers.simple_retry(sock.connect, [(host, port)], max_timeout=timeout) self.session = ssh2_Session() self.session.handshake(sock) if key_filename: diff --git a/broker/settings.py b/broker/settings.py index a20154c8..4bea0854 100644 --- a/broker/settings.py +++ b/broker/settings.py @@ -70,7 +70,7 @@ def init_settings(settings_path, interactive=False): validators = [ Validator("HOST_USERNAME", default="root"), Validator("HOST_PASSWORD", default="toor"), - Validator("HOST_CONNECTION_TIMEOUT", default=None), + Validator("HOST_CONNECTION_TIMEOUT", default=60), Validator("HOST_SSH_PORT", default=22), Validator("HOST_SSH_KEY_FILENAME", default=None), Validator("LOGGING", is_type_of=dict),