From 84ac0d3de167e5edfc36912420da102bd74279c6 Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Fri, 29 Jan 2021 18:27:52 +0100 Subject: [PATCH] mgr/cephadm: Add service deletion timestamp to `orch ls` Signed-off-by: Sebastian Wagner --- src/pybind/mgr/cephadm/module.py | 2 ++ src/pybind/mgr/orchestrator/_interface.py | 2 ++ src/pybind/mgr/orchestrator/module.py | 9 +++++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index 9b223ab9221..68c300a660b 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -1519,6 +1519,8 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule, self.inventory.all_specs()) sm[n].created = self.spec_store.spec_created[n] + sm[n].deleted = self.spec_store.spec_deleted.get(n, None) + if service_type == 'nfs': spec = cast(NFSServiceSpec, spec) sm[n].rados_config_location = spec.rados_config_location() diff --git a/src/pybind/mgr/orchestrator/_interface.py b/src/pybind/mgr/orchestrator/_interface.py index 2bc29310a65..7b5f03ddfdd 100644 --- a/src/pybind/mgr/orchestrator/_interface.py +++ b/src/pybind/mgr/orchestrator/_interface.py @@ -1480,6 +1480,7 @@ class ServiceDescription(object): service_url: Optional[str] = None, last_refresh: Optional[datetime.datetime] = None, created: Optional[datetime.datetime] = None, + deleted: Optional[datetime.datetime] = None, size: int = 0, running: int = 0, events: Optional[List['OrchestratorEvent']] = None) -> None: @@ -1506,6 +1507,7 @@ class ServiceDescription(object): # datetime when this info was last refreshed self.last_refresh: Optional[datetime.datetime] = last_refresh self.created: Optional[datetime.datetime] = created + self.deleted: Optional[datetime.datetime] = deleted self.spec: ServiceSpec = spec diff --git a/src/pybind/mgr/orchestrator/module.py b/src/pybind/mgr/orchestrator/module.py index 67a85e03260..aeaf203305f 100644 --- a/src/pybind/mgr/orchestrator/module.py +++ b/src/pybind/mgr/orchestrator/module.py @@ -560,7 +560,7 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule, return HandleCommandResult(stdout="No services reported") elif format != Format.plain: if export: - data = [s.spec for s in services] + data = [s.spec for s in services if s.deleted is None] return HandleCommandResult(stdout=to_format(data, format, many=True, cls=ServiceSpec)) else: return HandleCommandResult(stdout=to_format(services, format, many=True, cls=ServiceDescription)) @@ -588,10 +588,15 @@ class OrchestratorCli(OrchestratorClientMixin, MgrModule, pl = '' else: pl = s.spec.placement.pretty_str() + if s.deleted: + refreshed = '' + else: + refreshed = nice_delta(now, s.last_refresh, ' ago') + table.add_row(( s.spec.service_name(), '%d/%d' % (s.running, s.size), - nice_delta(now, s.last_refresh, ' ago'), + refreshed, nice_delta(now, s.created), pl, ukn(s.container_image_name), -- 2.47.3