]> git-server-git.apps.pok.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>
Fri, 14 Aug 2020 08:40:32 +0000 (10:40 +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)

src/pybind/mgr/status/module.py

index a53edc0e389d7024b8d1cfa098528477770f41ba..89646f0acb9b707ceb8d72790baa4d10e3fe7972 100644 (file)
@@ -112,7 +112,8 @@ class Module(MgrModule):
                             activity = "Reqs: " + mgr_util.format_dimless(rate, 5) + "/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'])
                     if output_format in ('json', 'json-pretty'):
                         json_output['mdsmap'].append({
                             'rank': rank,
@@ -153,7 +154,8 @@ class Module(MgrModule):
                     activity = "Evts: " + mgr_util.format_dimless(events, 5) + "/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'])
 
                 if output_format in ('json', 'json-pretty'):
                     json_output['mdsmap'].append({
@@ -222,7 +224,8 @@ class Module(MgrModule):
         standby_table.right_padding_width = 2
         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'])
 
             if output_format in ('json', 'json-pretty'):
                 json_output['mdsmap'].append({