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.
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 /github. com/openstack/ neutron/ blob/master/ neutron/ plugins/ ml2/drivers/ openvswitch/ agent/ovs_ neutron_ agent.py# L354-L355
[2]: https:/