]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: report prometheus, node-exporter, alertmanager versions
authorSage Weil <sage@redhat.com>
Sat, 7 Mar 2020 22:43:14 +0000 (16:43 -0600)
committerSage Weil <sage@redhat.com>
Sat, 7 Mar 2020 22:49:38 +0000 (16:49 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/cephadm/cephadm

index 57596502479fb2697bec1529b36219bfe06cf799..c38780a1c47b24a2b458d69b061e1f459c430ca4 100755 (executable)
@@ -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: