]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: use mds_tell for getting mds status
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 11 Mar 2021 15:31:25 +0000 (07:31 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Wed, 31 Mar 2021 14:29:54 +0000 (07:29 -0700)
mds_asok is broken with cephadm currently due to [1].

[1] https://tracker.ceph.com/issues/48019#note-5

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 6ca48f633085826ac52e45dd6e40f60ab74b31ec)

qa/tasks/cephfs/filesystem.py

index 0c025d0a6d3af25254bd79f641165bf5388a1be6..3c07a99edcf0950c27f05b3ca6b25dc35723a3c1 100644 (file)
@@ -903,7 +903,7 @@ class Filesystem(MDSCluster):
                 for mds_id, mds_status in mds_map['info'].items():
                     if mds_status['state'] == 'up:active':
                         try:
-                            daemon_status = self.mds_asok(["status"], mds_id=mds_status['name'])
+                            daemon_status = self.mds_tell(["status"], mds_id=mds_status['name'])
                         except CommandFailedError as cfe:
                             if cfe.exitstatus == errno.EINVAL:
                                 # Old version, can't do this check
@@ -1117,6 +1117,12 @@ class Filesystem(MDSCluster):
 
         return self.json_asok(command, 'mds', mds_id, timeout=timeout)
 
+    def mds_tell(self, command, mds_id=None):
+        if mds_id is None:
+            mds_id = self.get_lone_mds_id()
+
+        return json.loads(self.mon_manager.raw_cluster_cmd("tell", f"mds.{mds_id}", *command))
+
     def rank_asok(self, command, rank=0, status=None, timeout=None):
         info = self.get_rank(rank=rank, status=status)
         return self.json_asok(command, 'mds', info['name'], timeout=timeout)