From: Patrick Donnelly Date: Wed, 12 Sep 2018 01:49:18 +0000 (-0700) Subject: qa: tolerate failed rank while waiting for state X-Git-Tag: v14.0.1~145^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e52976e64d04d97910582f03185832e0ab2ea009;p=ceph.git qa: tolerate failed rank while waiting for state Fixes: http://tracker.ceph.com/issues/35828 Signed-off-by: Patrick Donnelly --- diff --git a/qa/tasks/cephfs/filesystem.py b/qa/tasks/cephfs/filesystem.py index b2837c2eee82..c0bbb20bb324 100644 --- a/qa/tasks/cephfs/filesystem.py +++ b/qa/tasks/cephfs/filesystem.py @@ -947,9 +947,17 @@ class Filesystem(MDSCluster): while True: status = self.status() if rank is not None: - mds_info = status.get_rank(self.id, rank) - current_state = mds_info['state'] if mds_info else None - log.info("Looked up MDS state for mds.{0}: {1}".format(rank, current_state)) + try: + mds_info = status.get_rank(self.id, rank) + current_state = mds_info['state'] if mds_info else None + log.info("Looked up MDS state for mds.{0}: {1}".format(rank, current_state)) + except: + mdsmap = self.get_mds_map(status=status) + if rank in mdsmap['failed']: + log.info("Waiting for rank {0} to come back.".format(rank)) + current_state = None + else: + raise elif mds_id is not None: # mds_info is None if no daemon with this ID exists in the map mds_info = status.get_mds(mds_id)