From 5f752eb0ad016ec809eaecbb1790e10aced13ed3 Mon Sep 17 00:00:00 2001 From: Boris Ranto Date: Wed, 25 Nov 2020 10:27:25 +0100 Subject: [PATCH] mgr/prometheus: Use mgr.release_name for always on modules The host_version is not populated properly in the early stages of ceph mgr start up process. We can use mgr.release_name instead. It is more stable and it provides the data even if mgr_map does not contain the versions, yet. Signed-off-by: Boris Ranto (cherry picked from commit aa0650092da3cbf1a73151999874001352cfb9ef) --- src/pybind/mgr/prometheus/module.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/pybind/mgr/prometheus/module.py b/src/pybind/mgr/prometheus/module.py index 2ae60cd820474..c420bd763f993 100644 --- a/src/pybind/mgr/prometheus/module.py +++ b/src/pybind/mgr/prometheus/module.py @@ -588,12 +588,10 @@ 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: _state = 1 - ceph_release = host_version[1].split()[-2] # e.g. nautilus else: _state = 0 @@ -604,7 +602,7 @@ class Module(MgrModule): self.metrics['mgr_status'].set(_state, ( 'mgr.{}'.format(mgr), )) - always_on_modules = mgr_map['always_on_modules'].get(ceph_release, []) + always_on_modules = mgr_map['always_on_modules'].get(self.release_name, []) active_modules = list(always_on_modules) active_modules.extend(mgr_map['modules']) -- 2.47.3