neutron/neutron/objects
Rodolfo Alonso Hernandez 2081910d6d 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
2022-11-18 08:51:43 +00:00
..
db [sqlalchemy-20] Add the needed DB context decorators in ``db.api`` 2022-05-16 07:14:37 +00:00
extensions use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
logapi use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
plugins Randomize segmentation ID assignation 2021-03-24 13:56:09 +00:00
port Add validation to ip_version field 2022-09-02 16:29:13 +00:00
qos Fix some pylint indentation warnings 2022-08-09 15:10:01 -04:00
README.rst Objects: Add README for neutron/objects directory tree 2016-10-07 15:12:20 +00:00
__init__.py Bump pylint version to support python 3.8 2020-08-06 16:00:30 +02:00
address_group.py Replace "target_tenant" with "target_project" in RBAC OVOs and models 2021-12-03 10:48:57 +00:00
address_scope.py Add the corresponding DB context to all SQL transactions 2022-04-08 09:09:54 +00:00
agent.py Fix some pylint indentation warnings 2022-08-09 15:10:01 -04:00
auto_allocate.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
base.py Fix some pylint indentation warnings 2022-08-09 15:10:01 -04:00
conntrack_helper.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
flavor.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
floatingip.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
ipam.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
l3_hamode.py Add the corresponding DB context to all SQL transactions 2022-04-08 09:09:54 +00:00
l3agent.py Fix some pylint indentation warnings 2022-08-09 15:10:01 -04:00
local_ip.py Add Local IP Extension and DB 2021-11-11 10:08:23 +03:00
metering.py Add source_ip_prefix and destination_ip_prefix to metering label rules 2020-09-29 09:06:03 -03:00
ndp_proxy.py [Server Side] L3 router support ndp proxy 2022-02-03 10:07:46 +08:00
network.py Replace "target_tenant" with "target_project" in RBAC OVOs and models 2021-12-03 10:48:57 +00:00
network_segment_range.py Fix some pylint indentation warnings 2022-08-09 15:10:01 -04:00
port_forwarding.py Merge "Add the corresponding DB context to all SQL transactions" 2022-04-08 13:08:32 +00:00
ports.py Merge "Script to remove duplicated port bindings" 2022-08-24 00:54:47 +00:00
provisioning_blocks.py [OVO] Switch to use own registry 2017-11-22 17:44:22 +01:00
quota.py Fix some pylint indentation warnings 2022-08-09 15:10:01 -04:00
rbac.py Add the corresponding DB context to all SQL transactions 2022-04-08 09:09:54 +00:00
rbac_db.py Fix some pylint indentation warnings 2022-08-09 15:10:01 -04:00
router.py Always create a "router_extra_attributes" register per router 2022-11-18 08:51:43 +00:00
securitygroup.py Add the corresponding DB context to all SQL transactions 2022-04-08 09:09:54 +00:00
servicetype.py use objects common_types from neutron-lib 2019-11-26 15:34:18 +01:00
stdattrs.py Use neutron-lib standard_attr 2021-09-15 09:19:26 +00:00
subnet.py Fix misplaced comparison constant warnings 2022-10-05 17:13:39 -04:00
subnetpool.py Add the corresponding DB context to all SQL transactions 2022-04-08 09:09:54 +00:00
tag.py Use neutron-lib standard_attr 2021-09-15 09:19:26 +00:00
trunk.py [OVN] Execute OVN migration transactions independently 2021-11-11 07:11:47 +00:00

README.rst

Neutron Objects

Directory

This directory is designed to contain all modules which have objects definitions shipped with core Neutron. The files and directories located inside of this directory should follow the guidelines below.

Structure

The Neutron objects tree should have the following structure:

  • The expected directory structure is flat, except for the ML2 plugins. All ML2 plugin objects should fall under the plugins subdirectory (i.e. plugins/ml2/gre_allocation).
  • Module names should use singular forms for nouns (network.py, not networks.py).