]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph_manager: use time before mon command for timeout
authorSamuel Just <sjust@redhat.com>
Fri, 20 Nov 2015 17:51:20 +0000 (09:51 -0800)
committerNathan Cutler <ncutler@suse.com>
Thu, 21 Jul 2016 20:05:08 +0000 (22:05 +0200)
Slow mon commands can cause a false failure.

Signed-off-by: Samuel Just <sjust@redhat.com>
(cherry picked from commit 8cf25611fb572b2f0db4b5670a4b9d2ea7944b5a)

tasks/ceph_manager.py

index b3d5d53bd114186fe193808d6331cc51fcffc238..ca8c9f693393bd9422f377000f02082adcbddf00 100644 (file)
@@ -1554,17 +1554,18 @@ class CephManager:
         start = time.time()
         num_active_recovered = self.get_num_active_recovered()
         while not self.is_recovered():
+            now = time.time()
             if timeout is not None:
                 if self.get_is_making_recovery_progress():
                     self.log("making progress, resetting timeout")
                     start = time.time()
                 else:
                     self.log("no progress seen, keeping timeout for now")
-                    if time.time() - start >= timeout:
+                    if now - start >= timeout:
                         self.log('dumping pgs')
                         out = self.raw_cluster_cmd('pg', 'dump')
                         self.log(out)
-                        assert time.time() - start < timeout, \
+                        assert now - start < timeout, \
                             'failed to recover before timeout expired'
             cur_active_recovered = self.get_num_active_recovered()
             if cur_active_recovered != num_active_recovered: