]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/prometheus: Fix KeyError in get_mgr_status 30774/head
authorSebastian Wagner <sebastian.wagner@suse.com>
Tue, 17 Sep 2019 07:17:08 +0000 (09:17 +0200)
committerNathan Cutler <ncutler@suse.com>
Mon, 7 Oct 2019 19:45:52 +0000 (21:45 +0200)
`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 <sebastian.wagner@suse.com>
(cherry picked from commit c2dd9ece6ba1126167933a6d23989e5a4adbf261)

src/pybind/mgr/prometheus/module.py

index c215181540965bb4d6f0cc141a625552e037bced..c687ec43130a66af39cd3d7eceeea31a47ca0504 100644 (file)
@@ -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'])