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