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
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))
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)
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)