has decided the service should run.
"""
- def __init__(self, nodename=None, container_id=None, service=None, service_instance=None,
+ def __init__(self, nodename=None,
+ container_id=None, container_image_id=None,
+ container_image_name=None,
+ service=None, service_instance=None,
service_type=None, version=None, rados_config_location=None,
service_url=None, status=None, status_desc=None):
# Node is at the same granularity as InventoryNode
self.nodename = nodename
# Not everyone runs in containers, but enough people do to
- # justify having this field here.
- self.container_id = container_id
+ # justify having the container_id (runtime id) and container_image
+ # (image name)
+ self.container_id = container_id # runtime id
+ self.container_image_id = container_image_id # image hash
+ self.container_image_name = container_image_name # image friendly name
# Some services can be deployed in groups. For example, mds's can
# have an active and standby daemons, and nfs-ganesha can run daemons
return HandleCommandResult(stdout=json.dumps(data))
else:
table = PrettyTable(
- ['NAME', 'HOST', 'CONTAINER', 'VERSION', 'STATUS',
- 'DESCRIPTION'],
+ ['NAME', 'HOST', 'STATUS',
+ 'VERSION', 'IMAGE NAME', 'IMAGE ID', 'CONTAINER ID'],
border=False)
table.align = 'l'
table.left_padding_width = 0
table.add_row((
s.name(),
ukn(s.nodename),
- ukn(s.container_id),
- ukn(s.version),
status,
- ukn(s.status_desc)))
+ ukn(s.version),
+ ukn(s.container_image_name),
+ ukn(s.container_image_id)[0:12],
+ ukn(s.container_id)[0:12]))
return HandleCommandResult(stdout=table.get_string())
if service_name and not sd.service_instance.startswith(service_name + '.'):
continue
sd.nodename = host
- sd.container_id = d['container_id']
- sd.version = d['version']
+ sd.container_id = d.get('container_id')
+ sd.container_image_name = d.get('container_image_name')
+ sd.container_image_id = d.get('container_image_id')
+ sd.version = d.get('version')
sd.status_desc = d['state']
sd.status = {
'running': 1,