← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2126637] [NEW] [OVN] Router "after_update" event contains wrong information with GW multihoming API

 

Public bug reported:

With the introduction of the Gateway Multihoming feature in OVN [1], the
router "after_update" event has incorrect "original" values when the
external gateways are updated.

This feature introduced a new API to update the router GW ("update_external_gateways"). This new API calls
``ExtraGatewaysDbOnlyMixin.update_external_gateways``. This method is:
* First, updating the router GWs.
* Second, calling the ``update_router`` method. This method is publishing the "after_update" event [2].

The problem if that this method does not expect the router to be
updated. Actually it calls ``_update_router_gw_info`` and
``_update_router_db``. The ``original`` and ``updated`` dictionaries
both contain the same information; in this case both have the updated
information.

[1]https://review.opendev.org/q/topic:%222023-aa-l3-gw-multihoming%22
[2]https://github.com/openstack/neutron/blob/972d9b174528a57a66a5541b101939555597b82c/neutron/db/l3_db.py#L344-L360

** 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/2126637

Title:
  [OVN] Router "after_update" event contains wrong information with GW
  multihoming API

Status in neutron:
  New

Bug description:
  With the introduction of the Gateway Multihoming feature in OVN [1],
  the router "after_update" event has incorrect "original" values when
  the external gateways are updated.

  This feature introduced a new API to update the router GW ("update_external_gateways"). This new API calls
  ``ExtraGatewaysDbOnlyMixin.update_external_gateways``. This method is:
  * First, updating the router GWs.
  * Second, calling the ``update_router`` method. This method is publishing the "after_update" event [2].

  The problem if that this method does not expect the router to be
  updated. Actually it calls ``_update_router_gw_info`` and
  ``_update_router_db``. The ``original`` and ``updated`` dictionaries
  both contain the same information; in this case both have the updated
  information.

  [1]https://review.opendev.org/q/topic:%222023-aa-l3-gw-multihoming%22
  [2]https://github.com/openstack/neutron/blob/972d9b174528a57a66a5541b101939555597b82c/neutron/db/l3_db.py#L344-L360

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2126637/+subscriptions