]> git-server-git.apps.pok.os.sepia.ceph.com Git - teuthology.git/commitdiff
ceph_manager: wait_for_active
authorSage Weil <sage@inktank.com>
Sat, 28 Jul 2012 17:22:13 +0000 (10:22 -0700)
committerSage Weil <sage@inktank.com>
Sat, 28 Jul 2012 17:23:18 +0000 (10:23 -0700)
teuthology/task/ceph_manager.py

index a099539b91b6b8cd8e9c02d254689eef87bcd26f..62d6d2139c3f6d0aaf03380f16b4170066bd9757 100644 (file)
@@ -324,6 +324,21 @@ class CephManager:
             time.sleep(3)
         self.log("recovered!")
 
+    def wait_for_active(self, timeout=None):
+        self.log("waiting for peering to complete")
+        start = time.time()
+        num_active = self.get_num_active()
+        while not self.is_active():
+            if timeout is not None:
+                assert time.time() - start < timeout, \
+                    'failed to recover before timeout expired'
+            cur_active = self.get_num_active()
+            if cur_active != num_active:
+                start = time.time()
+                num_active = cur_active
+            time.sleep(3)
+        self.log("active!")
+
     def wait_for_active_or_down(self, timeout=None):
         self.log("waiting for peering to complete or become blocked")
         start = time.time()