yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #90450
[Bug 1995974] Re: [OVN] Router "router_extra_attributes" register is not created
Reviewed: https://review.opendev.org/c/openstack/neutron/+/864051
Committed: https://opendev.org/openstack/neutron/commit/2081910d6d942d49d96297884a932ff93acb8759
Submitter: "Zuul (22348)"
Branch: master
commit 2081910d6d942d49d96297884a932ff93acb8759
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date: Fri Nov 11 12:57:05 2022 +0100
Always create a "router_extra_attributes" register per router
The table "router_extra_attributes" is a child of "router" table.
Each register contains extra information that completes the router
description. When using ML2/OVS mechanism driver, the methods that
create and populate the "router_extra_attributes" register are always
called from the L3 DVR, L3 HA and availability zones extensions.
When using ML2/OVN, those extensions are not loaded and therefore the
"router_extra_attributes" register is not created.
Despite this register is currently not used in ML2/OVN (it will be in
future features), there are some project expecting the
"router_extra_attributes" register to be always created (for example,
neutron-dynamic-routing [1]).
This patch enforces the child register creating always when a router is
created. This register is populated with the default values. This new
register does not affect any current operation related to ML2/OVN nor
ML2/OVS.
There is a 1:1 relationship between "routers" and
"router_extra_attributes". The child register is deleted by the database
engine when the "routers" register is deleted (ondelete="CASCADE").
[1]https://review.opendev.org/c/openstack/neutron-dynamic-routing/+/863713
Closes-Bug: #1995974
Change-Id: Ic546e40513402fa101c9687acce382cd6b84356c
** Changed in: neutron
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1995974
Title:
[OVN] Router "router_extra_attributes" register is not created
Status in neutron:
Fix Released
Bug description:
When Neutron uses ML2/OVN mech driver, the router
"router_extra_attributes" register is not created.
With ML2/OVS, this register is created when it is called from:
* l3_dvr_db: to set the "dvr" flag.
* l3_hamode_db: to set the "ha" flag.
* availability_zone/router: to set the "availability_zone_hints" list
Because those methods are registered when the ML2 plugin is called as
resource extenders, every time a router is created those method are
called. Those methods always check if the child register
"router_extra_attributes" is created. If not, it is added to the
session [1].
Some projects, like n-d-r, are expecting those extra attributes in
their queries; for example: [2].
[1]https://github.com/openstack/neutron/blob/9e2a0ac058305dd16d6dedb883d305cd162f5fe4/neutron/db/l3_attrs_db.py#L48-L54
[2]https://review.opendev.org/c/openstack/neutron-dynamic-routing/+/863713
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1995974/+subscriptions
References