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: v16.2.6~131^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e0e7f00a30cddbf62a2983e495ea3f05cf13de27;p=ceph.git tasks/ceph_manager: use safe_while() to refactor the wait for quorum for better readability Signed-off-by: Kefu Chai (cherry picked from commit 3908c1f4cd0ebbfdcaae2d9e6de5c1609523cc55) --- diff --git a/qa/tasks/ceph_manager.py b/qa/tasks/ceph_manager.py index 1d1f9049eaf4..8b901df3f976 100644 --- a/qa/tasks/ceph_manager.py +++ b/qa/tasks/ceph_manager.py @@ -3078,13 +3078,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):