sd.memory_limit = d.get('memory_limit')
sd._service_name = d.get('service_name')
sd.version = d.get('version')
+ sd.ports = d.get('ports')
+ sd.ip = d.get('ip')
if sd.daemon_type == 'osd':
sd.osdspec_affinity = self.mgr.osd_service.get_osdspec_affinity(sd.daemon_id)
if 'state' in d:
'hostname': 'test',
'status': 1,
'status_desc': 'starting',
- 'is_active': False}
+ 'is_active': False,
+ 'ports': [],
+ }
]
with with_service(cephadm_module, ServiceSpec('rgw', 'r.z'), CephadmOrchestrator.apply_rgw, 'test'):
_run_cephadm.assert_called_with(
'test', 'mon.test', 'deploy', [
'--name', 'mon.test',
- '--meta-json', '{"service_name": "mon"}',
+ '--meta-json', '{"service_name": "mon", "ports": [], "ip": null}',
'--config-json', '-',
'--reconfig',
],
memory_request: Optional[int] = None,
memory_limit: Optional[int] = None,
service_name: Optional[str] = None,
+ ports: Optional[List[int]] = None,
+ ip: Optional[str] = None,
) -> None:
# Host is at the same granularity as InventoryHost
self.memory_request: Optional[int] = memory_request
self.memory_limit: Optional[int] = memory_limit
+ self.ports: Optional[List[int]] = ports
+ self.ip: Optional[str] = ip
+
self.is_active = is_active
+ def get_port_summary(self) -> str:
+ if not self.ports:
+ return ''
+ return ' '.join([
+ f"{self.ip or '*'}:{p}" for p in self.ports
+ ])
+
def name(self) -> str:
return '%s.%s' % (self.daemon_type, self.daemon_id)
if self.daemon_type == 'osd':
out['osdspec_affinity'] = self.osdspec_affinity
out['is_active'] = self.is_active
+ out['ports'] = self.ports
+ out['ip'] = self.ip
for k in ['last_refresh', 'created', 'started', 'last_deployed',
'last_configured']:
now = datetime_now()
table = PrettyTable(
- ['NAME', 'HOST', 'STATUS', 'REFRESHED', 'AGE',
+ ['NAME', 'HOST', 'STATUS', 'REFRESHED', 'AGE', 'PORTS',
'VERSION', 'IMAGE NAME', 'IMAGE ID', 'CONTAINER ID'],
border=False)
table.align = 'l'
status,
nice_delta(now, s.last_refresh, ' ago'),
nice_delta(now, s.created),
+ s.get_port_summary() or '-',
ukn(s.version),
ukn(s.container_image_name),
ukn(s.container_image_id)[0:12],