]> 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)
committerMichael Fritch <mfritch@suse.com>
Thu, 25 Jun 2020 21:16:10 +0000 (15:16 -0600)
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>
src/pybind/mgr/status/module.py

index c48a85699a168979ab28f3cd582d09261921b188..15c40fce60f9429c31c10bb2076464cdaa320797 100644 (file)
@@ -114,7 +114,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,
@@ -161,7 +162,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({
@@ -234,7 +236,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({