logger = logging.getLogger(__name__)
+DATEFMT = '%Y-%m-%dT%H:%M:%S.%f'
class HostPlacementSpec(namedtuple('HostPlacementSpec', ['hostname', 'network', 'name'])):
def __str__(self):
container_image_name=None,
version=None,
status=None,
- status_desc=None):
+ status_desc=None,
+ last_refresh=None):
# Node is at the same granularity as InventoryNode
self.nodename = nodename
self.status_desc = status_desc
# datetime when this info was last refreshed
- self.last_refresh = None # type: Optional[datetime.datetime]
+ self.last_refresh = last_refresh # type: Optional[datetime.datetime]
def name(self):
return '%s.%s' % (self.daemon_type, self.daemon_id)
'status': self.status,
'status_desc': self.status_desc,
}
+ if self.last_refresh:
+ out['last_refresh'] = self.last_refresh.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)
class ServiceDescription(object):