]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
orchestra: fix retry and socket timeouts misconception 1255/head
authorKyr Shatskyy <kyrylo.shatskyy@suse.com>
Mon, 4 Feb 2019 20:08:26 +0000 (21:08 +0100)
committerKyr Shatskyy <kyrylo.shatskyy@gmail.com>
Tue, 5 Feb 2019 15:01:05 +0000 (16:01 +0100)
Fix retry and socket timeouts misconception for reconnect.
Add default sleep time as argument to the signature.

Signed-off-by: Kyr <kyrylo.shatskyy@gmail.com>
teuthology/orchestra/remote.py

index 8f9e318fc824624de58cee11ac98eb1f444a611c..0dde83f9748729ca4f073492b18bf599a749e586 100644 (file)
@@ -61,7 +61,7 @@ class Remote(object):
         self.ssh = connection.connect(**args)
         return self.ssh
 
-    def reconnect(self, timeout=None):
+    def reconnect(self, timeout=None, socket_timeout=None, sleep_time=30):
         """
         Attempts to re-establish connection. Returns True for success; False
         for failure.
@@ -69,17 +69,16 @@ class Remote(object):
         if self.ssh is not None:
             self.ssh.close()
         if not timeout:
-            return self._reconnect(timeout=timeout)
+            return self._reconnect(timeout=socket_timeout)
         start_time = time.time()
         elapsed_time = lambda: time.time() - start_time
         while elapsed_time() < timeout:
-            success = self._reconnect()
+            success = self._reconnect(timeout=socket_timeout)
             if success:
                 break
-            default_sleep_val = 30
             # Don't let time_remaining be < 0
             time_remaining = max(0, timeout - elapsed_time())
-            sleep_val = min(time_remaining, default_sleep_val)
+            sleep_val = min(time_remaining, sleep_time)
             time.sleep(sleep_val)
         return success