Comment 3 for bug 1756897

Revision history for this message
Sasikiran (sasikiran-vaddi) wrote :

The issue is not observed frequently, I would like to add some more information.

Say for example there is one vm, vm1 which is hosting on compute-A which belongs to network net1 and another vm, vm2 from net2 is hosting on compute-A. If the tap devices associated to these two vm holds same tag value then neutron-openswitch-agent will fall into repeated restart due to failure in below validation[1].

From the above example, when a port which is looped for vm1 from net1 then it pass this validation[2] and removes vlan from available_local_vlans and updates _local_vlan_hints with this network uuid and tag. On the next iternation for the other network net2 of vm2 will pass this validation[2] and executes self.available_local_vlans.remove(local_vlan) which will fail because this vlan/tag is already deleted when vm1 is iterated. So, this has triggered a ERROR if incase of two vms from different networks holds same tag value.

[1]: https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L354-L358
[2]: https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L354-L355