yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #92887
[Bug 2038422] [NEW] [OVN] virtual ports not working upon failover
Public bug reported:
When we're doing a failover of a VIP in OVN, it does work internally,
but not when used with Floating IP's.
When reviewing the flows (using ovs-dpctl dump-flows) we see that it
will try to deliver the packets for the VIP to the port that originally
acquired the VIP.
Upon further investigation we see this is because the IP->MAC binding is
stored in the OVN SB DB table Mac_Binding.
Steps to reproduce (on our end at least):
Create 3 ports:
- virtual port (used for VIP)
- internal port 1 - attached to vm1
- internal port 2 - attached to vm2
Then create keepalived config (or just manually assign the vip ip to one
of the internal ports), and send out gratuitous arp replies or ping from
the other vm so there is a normal arp reply so OVN binds the port to the
virtual port.
On our env the Mac_Binding table shows a entry for the VIP address.
When doing a failover (so moving the ip from vm1 to vm2), the mac
address is not updated in the Mac_Binding table.
Since there is already something in place for removing bindings for new
floating ip's, i'd suggest to use the same method to clear any virtual
ip's stored in the mac-binding table.
Worst case scenario, the table is filled up again with the same
information, but we've not been able to detect any downtime during this
period (not even when doing a `ping -f` during the deletion).
** Affects: neutron
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2038422
Title:
[OVN] virtual ports not working upon failover
Status in neutron:
New
Bug description:
When we're doing a failover of a VIP in OVN, it does work internally,
but not when used with Floating IP's.
When reviewing the flows (using ovs-dpctl dump-flows) we see that it
will try to deliver the packets for the VIP to the port that
originally acquired the VIP.
Upon further investigation we see this is because the IP->MAC binding
is stored in the OVN SB DB table Mac_Binding.
Steps to reproduce (on our end at least):
Create 3 ports:
- virtual port (used for VIP)
- internal port 1 - attached to vm1
- internal port 2 - attached to vm2
Then create keepalived config (or just manually assign the vip ip to
one of the internal ports), and send out gratuitous arp replies or
ping from the other vm so there is a normal arp reply so OVN binds the
port to the virtual port.
On our env the Mac_Binding table shows a entry for the VIP address.
When doing a failover (so moving the ip from vm1 to vm2), the mac
address is not updated in the Mac_Binding table.
Since there is already something in place for removing bindings for
new floating ip's, i'd suggest to use the same method to clear any
virtual ip's stored in the mac-binding table.
Worst case scenario, the table is filled up again with the same
information, but we've not been able to detect any downtime during
this period (not even when doing a `ping -f` during the deletion).
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2038422/+subscriptions
Follow ups