def update_containers_states(self, context, containers):
db_containers = self.list(context)
if not db_containers:
return
id_to_db_container_map = {container.container_id: container
for container in db_containers}
id_to_container_map = {container.container_id: container
for container in containers}
for cid in (six.viewkeys(id_to_container_map) &
six.viewkeys(id_to_db_container_map)):
container = id_to_container_map[cid]
# sync status
db_container = id_to_db_container_map[cid]
if container.status != db_container.status:
old_status = container.status
container.status = db_container.status
container.save(context)
LOG.info('Status of container %s changed from %s to %s',
container.uuid, old_status, container.status)
# sync host
# Note(kiennt): Current host.
cur_host = CONF.host
if container.host != cur_host:
old_host = container.host
container.host = cur_host
container.save(context)
LOG.info('Host of container %s changed from %s to %s',
container.uuid, old_host, container.host)
评论列表
文章目录