コード例 #1
0
ファイル: nexus_db_v2.py プロジェクト: whitekid/quantum
def get_nexusport_binding(vlan_id):
    """Lists a nexusport binding"""
    LOG.debug("get_nexusport_binding() called")
    session = db.get_session()
    try:
        binding = (session.query(
            nexus_models_v2.NexusPortBinding).filter_by(vlan_id=vlan_id).all())
        return binding
    except exc.NoResultFound:
        raise c_exc.NexusPortBindingNotFound(vlan_id=vlan_id)
コード例 #2
0
def get_nexusvlan_binding(vlan_id, switch_ip):
    """Lists a vlan and switch binding"""
    LOG.debug(_("get_nexusvlan_binding() called"))
    session = db.get_session()
    try:
        binding = (session.query(nexus_models_v2.NexusPortBinding).
                   filter_by(vlan_id=vlan_id).filter_by(switch_ip=switch_ip).
                   all())
        return binding
    except exc.NoResultFound:
        raise c_exc.NexusPortBindingNotFound(vlan_id=vlan_id)
コード例 #3
0
def get_nexusvm_binding(vlan_id, instance_id):
    """Lists nexusvm bindings"""
    LOG.debug(_("get_nexusvm_binding() called"))
    session = db.get_session()
    try:
        binding = (session.query(nexus_models_v2.NexusPortBinding).
                   filter_by(instance_id=instance_id).
                   filter_by(vlan_id=vlan_id).first())
        return binding
    except exc.NoResultFound:
        raise c_exc.NexusPortBindingNotFound(vlan_id=vlan_id)
コード例 #4
0
ファイル: nexus_db_v2.py プロジェクト: Apsu/quantum
def get_nexusvlan_binding(vlan_id, switch_ip):
    """Lists a vlan and switch binding."""
    LOG.debug(_("get_nexusvlan_binding() called"))
    session = db.get_session()

    filters = dict(vlan_id=vlan_id, switch_ip=switch_ip)
    bindings = (session.query(
        nexus_models_v2.NexusPortBinding).filter_by(**filters).all())
    if not bindings:
        raise c_exc.NexusPortBindingNotFound(**filters)

    return bindings
コード例 #5
0
ファイル: nexus_db_v2.py プロジェクト: Apsu/quantum
def get_nexusvm_binding(vlan_id, instance_id):
    """Lists nexusvm bindings."""
    LOG.debug(_("get_nexusvm_binding() called"))
    session = db.get_session()

    filters = dict(instance_id=instance_id, vlan_id=vlan_id)
    binding = (session.query(
        nexus_models_v2.NexusPortBinding).filter_by(**filters).first())
    if not binding:
        raise c_exc.NexusPortBindingNotFound(**filters)

    return binding
コード例 #6
0
def get_nexussvi_bindings():
    """Lists nexus svi bindings."""
    LOG.debug(_("get_nexussvi_bindings() called"))
    session = db.get_session()

    filters = {'port_id': 'router'}
    bindings = (session.query(
        nexus_models_v2.NexusPortBinding).filter_by(**filters).all())
    if not bindings:
        raise c_exc.NexusPortBindingNotFound(**filters)

    return bindings
コード例 #7
0
ファイル: nexus_db_v2.py プロジェクト: schatt/quantum
def get_nexusport_binding(port_id, vlan_id, switch_ip, instance_id):
    """Lists a nexusport binding."""
    LOG.debug(_("get_nexusport_binding() called"))
    session = db.get_session()

    filters = dict(port_id=port_id, vlan_id=vlan_id, switch_ip=switch_ip,
                   instance_id=instance_id)
    bindings = (session.query(nexus_models_v2.NexusPortBinding).
                filter_by(**filters).all())
    if not bindings:
        raise c_exc.NexusPortBindingNotFound(**filters)

    return bindings
コード例 #8
0
def update_nexusport_binding(port_id, new_vlan_id):
    """Updates nexusport binding"""
    LOG.debug(_("update_nexusport_binding called"))
    session = db.get_session()
    try:
        binding = (session.query(nexus_models_v2.NexusPortBinding).
                   filter_by(port_id=port_id).one())
        if new_vlan_id:
            binding["vlan_id"] = new_vlan_id
        session.merge(binding)
        session.flush()
        return binding
    except exc.NoResultFound:
        raise c_exc.NexusPortBindingNotFound()
コード例 #9
0
ファイル: test_database.py プロジェクト: schatt/quantum
 def test_nexusport_binding_not_found_exception_message_formatting(self):
     try:
         raise c_exc.NexusPortBindingNotFound(a=1, b='test')
     except c_exc.NexusPortBindingNotFound as e:
         self.assertIn('(a=1,b=test)', str(e))