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 <branto@redhat.com>

meh
This commit is contained in:
Boris Ranto 2020-11-25 10:27:25 +01:00
parent 03fcaccafc
commit aa0650092d

View File

@ -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'])