コード例 #1
0
ファイル: test_ovs_db.py プロジェクト: missall/quantum
    def test_invalid_specific_vlan_id(self):
        session = db.get_session()
        with self.assertRaises(q_exc.InvalidInput):
            vlan_id = ovs_db_v2.reserve_specific_vlan_id(0, session)

        with self.assertRaises(q_exc.InvalidInput):
            vlan_id = ovs_db_v2.reserve_specific_vlan_id(4095, session)
コード例 #2
0
ファイル: test_ovs_db.py プロジェクト: vbannai/quantum
    def test_specific_vlan_id_outside_pool(self):
        vlan_id = VLAN_MAX + 5
        self.assertIsNone(ovs_db_v2.get_vlan_id(vlan_id))
        ovs_db_v2.reserve_specific_vlan_id(vlan_id)
        self.assertTrue(ovs_db_v2.get_vlan_id(vlan_id).vlan_used)

        with self.assertRaises(q_exc.VlanIdInUse):
            ovs_db_v2.reserve_specific_vlan_id(vlan_id)

        ovs_db_v2.release_vlan_id(vlan_id)
        self.assertIsNone(ovs_db_v2.get_vlan_id(vlan_id))
コード例 #3
0
ファイル: test_ovs_db.py プロジェクト: missall/quantum
    def test_specific_vlan_id_inside_pool(self):
        session = db.get_session()
        vlan_id = VLAN_MIN + 5
        self.assertFalse(ovs_db_v2.get_vlan_id(vlan_id).vlan_used)
        ovs_db_v2.reserve_specific_vlan_id(vlan_id, session)
        self.assertTrue(ovs_db_v2.get_vlan_id(vlan_id).vlan_used)

        with self.assertRaises(q_exc.VlanIdInUse):
            ovs_db_v2.reserve_specific_vlan_id(vlan_id, session)

        ovs_db_v2.release_vlan_id(vlan_id)
        self.assertFalse(ovs_db_v2.get_vlan_id(vlan_id).vlan_used)
コード例 #4
0
ファイル: ovs_quantum_plugin.py プロジェクト: vbannai/quantum
    def create_network(self, context, network):
        net = super(OVSQuantumPluginV2, self).create_network(context, network)
        try:
            vlan_id = network['network'].get('provider:vlan_id')
            if vlan_id not in (None, attributes.ATTR_NOT_SPECIFIED):
                self._enforce_provider_set_auth(context, net)
                ovs_db_v2.reserve_specific_vlan_id(vlan_id)
            else:
                vlan_id = ovs_db_v2.reserve_vlan_id()
        except Exception:
            super(OVSQuantumPluginV2, self).delete_network(context, net['id'])
            raise

        LOG.debug("Created network: %s" % net['id'])
        ovs_db_v2.add_vlan_binding(vlan_id, str(net['id']))
        self._extend_network_dict(context, net)
        return net
コード例 #5
0
ファイル: ovs_quantum_plugin.py プロジェクト: missall/quantum
    def create_network(self, context, network):
        (network_type, physical_network,
         vlan_id) = self._process_provider_create(context,
                                                  network['network'])

        net = super(OVSQuantumPluginV2, self).create_network(context, network)
        try:
            if not network_type:
                vlan_id = ovs_db_v2.reserve_vlan_id(context.session)
            else:
                ovs_db_v2.reserve_specific_vlan_id(vlan_id, context.session)
        except Exception:
            super(OVSQuantumPluginV2, self).delete_network(context, net['id'])
            raise

        LOG.debug("Created network: %s" % net['id'])
        ovs_db_v2.add_vlan_binding(vlan_id, str(net['id']), context.session)
        self._extend_network_dict(context, net)
        return net
コード例 #6
0
ファイル: test_ovs_db.py プロジェクト: vbannai/quantum
    def test_invalid_specific_vlan_id(self):
        with self.assertRaises(q_exc.InvalidInput):
            vlan_id = ovs_db_v2.reserve_specific_vlan_id(0)

        with self.assertRaises(q_exc.InvalidInput):
            vlan_id = ovs_db_v2.reserve_specific_vlan_id(4095)