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 <[email protected]> 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

