yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #88528
[Bug 1966052] [NEW] ovn-octavia-provider associates to wrong logical router when LogicalRouterPortEvent is fired and network has multiple routers
Public bug reported:
Hi all,
When a loadbalancer is created with a VIP in a network having multiple
routers, the LogicalRouterPortEvent event sent by OVN NB associates the
floating VIP to all the routers' external ports, which in turn causes
the FIP to be ARP announced on all these external ports. This causes
traffic disruption because the floating VIP traffic can be then routed
to the wrong router. This can be verified by looking at the ARP replies
on the (public) network on which the external router interfaces are
located, where we can see the wrong MAC address is sent.
This is caused by the LogicalRouterPortEvent event handler (event.py:25)
which in turn calls lb_create_lrp_assoc_handler
(https://opendev.org/openstack/ovn-octavia-
provider/src/commit/d6adbcef86e32bc7befbd5890a2bc79256b7a8e2/ovn_octavia_provider/helper.py#L237)
and then sends a request to https://opendev.org/openstack/ovn-octavia-
provider/src/commit/d6adbcef86e32bc7befbd5890a2bc79256b7a8e2/ovn_octavia_provider/helper.py#L248
When the event is fired for a Logical Router Port not owned by the router owning the default gateway, lb_create_lrp_assoc adds all the load balancers having a VIP in the associated network to the router by calling _update_lb_to_lr_association which uses the lr_lb_add method and updates the load balancer external ids "lr_refs" key.
This behavior can be verified by looking a the load balancer external ids and the "load_balancer" key of the router owning the logical router port event fired.
During a logical router port event, the load balancer ids must be added
only if the router is the router owning the default gateway for the
network, using the same logic found in method _find_lr_of_ls.
** 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/1966052
Title:
ovn-octavia-provider associates to wrong logical router when
LogicalRouterPortEvent is fired and network has multiple routers
Status in neutron:
New
Bug description:
Hi all,
When a loadbalancer is created with a VIP in a network having multiple
routers, the LogicalRouterPortEvent event sent by OVN NB associates
the floating VIP to all the routers' external ports, which in turn
causes the FIP to be ARP announced on all these external ports. This
causes traffic disruption because the floating VIP traffic can be then
routed to the wrong router. This can be verified by looking at the ARP
replies on the (public) network on which the external router
interfaces are located, where we can see the wrong MAC address is
sent.
This is caused by the LogicalRouterPortEvent event handler
(event.py:25) which in turn calls lb_create_lrp_assoc_handler
(https://opendev.org/openstack/ovn-octavia-
provider/src/commit/d6adbcef86e32bc7befbd5890a2bc79256b7a8e2/ovn_octavia_provider/helper.py#L237)
and then sends a request to https://opendev.org/openstack/ovn-octavia-
provider/src/commit/d6adbcef86e32bc7befbd5890a2bc79256b7a8e2/ovn_octavia_provider/helper.py#L248
When the event is fired for a Logical Router Port not owned by the router owning the default gateway, lb_create_lrp_assoc adds all the load balancers having a VIP in the associated network to the router by calling _update_lb_to_lr_association which uses the lr_lb_add method and updates the load balancer external ids "lr_refs" key.
This behavior can be verified by looking a the load balancer external ids and the "load_balancer" key of the router owning the logical router port event fired.
During a logical router port event, the load balancer ids must be
added only if the router is the router owning the default gateway for
the network, using the same logic found in method _find_lr_of_ls.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1966052/+subscriptions