def delete_qos(self, tenant_id, qos_id):
     """Delete a QoS level"""
     LOG.debug(_("delete_qos() called"))
     try:
         qos_level = cdb.get_qos(tenant_id, qos_id)
     except Exception:
         raise cexc.QosNotFound(tenant_id=tenant_id, qos_id=qos_id)
     return cdb.remove_qos(tenant_id, qos_id)
 def get_qos_details(self, tenant_id, qos_id):
     """Get QoS Details"""
     LOG.debug(_("get_qos_details() called"))
     try:
         qos_level = cdb.get_qos(tenant_id, qos_id)
     except Exception:
         raise cexc.QosNotFound(tenant_id=tenant_id, qos_id=qos_id)
     return qos_level
 def rename_qos(self, tenant_id, qos_id, new_name):
     """Rename QoS level"""
     LOG.debug(_("rename_qos() called"))
     try:
         qos_level = cdb.get_qos(tenant_id, qos_id)
     except Exception:
         raise cexc.QosNotFound(tenant_id=tenant_id, qos_id=qos_id)
     qos = cdb.update_qos(tenant_id, qos_id, new_name)
     return qos
def get_qos(tenant_id, qos_id):
    """Lists the qos given a tenant_id and qos_id"""
    LOG.debug(_("get_qos() called"))
    session = db.get_session()
    try:
        qos = (session.query(network_models_v2.QoS).filter_by(
            tenant_id=tenant_id).filter_by(qos_id=qos_id).one())
        return qos
    except exc.NoResultFound:
        raise c_exc.QosNotFound(qos_id=qos_id, tenant_id=tenant_id)
def update_qos(tenant_id, qos_id, new_qos_name=None):
    """Updates a qos to tenant association"""
    session = db.get_session()
    try:
        qos = (session.query(network_models_v2.QoS).filter_by(
            tenant_id=tenant_id).filter_by(qos_id=qos_id).one())
        if new_qos_name:
            qos["qos_name"] = new_qos_name
        session.merge(qos)
        session.flush()
        return qos
    except exc.NoResultFound:
        raise c_exc.QosNotFound(qos_id=qos_id, tenant_id=tenant_id)