From d4177302328225b75ce077de3db40546924dc541 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 4 Mar 2020 11:05:43 -0600 Subject: [PATCH] mgr/orch: add created timestamp to ServiceDescription Signed-off-by: Sage Weil --- src/pybind/mgr/orchestrator/_interface.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/pybind/mgr/orchestrator/_interface.py b/src/pybind/mgr/orchestrator/_interface.py index 61251bc44db..9fa17db8a86 100644 --- a/src/pybind/mgr/orchestrator/_interface.py +++ b/src/pybind/mgr/orchestrator/_interface.py @@ -1488,6 +1488,7 @@ class ServiceDescription(object): rados_config_location=None, service_url=None, last_refresh=None, + created=None, size=0, running=0, spec=None): @@ -1517,6 +1518,7 @@ class ServiceDescription(object): # datetime when this info was last refreshed self.last_refresh = last_refresh # type: Optional[datetime.datetime] + self.created = created # type: Optional[datetime.datetime] self.spec = spec @@ -1538,18 +1540,19 @@ class ServiceDescription(object): 'size': self.size, 'running': self.running, } - if self.last_refresh: - out['last_refresh'] = self.last_refresh.strftime(DATEFMT) + for k in ['last_refresh', 'created']: + if getattr(self, k): + out[k] = getattr(self, k).strftime(DATEFMT) return {k: v for (k, v) in out.items() if v is not None} @classmethod @handle_type_error def from_json(cls, data): - if 'last_refresh' in data: - data['last_refresh'] = datetime.datetime.strptime( - data['last_refresh'], - DATEFMT) - return cls(**data) + c = data.copy() + for k in ['last_refresh', 'created']: + if k in c: + c[k] = datetime.datetime.strptime(c[k], DATEFMT) + return cls(**c) class ServiceSpec(object): -- 2.39.5