Ejemplo n.º 1
0
 def _flavor_get_by_name_from_db(context, name):
     """Returns a dict describing specific flavor."""
     result = Flavor._flavor_get_query_from_db(context).\
                         filter_by(name=name).\
                         first()
     if not result:
         raise exception.FlavorNotFoundByName(flavor_name=name)
     return db_api._dict_with_extra_specs(result)
Ejemplo n.º 2
0
def destroy(name):
    """Marks flavor as deleted."""
    try:
        if not name:
            raise ValueError()
        db.flavor_destroy(context.get_admin_context(), name)
    except (ValueError, exception.NotFound):
        LOG.exception(_LE('Instance type %s not found for deletion'), name)
        raise exception.FlavorNotFoundByName(flavor_name=name)
Ejemplo n.º 3
0
def _flavor_destroy(context, flavor_id=None, name=None):
    query = context.session.query(api_models.Flavors)

    if flavor_id is not None:
        query = query.filter(api_models.Flavors.id == flavor_id)
    else:
        query = query.filter(api_models.Flavors.name == name)
    result = query.first()

    if not result:
        if flavor_id is not None:
            raise exception.FlavorNotFound(flavor_id=flavor_id)
        else:
            raise exception.FlavorNotFoundByName(flavor_name=name)

    context.session.query(api_models.FlavorProjects).\
        filter_by(flavor_id=result.id).delete()
    context.session.query(api_models.FlavorExtraSpecs).\
        filter_by(flavor_id=result.id).delete()
    context.session.delete(result)