From: Sage Weil Date: Wed, 4 Mar 2020 16:18:47 +0000 (-0600) Subject: mgr/orch: add new timestamps in DaemonDescription X-Git-Tag: v15.1.1~103^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=05dbfe1c64a66f0d810e3a66dc9dc6c4aefa1c17;p=ceph.git mgr/orch: add new timestamps in DaemonDescription Signed-off-by: Sage Weil --- diff --git a/src/pybind/mgr/orchestrator/_interface.py b/src/pybind/mgr/orchestrator/_interface.py index eeab627b9c76..61251bc44db8 100644 --- a/src/pybind/mgr/orchestrator/_interface.py +++ b/src/pybind/mgr/orchestrator/_interface.py @@ -1376,7 +1376,11 @@ class DaemonDescription(object): version=None, status=None, status_desc=None, - last_refresh=None): + last_refresh=None, + created=None, + started=None, + last_configured=None, + last_deployed=None): # Host is at the same granularity as InventoryHost self.hostname = hostname @@ -1408,6 +1412,11 @@ class DaemonDescription(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.started = started # type: Optional[datetime.datetime] + self.last_configured = last_configured # type: Optional[datetime.datetime] + self.last_deployed = last_deployed # type: Optional[datetime.datetime] + def name(self): return '%s.%s' % (self.daemon_type, self.daemon_id) @@ -1443,18 +1452,21 @@ class DaemonDescription(object): 'status': self.status, 'status_desc': self.status_desc, } - if self.last_refresh: - out['last_refresh'] = self.last_refresh.strftime(DATEFMT) + for k in ['last_refresh', 'created', 'started', 'last_deployed', + 'last_configured']: + 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', 'started', 'last_deployed', + 'last_configured']: + if k in c: + c[k] = datetime.datetime.strptime(c[k], DATEFMT) + return cls(**c) class ServiceDescription(object): """