Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
 def test_NodeNotFound(self):
     self.assertRaises(exception.NodeNotFound,
                       lambda: self.raise_(exception.NodeNotFound()))