From 27275cbc01a2cbfb8835b9037d0d60773aca32af Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Tue, 17 Sep 2019 09:17:08 +0200 Subject: [PATCH] mgr/prometheus: Fix KeyError in get_mgr_status `ceph_release` is not necessarily a valid key for `mgr_map['always_on_modules']` Fixes: https://tracker.ceph.com/issues/41878 Signed-off-by: Sebastian Wagner (cherry picked from commit c2dd9ece6ba1126167933a6d23989e5a4adbf261) --- src/pybind/mgr/prometheus/module.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py index c2151815409..c687ec43130 100644 --- a/src/pybind/mgr/prometheus/module.py +++ b/src/pybind/mgr/prometheus/module.py @@ -472,6 +472,7 @@ class Module(MgrModule): all_modules = {module.get('name'):module.get('can_run') for module in mgr_map['available_modules']} + ceph_release = None for mgr in all_mgrs: host_version = servers.get((mgr, 'mgr'), ('', '')) if mgr == active: @@ -487,7 +488,7 @@ class Module(MgrModule): self.metrics['mgr_status'].set(_state, ( 'mgr.{}'.format(mgr), )) - always_on_modules = mgr_map['always_on_modules'][ceph_release] + always_on_modules = mgr_map['always_on_modules'].get(ceph_release, []) active_modules = list(always_on_modules) active_modules.extend(mgr_map['modules']) -- 2.47.3