yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #15419
[Bug 1328128] [NEW] In ovs agent, when a port is added and then removed in a short time, this port may lose its vlan tag.
Public bug reported:
When a port is added, ovs agent runs scan_ports to get all changed
ports, so it will be in port_info['current'] and port_info['added'].
Then this port is removed (by nova or ohters) before
treat_devices_added_or_updated called, means
self.int_br.get_vif_port_by_id(device) returns None and for loop just
continues, no treat_vif_port called and this port is not in
lvm.vif_ports, however this port is still in "current ports" and saved
in reg_ports before next scan. When we add this port back again, it
would not be treated as added since it's in reg_ports and not treated as
updated since it's not in any lvm.vif_ports, this port losts vlan tag
permanently util we remove it again.
I think the fix is simple, if self.int_br.get_vif_port_by_id(device)
cannot get port, just resync next time.
** Affects: neutron
Importance: Undecided
Status: New
** Tags: ovs
** Description changed:
When a port is added, ovs agent runs scan_ports to get all changed
ports, so it will be in port_info['current'] and port_info['added'].
Then this port is removed (by nova or ohters) before
treat_devices_added_or_updated called, means
self.int_br.get_vif_port_by_id(device) returns None and for loop just
continues, no treat_vif_port called and this port is not in
lvm.vif_ports, however this port is still in "current ports" and saved
in reg_ports before next scan. When we add this port back again, it
would not be treated as added since it's in reg_ports and not treated as
updated since it's not in any lvm.vif_ports, this port losts vlan tag
permanently util we remove it again.
I think the fix is simple, if self.int_br.get_vif_port_by_id(device)
- cannot get port, just resync.
+ cannot get port, just resync next time.
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1328128
Title:
In ovs agent, when a port is added and then removed in a short time,
this port may lose its vlan tag.
Status in OpenStack Neutron (virtual network service):
New
Bug description:
When a port is added, ovs agent runs scan_ports to get all changed
ports, so it will be in port_info['current'] and port_info['added'].
Then this port is removed (by nova or ohters) before
treat_devices_added_or_updated called, means
self.int_br.get_vif_port_by_id(device) returns None and for loop just
continues, no treat_vif_port called and this port is not in
lvm.vif_ports, however this port is still in "current ports" and saved
in reg_ports before next scan. When we add this port back again, it
would not be treated as added since it's in reg_ports and not treated
as updated since it's not in any lvm.vif_ports, this port losts vlan
tag permanently util we remove it again.
I think the fix is simple, if self.int_br.get_vif_port_by_id(device)
cannot get port, just resync next time.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1328128/+subscriptions
Follow ups
References