Commit Graph

28093 Commits

Author SHA1 Message Date
Zuul 35daa2d868 Merge "Optimize deletion of static routes" 2024-05-13 12:11:58 +00:00
Ihtisham ul Haq 305153883b Optimize deletion of static routes
Instead of having a separate OVN command for deletion of each
static route, send out the deletion as a single command.

Which significantly improves the performance. Previously
deletion of 1000 routes took >1m30s and >6m30s for 2000 routes,
with this change it takes ~5s and ~8s, respectivily.

Closes-Bug: #2060054
Change-Id: Iaa5204e2e48795c31c502160041bd128189eef5a
2024-05-12 18:21:30 +02:00
Ihar Hrachyshka a3d0fb6673 tests: Don't use neutron object where db model is expected
Change-Id: I5f99153c105e7f86638356a75a955504ed42e288
2024-05-07 22:16:18 -04:00
Jakub Libosvar 5795c192b8 Don't update revision number if object was not modified
If there were not changes made to data in the database there is no
reason to bump revision numbers because the underlying drivers won't
change too. This saves cycles in case empty updates are incoming to the
API.

Co-Authored-By: Ihar Hrachyshka <ihar@redhat.com>

Closes-bug: #2065094
Change-Id: Ib74fdab7a8927ef9cc24ef7810e9cf2c264941eb
2024-05-07 22:16:14 -04:00
Slawek Kaplonski cdb644574a Remove info about QoS and L3 meetings from the contributing guide
We don't have those meetings anymore.

Change-Id: I9957124609114540812b0141b09cd41026801f03
2024-05-06 08:50:25 +02:00
Zuul 7f56084c88 Merge "Start trunk plugin RPC via service framework" 2024-05-03 01:49:43 +00:00
Zuul 305d9ea0c7 Merge "Add tox.ini testenv descriptions" 2024-05-02 10:04:47 +00:00
Sebastian Lohff ffcaeda32a Start trunk plugin RPC via service framework
Instead of each individual driver setting up the RPC server (and setting
the _rpc_backend attribute on the TrunkPlugin) we now check in the
TrunkPlugin if any driver requires the RPC backend to be started.
Additionally, we only start it when this is requested by Neutron via
start_rpc_listeners(). This is required when running neutron-server and
neutron-rpc-server separately to run RPC only in neutron-rpc-server.

As we still need the notifiers of ServerSideRpcBackend to be
created/started, we separate TrunkSkeleton (which is the RPC server
implementation) and ServerSideRpcBackend (which is essentially only a
notifier). In case RPC is required by a driver, we always start the
notifier, but the RPC server only when requested via
start_rpc_listeners().

Change-Id: I2c6362b3320e534a6e65bd7701b5ac2feca42a49
Closes-Bug: #2015275
Closes-Bug: #2062009
2024-04-30 16:18:53 +02:00
OpenStack Release Bot a35858b053 reno: Update master for unmaintained/zed
Update the zed release notes configuration to build from
unmaintained/zed.

Change-Id: I4f862c25bc4f6b7181b1e84a3128d93aca0c9d01
2024-04-30 08:54:02 +00:00
Brian Haley a5ee7497b0 Add tox.ini testenv descriptions
Add descriptions for each test that can be run.

TrivialFix

Change-Id: I7314e4c1ee82182cdd6ae12734e8a5f9cadae0e2
2024-04-29 17:23:56 -04:00
Ihar Hrachyshka a69bd0dd60 Make it explicit ovs_firewall operates with ip, mac pairs
The semantics changed since I2e3aa7c400d7bb17cc117b65faaa160b41013dde
but the code was not updated to reflect it explicitly.

This patch modifies _update_flows_for_vlan_subr.

Change-Id: Id5e0d8bcc379f19dc85b23b4602be4e0e82f3d00
2024-04-26 22:50:29 -04:00
Ihar Hrachyshka ae704369b5 tests: fix invalid `addr` mock values in ovs firewall suite
The tests were passing a string of IPv4 address where the actual code
was expecting a tuple of (IPv4 address, MAC address). The type of the
`addr` changed from a string to a tuple in:

I2e3aa7c400d7bb17cc117b65faaa160b41013dde

but the names of variables and the test cases were not.

Tests still didn't fail till recently because addr[0] resulted in the
first character of the IPv4 address string (e.g. `1`), and was then
interpreted by `netaddr` library as an address. This worked until
`netaddr>=1.0` started to enforce proper formats for passed IPv4
addresses - which broke the tests.

Closes-Bug: #2054435
Change-Id: Ib9594bc0611007efdbaf3219ccd44bbb37cfc627
2024-04-26 22:50:29 -04:00
Zuul 22a3384194 Merge "Fix assignment-from-no-return error" 2024-04-25 17:31:42 +00:00
Zuul 484b04cf01 Merge "Register root_helper config for state change" 2024-04-23 22:55:06 +00:00
Zuul 72c8ce2c1a Merge "Start logging plugin RPC via service framework" 2024-04-23 21:23:03 +00:00
Zuul a02b46b5b7 Merge "dhcp: fix auto_scheduler_network understanding dhcp_agents_per_network" 2024-04-23 21:02:27 +00:00
Zuul c21a9169c6 Merge "Bandit: Remove bandit B604 from skip list" 2024-04-23 16:10:51 +00:00
Zuul 34a0e88dce Merge "Bandit: Remove bandit B324 from skip list" 2024-04-23 15:51:38 +00:00
Zuul 135cfa3215 Merge "Ensure [designate] url is a valid URI" 2024-04-23 05:31:28 +00:00
Zuul 890bb3904d Merge "Switch to cirros uec image in singlenode jobs" 2024-04-22 16:17:48 +00:00
Zuul 4ce6cc8792 Merge "Replace bare Opt by PortOpt" 2024-04-22 16:17:44 +00:00
Zuul 9a5e1a8a42 Merge "Fix keyword-arg-before-vararg warnings" 2024-04-22 15:49:02 +00:00
Zuul febc39733e Merge "Fix global-variable-not-assigned warnings" 2024-04-22 15:48:58 +00:00
Zuul 250ce131fe Merge "[OVN] Add release note for OVN router tunnelled networks ext GW" 2024-04-22 15:48:53 +00:00
Zuul 78f157ca32 Merge "[OVN] Optimize ``HAChassisGroupRouterEvent`` code" 2024-04-22 15:48:50 +00:00
elajkat 85808693ec Bandit: Remove bandit B604 from skip list
Remove B604 (any_other_function_with_shell_equals_true),
so use subprocess.Popen with the default shell=False,
thus removing the shell parameter of common.utils.subprocess
Popen method.

Depends-On: https://review.opendev.org/c/915991
Change-Id: I1857e982211c4de29b3e24ec2485ea9c17c98b10
2024-04-22 13:29:52 +00:00
yatinkarel 45b39b84e5 Switch to cirros uec image in singlenode jobs
Seen couple of kernel panic issues in these jobs
even with libvirt_disable_apic=True workaround set.
switch to cirros uec image to avoid these issues.

Related-Bug: #1939108
Change-Id: Ib7f50f53368e2aea86ec47f73a1f8f50d9aac3be
2024-04-22 18:52:44 +05:30
Sahid Orentino Ferdjaoui 1bc945f0d5 dhcp: fix auto_scheduler_network understanding dhcp_agents_per_network
When using routed provided network, the condition is bypassing
dhcp_agents_per_network which results that in a env with 3 agents and
dhcp_agents_per_network=2, for a given network already well handled
by 2 agents. If restarting the third agent It will start to handle the
network also which will result to have 3 agents handling the
network.

Closes-bug: #2058908
Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@industrialdiscipline.com>
Change-Id: Ia05a879b0ed88172694bd6bffc6f7eb0d36bb6b0
2024-04-22 14:20:20 +02:00
Takashi Kajinami 3bbf259a4e Ensure [designate] url is a valid URI
... using the native URIOpt in oslo.config.

Change-Id: I2753ce0bccbb2607327137d6c1bbc0c2a3276f34
2024-04-22 14:08:06 +09:00
Takashi Kajinami 9148c20b66 Replace bare Opt by PortOpt
The placement_port option in fullstack tests can be implemented by
the native PortOpt instead of defining a specific type.

Change-Id: Iedf50249080d3f631942febb1f5e089f06f43db0
2024-04-22 14:04:13 +09:00
Zuul 49a25e7c04 Merge "Fix consider-using-min-builtin warnings" 2024-04-19 00:54:56 +00:00
Sebastian Lohff 6170309157 Start logging plugin RPC via service framework
Instead of the LoggingServiceDriverManager starting the RPC if any
driver needs it, we now only start it when this is requested by neutron
via start_rpc_listeners(). This is required when running neutron-server
and neutron-rpc-server separately to run RPC only in neutron-rpc-server.

Change-Id: I8d185cdc807e94098c137314bcaa2317a2f85ebe
Partial-Bug: #2062009
2024-04-17 18:22:35 +02:00
Zuul f2342e0d17 Merge "Use native IntOpt for overlay_ip_version" 2024-04-16 21:47:49 +00:00
Zuul 73608c24a9 Merge "More precise flow table cleaning" 2024-04-16 21:47:43 +00:00
Zuul 234d7d4238 Merge "Mark L3HA dvr tests unstable" 2024-04-16 17:15:27 +00:00
yatinkarel 4d405ca675 Mark L3HA dvr tests unstable
These test randomly fails with NetworkInterfaceNotFound
from quite some time. Until the issue is fixed added unstable_test
decorator so the job do not fail for these.

Related-Bug: #1961740
Change-Id: I1a352526aac72b417f93f51ba50c3359359c240d
2024-04-16 18:59:29 +05:30
Zuul 019294c71d Merge "[OVN] Provide HA functionality to "Logical_Router" chassis pinning" 2024-04-11 11:01:43 +00:00
Zuul 4e9f00078b Merge "[OVN] "Logical_Router" pinned to chassis, OVN L3 scheduler" 2024-04-11 11:01:38 +00:00
Zuul 031aad583d Merge "Change exception messages to error log messages for DNS integration." 2024-04-10 23:53:01 +00:00
Jayce Houtman 5fe5188ce5 Change exception messages to error log messages for DNS integration.
Change non-harmful stack trace errors for dns_exc.DNSDomainNotFound and
dns_exc.DuplicateRecordSet to error log messages. This prevents the logs
from filling with stack traces where error messages would have been
sufficient enough.

Closes-Bug: #2042925
Change-Id: Icf1fff28bb560c506392f16c579de6d92cd56c23
2024-04-10 17:03:29 +02:00
elajkat d782a868d7 Bandit: Remove bandit B324 from skip list
Remove B324 (prohibit list calls: md5, sha1 for python>=3.9)
from bandit skip list, for this replace sha1 with blake2b.

Change-Id: Iafe571ad0de0408414ed321f4b9e9588916a873d
2024-04-10 11:56:46 +02:00
Brian Haley 0914e6db3c Fix global-variable-not-assigned warnings
There were some globals in the IP monitor functional tests
that were only used and never assigned, there is no need
to define them as such in this case. No functional change.

TrivialFix

Change-Id: I0f8e630538ea5ae21537a9a72faf0cdd34096f11
2024-04-09 19:04:55 -04:00
Brian Haley 1ee6d94f89 Fix consider-using-min-builtin warnings
Use min() builtin instead of open-coding it.

TrivialFix

Change-Id: I28a1b365a6d047a9fb512d30f8c0425fd1d08326
2024-04-09 18:13:44 -04:00
LIU Yulong bac1b1f721 More precise flow table cleaning
OVS-agent wants to clean flows table by table during restart,
but actually it does not. If one table has same cookie with
other tables, all related flows will be clean at once.

This patch adds the table_id param to the related call
to limit the flow clean on one table at once.

Closes-Bug: #2060587
Change-Id: I266eb0f5115af718b91f930d759581616310999d
2024-04-09 14:10:55 +08:00
Rodolfo Alonso Hernandez 8396d0bb6d [OVN] Add release note for OVN router tunnelled networks ext GW
Related-Bug: #2052821
Change-Id: Ie0a587808681e49d11f723ca672097f9843f5123
2024-04-08 23:25:22 +00:00
Rodolfo Alonso Hernandez c2f34e136d [OVN] Optimize ``HAChassisGroupRouterEvent`` code
This patch is addressing some comments made in the previous patch [1]
and optimizing the code of ``HAChassisGroupRouterEvent`` class.

Related-Bug: #2052821

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

Change-Id: Ibc4afce16e95ea7d48737c254cd11431e9994704
2024-04-08 22:52:42 +00:00
Rodolfo Alonso Hernandez bd31c23380 [OVN] Provide HA functionality to "Logical_Router" chassis pinning
When an external tunnelled network is used as gateway network in an
OVN router, the "Logical_Router_Port" is not bound to any chassis and
the "Logical_Router" is pinned to a gateway chassis, using the list
provided in a "HA_Chassis_Group".

This patch attends to any change in the "HA_Chassis" list of the
"HA_Chassis_Group" to update the "Logical_Router" chassis assigned.
This provides HA functionality in case that the bound chassis
(chassis pinned) fails.

Closes-Bug: #2052821
Change-Id: Ia3d4271d015386fbec3c3f2276a7f62c2f8ad5dd
2024-04-08 16:38:56 +00:00
Rodolfo Alonso Hernandez 25a1809964 [OVN] "Logical_Router" pinned to chassis, OVN L3 scheduler
Pin a "Logical_Router" to a chassis when the gateway network (external
network) is tunnelled. When the external network is tunnelled, the
"Logical_Router_Port" acting as gateway port is not bound to any
chassis (the network has no physical provider network defined).

In that case, the router is pinned to a chassis instead. A
"HA_Chassis_Group" is created per router. The highest "HA_Chassis" of
this group is assigned to the router. If the gateway port is deleted,
the pinned chassis is removed from the "options" field. If the
router is deleted, the "HA_Chassis_Group" is deleted too.

NOTE: in the a chassis belonging to the router "HA_Chassis_Group"
changes, the list of "HA_Chassis" will be updated in
``ChassisEvent.handle_ha_chassis_group_changes``. However, a
"HA_Chassis_Group" change is handled by OVN, when assiged.

But in this case we are using this artifact, as commented before,
to "manually assign" (from core OVN point of view) the highest
priority "HA_Chassis" to the router (this upcoming funcionality
will be implemented in core OVN). A new follow-up patch will be
pushed to provide HA functionality and update the "HA_Chassis"
assigned to the "Logical_Router" when the chassis list changes.

Partial-Bug: #2052821
Change-Id: I33555fc8a8441149b683ae68f1f10548ffb662a6
2024-04-08 16:38:09 +00:00
Takashi Kajinami a6e57754e0 Use native IntOpt for overlay_ip_version
The IntOpt class supports choices argument since oslo.config 9.4.0[1].

[1] 83bbc0df4316e8a17b8417d02c80cd0cf5a8568e

Change-Id: I27b825d7b65b6c40692785b50c8a8ccc3ca80b73
2024-04-08 15:04:15 +09:00
Zuul 4cad0eda59 Merge "Fix KeyError failure in _sync_subnet_dhcp_options()" 2024-04-06 00:26:55 +00:00