def get_node_by_uuid(self, context, node_uuid): query = model_query(models.Node) query = self._add_tenant_filters(context, query) query = query.filter_by(uuid=node_uuid) try: return query.one() except NoResultFound: raise exception.NodeNotFound(node=node_uuid)
def destroy_node(self, node_id): session = get_session() with session.begin(): query = model_query(models.Node, session=session) query = add_identity_filter(query, node_id) count = query.delete() if count != 1: raise exception.NodeNotFound(node_id)
def _do_update_node(self, node_id, values): session = get_session() with session.begin(): query = model_query(models.Node, session=session) query = add_identity_filter(query, node_id) try: ref = query.with_lockmode('update').one() except NoResultFound: raise exception.NodeNotFound(node=node_id) # Prevent ironic_node_id overwriting if values.get("ironic_node_id") and ref.ironic_node_id: raise exception.NodeAssociated(node=node_id, instance=ref.ironic_node_id) ref.update(values) return ref
def test_NodeNotFound(self): self.assertRaises(exception.NodeNotFound, lambda: self.raise_(exception.NodeNotFound()))