From 47d7c75731b25c72051c7d91bb016e98390c7360 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 7 Mar 2020 16:43:14 -0600 Subject: [PATCH] cephadm: report prometheus, node-exporter, alertmanager versions Signed-off-by: Sage Weil --- src/cephadm/cephadm | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index 57596502479fb..c38780a1c47b2 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -2429,8 +2429,8 @@ def list_daemons(detail=True, legacy_dir=None): start_stamp = try_convert_datetime(start) if not version or '.' not in version: version = seen_versions.get(image_id, None) - if daemon_type in Ceph.daemons: - if not version: + if not version: + if daemon_type in Ceph.daemons: out, err, code = call( [container_path, 'exec', container_id, 'ceph', '-v']) @@ -2438,9 +2438,20 @@ def list_daemons(detail=True, legacy_dir=None): out.startswith('ceph version '): version = out.split(' ')[2] seen_versions[image_id] = version - else: - # FIXME: monitoring component version? - pass + elif daemon_type in ['prometheus', + 'alertmanager', + 'node-exporter']: + cmd = daemon_type.replace('-', '_') + out, err, code = call( + [container_path, 'exec', container_id, + cmd, '--version']) + if not code and \ + err.startswith('%s, version ' % cmd): + version = err.split(' ')[2] + seen_versions[image_id] = version + else: + # FIXME: monitoring component version? + pass else: vfile = os.path.join(data_dir, fsid, j, 'unit.image') # type: ignore try: -- 2.39.5