def set_status(self, context, status, reason=None): '''Set status of the node.''' values = {} now = timeutils.utcnow() if status == self.ACTIVE and self.status == self.CREATING: self.created_at = values['created_at'] = now elif status == self.ACTIVE and self.status == self.UPDATING: self.updated_at = values['updated_at'] = now self.status = status values['status'] = status if reason: self.status_reason = reason values['status_reason'] = reason db_api.node_update(context, self.id, values)
def set_status(self, context, status, reason=None): '''Set status of the node.''' values = {} now = timeutils.utcnow() if status == self.ACTIVE and self.status == self.CREATING: self.created_time = values['created_time'] = now elif status == self.ACTIVE and self.status == self.UPDATING: self.updated_time = values['updated_time'] = now elif status == self.DELETED: self.deleted_time = values['deleted_time'] = now self.status = status values['status'] = status if reason: self.status_reason = reason values['status_reason'] = reason db_api.node_update(context, self.id, values)
def set_status(self, context, status, reason=None): '''Set status of the node.''' values = {} now = datetime.datetime.utcnow() if status == self.ACTIVE and self.status == self.CREATING: values['created_time'] = now elif status == self.DELETED: LOG.error('Don\'t do this!!!! call db_api.node_delete()') values['physical_id'] = '' elif status == self.ACTIVE and self.status == self.UPDATING: values['updated_time'] = now self.status = status values['status'] = status if reason: values['status_reason'] = reason db_api.node_update(context, self.id, values)
def store(self, context): '''Store the node record into database table. The invocation of DB API could be a node_create or a node_update, depending on whether node has an ID assigned. ''' values = { 'name': self.name, 'physical_id': self.physical_id, 'cluster_id': self.cluster_id, 'profile_id': self.profile_id, 'user': self.user, 'project': self.project, 'domain': self.domain, 'index': self.index, 'role': self.role, 'init_time': self.init_time, 'created_time': self.created_time, 'updated_time': self.updated_time, 'deleted_time': self.deleted_time, 'status': self.status, 'status_reason': self.status_reason, 'meta_data': self.metadata, 'data': self.data, } if self.id: db_api.node_update(context, self.id, values) event_mod.info(context, self, 'update') else: init_time = timeutils.utcnow() self.init_time = init_time values['init_time'] = init_time node = db_api.node_create(context, values) event_mod.info(context, self, 'create') self.id = node.id self._load_runtime_data(context) return self.id
def store(self, context): '''Store the node record into database table. The invocation of DB API could be a node_create or a node_update, depending on whether node has an ID assigned. ''' values = { 'name': self.name, 'physical_id': self.physical_id, 'cluster_id': self.cluster_id, 'profile_id': self.profile_id, 'project': self.project, 'index': self.index, 'role': self.role, 'init_time': self.init_time, 'created_time': self.created_time, 'updated_time': self.updated_time, 'deleted_time': self.deleted_time, 'status': self.status, 'status_reason': self.status_reason, 'data': self.data, 'tags': self.tags, } if self.id: db_api.node_update(context, self.id, values) # TODO(Qiming): create event/log else: init_time = datetime.datetime.utcnow() self.init_time = init_time values['init_time'] = init_time node = db_api.node_create(context, values) # TODO(Qiming): create event/log self.id = node.id self._load_runtime_data(context) return self.id
def update(cls, context, obj_id, values): values = cls._transpose_metadata(values) db_api.node_update(context, obj_id, values)
def update(cls, context, obj_id, values): db_api.node_update(context, obj_id, values)