From 9b03d50859e6f052e15c65b6d04beeece7c6a582 Mon Sep 17 00:00:00 2001 From: Michael Fritch Date: Thu, 25 Jun 2020 14:16:55 -0600 Subject: [PATCH] mgr/status: metadata is fetched async fix timing window during mds rejoin where metadata is not available Fixes: https://tracker.ceph.com/issues/45633 Signed-off-by: Michael Fritch (cherry picked from commit 4006fff43856c851e7a07f7d8ff05364cbe03529) Conflicts: src/pybind/mgr/status/module.py --- src/pybind/mgr/status/module.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pybind/mgr/status/module.py b/src/pybind/mgr/status/module.py index bd0faa34292a4..d3ff1fad35337 100644 --- a/src/pybind/mgr/status/module.py +++ b/src/pybind/mgr/status/module.py @@ -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']]) -- 2.39.5