Exemplo n.º 1
0
 def delete_network(self, context, id):
     vlan_id = ovs_db_v2.get_vlan(id)
     result = super(OVSQuantumPluginV2, self).delete_network(context, id)
     ovs_db_v2.release_vlan_id(vlan_id)
     if self.rpc:
         self.notifier.network_delete(self.context, id)
     return result
Exemplo n.º 2
0
    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))
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    def test_vlan_id_pool(self):
        vlan_ids = set()
        for x in xrange(VLAN_MIN, VLAN_MAX + 1):
            vlan_id = ovs_db_v2.reserve_vlan_id()
            self.assertGreaterEqual(vlan_id, VLAN_MIN)
            self.assertLessEqual(vlan_id, VLAN_MAX)
            vlan_ids.add(vlan_id)

        with self.assertRaises(q_exc.NoNetworkAvailable):
            vlan_id = ovs_db_v2.reserve_vlan_id()

        for vlan_id in vlan_ids:
            ovs_db_v2.release_vlan_id(vlan_id)