From: Kefu Chai Date: Thu, 10 Jun 2021 12:10:06 +0000 (+0800) Subject: tasks/ceph_manager: use safe_while() to refactor the wait for quorum X-Git-Tag: v15.2.15~7^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a73d2277801dc1fe0e5a94f14904aae021d4f4df;p=ceph.git tasks/ceph_manager: use safe_while() to refactor the wait for quorum for better readability Signed-off-by: Kefu Chai --- diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index 293d8eadd8e..d57b6388e1f 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -2888,13 +2888,13 @@ class CephManager: Loop until quorum size is reached. """ self.log('waiting for quorum size %d' % size) - start = time.time() - while not len(self.get_mon_quorum()) == size: - if timeout is not None: - assert time.time() - start < timeout, \ - ('failed to reach quorum size %d ' - 'before timeout expired' % size) - time.sleep(3) + sleep = 3 + with safe_while(sleep=sleep, + tries=timeout // sleep, + action=f'wait for quorum size {size}') as proceed: + while proceed(): + if len(self.get_mon_quorum()) == size: + break self.log("quorum is size %d" % size) def get_mon_health(self, debug=False):