Esempio n. 1
0
    def _do_update_fleet(self, fleet_id, values):
        session = get_session()
        with session.begin():
            query = model_query(models.Fleet, session=session)
            query = add_identity_filter(query, fleet_id)
            try:
                ref = query.with_lockmode('update').one()
            except NoResultFound:
                raise exception.FleetNotFound(fleet=fleet_id)

            ref.update(values)
        return ref
Esempio n. 2
0
    def destroy_fleet(self, fleet_id):

        session = get_session()
        with session.begin():
            query = model_query(models.Fleet, session=session)
            query = add_identity_filter(query, fleet_id)
            try:
                fleet_ref = query.one()
            except NoResultFound:
                raise exception.FleetNotFound(fleet=fleet_id)

            # Get fleet ID, if an UUID was supplied. The ID is
            # required for deleting all ports, attached to the fleet.
            if uuidutils.is_uuid_like(fleet_id):
                fleet_id = fleet_ref['id']

            query.delete()
Esempio n. 3
0
def get_rpc_fleet(fleet_ident):
    """Get the RPC fleet from the fleet uuid or logical name.

    :param fleet_ident: the UUID or logical name of a fleet.

    :returns: The RPC Fleet.
    :raises: InvalidUuidOrName if the name or uuid provided is not valid.
    :raises: FleetNotFound if the fleet is not found.
    """
    # Check to see if the fleet_ident is a valid UUID.  If it is, treat it
    # as a UUID.
    if uuidutils.is_uuid_like(fleet_ident):
        return objects.Fleet.get_by_uuid(pecan.request.context, fleet_ident)

    # We can refer to fleets by their name, if the client supports it
    # if allow_fleet_logical_names():
    #    if utils.is_hostname_safe(fleet_ident):
    else:
        return objects.Fleet.get_by_name(pecan.request.context, fleet_ident)

    raise exception.InvalidUuidOrName(name=fleet_ident)

    raise exception.FleetNotFound(fleet=fleet_ident)
Esempio n. 4
0
 def get_fleet_by_name(self, fleet_name):
     query = model_query(models.Fleet).filter_by(name=fleet_name)
     try:
         return query.one()
     except NoResultFound:
         raise exception.FleetNotFound(fleet=fleet_name)
Esempio n. 5
0
 def get_fleet_by_uuid(self, fleet_uuid):
     query = model_query(models.Fleet).filter_by(uuid=fleet_uuid)
     try:
         return query.one()
     except NoResultFound:
         raise exception.FleetNotFound(fleet=fleet_uuid)