26145 Commits

Author SHA1 Message Date
Slawek Kaplonski
4fe128d7e3 Update ci jobs docs
Patch [1] dropped neutron-tempest-plugin-api job and combined it with
the scenario jobs.
This patch updates documentation accordingly.

[1] https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/836912

Change-Id: I96af21382d04aa8bff63885c891992555e82c0ba
2022-05-27 15:59:25 +02:00
Slawek Kaplonski
f2445b09ae Use new combined neutron_tempest_plugin as nftables jobs parent
Patch [1] removed neutron-tempest-plugin-api job and combined it with
the "-scenario" jobs. It also changed names of those jobs by dropping
"scenario" word from it.
This patch updates accordingly nftables based jobs which are defined in
the neutron repo.

[1] https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/836912

Change-Id: Ibad1ee5d0f61d112bae435b6e0cf4d815d705f4e
2022-05-27 15:57:36 +02:00
Zuul
71b138e3e8 Merge "Bump neutron-lib to 2.21.0" 2022-05-27 12:12:08 +00:00
Zuul
2a944c8f6a Merge "Refactor the OVN revision module to access the DB correctly" 2022-05-27 12:12:03 +00:00
Zuul
1d459ac673 Merge "[OVN][FT] Wait until virtual parents are written" 2022-05-27 11:20:47 +00:00
Zuul
aefcaf4944 Merge "Revert "doc: Remove fwaas references from docs"" 2022-05-27 11:20:30 +00:00
Zuul
4b9b3cfb51 Merge "Remove session active check in "_add_segment_host_mapping_for_segment"" 2022-05-27 11:20:25 +00:00
Zuul
a6e7743838 Merge "[UT][ovn] Access config options after they are registered" 2022-05-27 10:07:22 +00:00
Zuul
2b77f12d2a Merge "Create an index for "ports.network_id"" 2022-05-27 07:59:46 +00:00
Zuul
b9a496ecb9 Merge "[L3-HA] Disable automatic link-local address assignment for HA routers" 2022-05-26 20:57:16 +00:00
Zuul
7a92c3f060 Merge "[OVN] During the DB migration, allow the DB context to finish" 2022-05-26 16:09:59 +00:00
Zuul
bedd0504ec Merge "[sqlalchemy-20] Add DB context in L2pop module" 2022-05-26 15:42:57 +00:00
384ff4485f [UT][ovn] Access config options after they are registered
It is a follow up of [1]. There were still some tests
which were accessing config optons before they were registered
and failing when tested manually just those tests, this
patch fixes it.

[1] https://review.opendev.org/c/openstack/neutron/+/842068

Related-Bug: #1968606
Change-Id: I9aec0ba1f5c723e6f5a9146e9af41707e8014db2
2022-05-26 19:57:34 +05:30
Zuul
7fc509aa9a Merge "[ovn]Refusing to bind port to dead agent" 2022-05-26 14:14:31 +00:00
Zuul
8dbc594c06 Merge "Log when a segment is mapped/unmapped to a host" 2022-05-26 12:35:53 +00:00
Zuul
49aeff4c95 Merge "Partially revert "Do not link up HA router gateway in backup node"" 2022-05-26 12:35:48 +00:00
Zuul
a33bb9fb91 Merge "Notify mech drivers with original and modified network." 2022-05-26 12:35:40 +00:00
Rodolfo Alonso Hernandez
d89d7bd5e6 Remove session active check in "_add_segment_host_mapping_for_segment"
Method ``_add_segment_host_mapping_for_segment`` is called by the event
(resources.SEGMENT, events.PRECOMMIT_CREATE), from
``SegmentDbMixin._create_segment_db``, and is called inside a database
writer context. That means it is irrelevant to check if the session is
active (must be always).

Closes-Bug: #1975542
Change-Id: Ib19dacf886486876237ed1157fb95ae157ed430e
2022-05-26 07:12:31 +00:00
e04bd8fbdf Switch to cirros uec image in multinode jobs
Kernel panic is seen in these jobs as well,
let's switch to cirros uec image to avoid it.

singlenode jobs already switched with
https://review.opendev.org/q/Ic57f828c08f1793226759baedb3eb2f646191e1f.

Change-Id: I34f3bbf7d30ddce23758ffb513abff0500b1fad6
2022-05-25 11:57:58 +05:30
Miro Tomaska
d1fe14d366 Notify mech drivers with original and modified network.
Include original and modified network when notifying mechanism drivers in PRECOMMIT event. PRECOMMIT_CREATE modified network includes new segment, while original does not. Exact opposite for PRECOMMIT_DELETE

Closes-Bug: #1967742
Change-Id: I364fc7981458374ed25eb8837d1ed3afff046b95
2022-05-24 21:56:47 -05:00
Damian Dabrowski
5288593faf [L3-HA] Disable automatic link-local address assignment for HA routers
In order to get both [1] and [2] fixed, we set
`net.ipv6.conf.all.addr_gen_mode=1` in HA router namespace to
prevent auto-assigning link-local address(lla) to the interfaces.
We don't need lla auto-assignment as keepalived manages them.
With this change, we will have link-local addresses only on active
router, which will prevent 'dadfailed' and MLD packets will not be
sent from standby router.

Previously we also reverted [3] to always keep qg-* interface up on both
active&standby router's instance, no matter if keepalived is started or
not.
Without link-local address assigned, backup router's instance won't
send any packets, so I see no reason to keep qg-* interface down.

[1] https://bugs.launchpad.net/neutron/+bug/1952907
[2] https://bugs.launchpad.net/neutron/+bug/1859832
[3] https://review.opendev.org/c/openstack/neutron/+/834162

Closes-Bug: #1952907
Related-Bug: #1859832
Depends-On: https://review.opendev.org/c/openstack/neutron/+/834162
Change-Id: I306f14aa6b7e8bb69a81f441be337bc1a584d3b2
2022-05-24 11:30:02 +00:00
Edward Hope-Morley
36bf1df46d Partially revert "Do not link up HA router gateway in backup node"
This partially reverts commit c52029c39aa824a67095fbbf9e59eff769d92587.

We revert everything except one minor addition to
neutron/agent/l3/ha_router.py which ensures that ha_confs path is
created when the keepalived manager is initialised.

Closes-Bug: #1965297
Change-Id: I14ad015c4344b32f7210c924902dac4e6ad1ae88
2022-05-24 11:24:30 +00:00
Zuul
bdea142584 Merge "Start using security-groups-shared-filtering from neutron-lib" 2022-05-24 04:09:50 +00:00
Zuul
84da90585a Merge "Make `MechDriverSetupBase` abstract" 2022-05-23 21:17:09 +00:00
Zuul
9ca5c1cc04 Merge "Remove "distutils" library" 2022-05-19 19:17:18 +00:00
Rodolfo Alonso Hernandez
ae4f9af528 Log when a segment is mapped/unmapped to a host
This patch adds debug messages when a segment (or a set of
segments) is mapped to a host (or a set of hosts). The
deletion of an entry is logged too.

Trivial-Fix

Change-Id: I614dc6b8da9596b748db285709f9fbb146560b6f
2022-05-19 17:10:21 +00:00
Brian Haley
6012ba074f Start using security-groups-shared-filtering from neutron-lib
Remove security_groups_shared_filtering_lib extension and
use security-groups-shared-filtering from neutron-lib as
it is available since version 2.17.0 [0].

[0] https://review.opendev.org/c/openstack/neutron-lib/+/812617

Change-Id: Ife9b1ae47f5b447898bce0d8b44500f91f6dfbfb
Related-Bug: #1942615
2022-05-19 12:51:15 -04:00
Zuul
5c6eff7e15 Merge "Update OVN gaps document" 2022-05-18 17:28:17 +00:00
Zuul
7035f2c1f6 Merge "[OVS] Add "Open Flow processing considerations" doc section" 2022-05-18 17:17:20 +00:00
Zuul
68481e625f Merge "[OVN]Any string type dhcp options should be quoted" 2022-05-18 17:17:15 +00:00
Rodolfo Alonso Hernandez
5a9695c819 Make `MechDriverSetupBase` abstract
The class ``MechDriverSetupBase`` is a base class for other testing
classes. Make it explicitly an abstract class although that won't
prevent from instantiating an object of this class.

Trivial-Fix

Change-Id: I0236f5ede20cd1cbc44a5a79013eab12a7843389
2022-05-18 14:23:40 +00:00
Zuul
b07a689b5a Merge "Register common config options in `MechDriverSetupBase`" 2022-05-18 14:01:35 +00:00
Slawek Kaplonski
76a1206888 Update OVN gaps document
Recently we closed some of the gaps between ML2/OVS and ML2/OVN,
like for example:

* Support for the QoS DSCP,
* Support for the Layer 3 IPs QoS,
* Fix bugs [1] and [2] related to the OVN DNS resolution.

This patch updates documented gaps by removing those points from the
gaps list.
It also adds some links to the WIP patches for other of the gaps on that
list.

[1] https://bugs.launchpad.net/neutron/+bug/1951816
[2] https://bugs.launchpad.net/neutron/+bug/1950686

Change-Id: I0e670ef0a87300182ba83f350a84d28bf8d31eb9
2022-05-18 12:27:16 +02:00
Zuul
db83514d05 Merge "[OVN] Allow VIP ports with a defined "device_owner"" 2022-05-18 09:35:41 +00:00
Zuul
e35188ef3d Merge "[OVN] Handle missing acls during log removal" 2022-05-17 13:33:11 +00:00
Zuul
3690795ab6 Merge "FUP: remove convert_to_sanitized_binding_profile_allocation" 2022-05-17 13:04:53 +00:00
Rodolfo Alonso Hernandez
88fb5416f7 Bump neutron-lib to 2.21.0
This new neutron-lib version contains the patch [1], that provides
compatibility with SQLAlchemy 2.0.

[1]https://review.opendev.org/c/openstack/neutron-lib/+/828738

Related-Bug: #1962153
Topic: sqlalchemy-20
Change-Id: Ib2880b8fa61ae7691c527b837045cfa15226072c
2022-05-17 10:14:06 +00:00
Lajos Katona
7c4f273ed9 Revert "doc: Remove fwaas references from docs"
This reverts commit bce27811dfea634118fdb609289ac70c8d4a6854.

Reason for revert: neutron-fwaas has maintainers so the documentation should be available.

Due to changes since the original deletion commit the following changes
were added:
* Add note that OVN is not yet supported
* Remove note that Horizon support is not available

Change-Id: I1a739ee045b49e9b44283c28f95b1accc8a1e37f
2022-05-17 12:01:55 +02:00
liushy
18c32e4339 [OVN]Any string type dhcp options should be quoted
Any dhcp option[1] which value is string type in ovn
should be added quotes, otherwise it would be regard
as constant.

[1]https://github.com/ovn-org/ovn/blob/main/lib/ovn-l7.h#L116

Closes-Bug: #1946764
Change-Id: Id174cd944c3b883b749046bc49d00e011eb891fe
2022-05-16 20:55:30 +08:00
shenjiatong
182044d628 Do not auto subquery load DistributedPortBindings
We observe excessive DB calls to load DistributedPortBindings,
We have enabled DVR and have some huge virtual routers with around
60 router interfaces scheduled on around 200 compute nodes. Under such
situation, subquery load DistributedPortBinding looks like not a very wise
idea, because it is not explicitly used.

I glance through the code and have a feeling that ml2_distributed_port_bindings
is not used except explicitly called. So IMO it is safe to change it to
default lazy load without causing serious regression.

Closes-bug: #1973576
Change-Id: Ib2c48bd5ad55e9c754a8e4938e6c5eafacc75dcc
2022-05-16 15:42:33 +08:00
Rodolfo Alonso Hernandez
39d751a332 Refactor the OVN revision module to access the DB correctly
Method ``_ensure_revision_row_exist`` creates a DB reader context
when called from ``bump_revision``. This call is always done from
inside a DB write context. This method removes the unneded reader
context.

Closes-Bug: #1975837
Change-Id: Ifb500eef5513e930bf3a22d99183ca348e5fc427
2022-05-15 01:38:25 +00:00
Rodolfo Alonso Hernandez
b48595e419 [sqlalchemy-20] Add DB context in L2pop module
Some database operations in L2pop module didn't have the
needed database context to perform a query.

Closes-Bug: #1975797

Change-Id: I32a49efd9d56f7c06d3bb1de1352be1311686c42
2022-05-14 18:00:19 +00:00
Rodolfo Alonso Hernandez
3c637a2d12 [OVN] During the DB migration, allow the DB context to finish
During the execution of "migrate_neutron_database_to_ovn", that is
part of the OVN database migration process, the port bindings are
updated. If by any circumstance a port binding update fails, the
database write context should end properly (rolling back the
transaction) and any exception raise should be catched outside it.

Closes-Bug: #1975692
Change-Id: Idc6478e6f0fd1a2825b2c978b41feb5dab903357
2022-05-14 12:52:48 +00:00
Zuul
b12a6a0747 Merge "[L3HA] Don't update HA router's ports if router isn't active on agents" 2022-05-14 09:00:49 +00:00
Slawek Kaplonski
cd8bf18150 [L3HA] Don't update HA router's ports if router isn't active on agents
In case when HA router isn't active on any L3 agent,
_ensure_host_set_on_port method shouldn't try to update port's host to
the host from which there was an rpc message sent, as this can be host
on which router is in the "standby" mode.
This method should only update port's host to the router's "active_host"
if there is such active_host found already.

Depends-On: https://review.opendev.org/c/openstack/requirements/+/841489

Closes-Bug: #1973162
Closes-Bug: #1942190
Change-Id: Ib3945d294601b35f9b268c25841cd284b52c4ca3
2022-05-13 15:05:47 +00:00
Rodolfo Alonso Hernandez
db2ae854cf Create an index for "ports.network_id"
The method ``_port_filter_hook``, that is added in any "Port" SELECT
command, filters the database "Port" registers by "network_id", using
an exact match. This query speed will improve if this column is
indexed in the database engine.

Closes-Bug: #1973349
Change-Id: Ia20f96dc78ea04bb0ab4665e6d47a6365789d2c9
2022-05-13 13:49:36 +00:00
Zuul
0f3f94d05a Merge "Update python testing as per zed cycle teting runtime" 2022-05-13 08:39:00 +00:00
Rodolfo Alonso Hernandez
eb99c22213 Remove "distutils" library
Library "distutils" will be marked as deprecated in Python 3.10:
https://peps.python.org/pep-0386/

This patch does the following replacements, that provide the same
functionality and API:
- distutils.version.StrictVersion -> packaging.version.Version
- distutils.spawn.find_executable -> shutil.which

Closes-Bug: #1973780
Change-Id: Iad96ad3e7055f71c629efbe80070adbe297cd7aa
2022-05-12 23:50:07 +00:00
Zuul
c87ae2c0c6 Merge "doc: BGP dynamic routing guide: replaced deprecated bgp speaker show dragents with new dragent list --bgp-speaker" 2022-05-12 21:58:28 +00:00
Rodolfo Alonso Hernandez
4c37497e7c [OVN] Allow VIP ports with a defined "device_owner"
Now OVN VIP port can have a "device_owner" defined.

Closes-Bug: #1973276
Change-Id: Id1907481077d230e4461906a1a2a1447abac330a
2022-05-12 18:47:45 +00:00