← Back to team overview

yahoo-eng-team team mailing list archive

[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