]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/status: metadata is fetched async
authorMichael Fritch <mfritch@suse.com>
Thu, 25 Jun 2020 20:16:55 +0000 (14:16 -0600)
committerNathan Cutler <ncutler@suse.com>
Mon, 5 Oct 2020 21:10:32 +0000 (23:10 +0200)
fix timing window during mds rejoin where metadata is not available

Fixes: https://tracker.ceph.com/issues/45633
Signed-off-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit 4006fff43856c851e7a07f7d8ff05364cbe03529)

Conflicts:
src/pybind/mgr/status/module.py

src/pybind/mgr/status/module.py

index bd0faa34292a4d9a06a458e36ff8fa551e0be361..d3ff1fad35337807356728b5a549516c144e5f2a 100644 (file)
@@ -108,7 +108,8 @@ class Module(MgrModule):
                         ) + "/s"
 
                     metadata = self.get_metadata('mds', info['name'])
-                    mds_versions[metadata.get('ceph_version', "unknown")].append(info['name'])
+                    version = metadata.get('ceph_version', 'unknown') if metadata else 'unknown'
+                    mds_versions[version].append(info['name'])
                     rank_table.add_row([
                         mgr_util.bold(rank.__str__()), c_state, info['name'],
                         activity,
@@ -135,7 +136,8 @@ class Module(MgrModule):
                 ) + "/s"
 
                 metadata = self.get_metadata('mds', daemon_info['name'])
-                mds_versions[metadata.get('ceph_version', "unknown")].append(daemon_info['name'])
+                version = metadata.get('ceph_version', 'unknown') if metadata else 'unknown'
+                mds_versions[version].append(daemon_info['name'])
 
                 rank_table.add_row([
                     "{0}-s".format(daemon_info['rank']), "standby-replay",
@@ -173,7 +175,8 @@ class Module(MgrModule):
         standby_table = PrettyTable(["Standby MDS"])
         for standby in fsmap['standbys']:
             metadata = self.get_metadata('mds', standby['name'])
-            mds_versions[metadata.get('ceph_version', "unknown")].append(standby['name'])
+            version = metadata.get('ceph_version', 'unknown') if metadata else 'unknown'
+            mds_versions[version].append(standby['name'])
 
             standby_table.add_row([standby['name']])