Comment 8 for bug 962853

Revision history for this message
dan wendlandt (danwent) wrote :

have to run to a meeting right now, but here's the diff:

diff --git a/quantum/plugins/openvswitch/ovs_quantum_plugin.py b/quantum/plugins
index c5091c5..ed29132 100644
--- a/quantum/plugins/openvswitch/ovs_quantum_plugin.py
+++ b/quantum/plugins/openvswitch/ovs_quantum_plugin.py
@@ -50,6 +50,10 @@ class VlanMap(object):
         self.net_ids.clear()
         self.free_vlans = set(xrange(2, 4094))

+ def already_used(self, vlan_id, network_id):
+ self.free_vlans.remove(vlan_id)
+ self.set_vlan(vlan_id, network_id)
+
     def set_vlan(self, vlan_id, network_id):
         self.vlans[vlan_id] = network_id
         self.net_ids[network_id] = vlan_id
@@ -58,7 +62,7 @@ class VlanMap(object):
         if len(self.free_vlans):
             vlan = self.free_vlans.pop()
             self.set_vlan(vlan, network_id)
- # LOG.debug("VlanMap::acquire %s -> %s", x, network_id)
+ LOG.info("VlanMap::acquire %s -> %s", vlan, network_id)
             return vlan
         else:
             raise Exception("No free vlans..")
@@ -72,7 +76,7 @@ class VlanMap(object):
             self.free_vlans.add(vlan)
             del self.vlans[vlan]
             del self.net_ids[network_id]
- # LOG.debug("VlanMap::release %s", vlan)
+ LOG.info("VlanMap::release %s", vlan)
         else:
             LOG.error("No vlan found with network \"%s\"", network_id)

@@ -103,9 +107,9 @@ class OVSQuantumPlugin(QuantumPluginBase):
         vlans = ovs_db.get_vlans()
         for x in vlans:
             vlan_id, network_id = x
- # LOG.debug("Adding already populated vlan %s -> %s"
- # % (vlan_id, network_id))
- self.vmap.set_vlan(vlan_id, network_id)
+ LOG.info("Adding already populated vlan %s -> %s"
+ % (vlan_id, network_id))
+ self.vmap.already_used(vlan_id, network_id)

     def get_all_networks(self, tenant_id, **kwargs):
         nets = []