Commit Graph

20662 Commits

Author SHA1 Message Date
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 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 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
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 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
Zuul 59bee68b1d Merge "dhcp: ensure that cleaning DHCP process with one segment happens first" 2024-04-05 15:37:24 +00:00
Zuul 2db8620523 Merge "[OVN] Create an OVN DB transaction context decorator" 2024-04-02 03:03:52 +00:00
Zuul 38a53ea6ed Merge "Bandit: Remove bandit B311, B303 from skip list" 2024-04-02 00:24:04 +00:00
Zuul a017624a85 Merge "Refactor some docstrings" 2024-03-30 06:55:36 +00:00
Rodolfo Alonso Hernandez 00b64d289b
[OVN] Create an OVN DB transaction context decorator
This decorator allows to create a new OVN database transaction or
use the existing one in a method. It is needed to pass the transaction
object (if any) and the IDL (Northbound or Southbound).

Related-Bug: #2052821
Change-Id: I925c1d745197edd08a62ced66b275c7b1dad1d6a
2024-03-29 10:13:58 +01:00
elajkat 3c557b29f8 Bandit: Remove bandit B311, B303 from skip list
Remove B303 (md5, sha1 for python<3.9) and
remove B311 (Standard pseudo-random generators are
not suitable for security/cryptographic purpose) from
the skip list of bandit execution.

Change-Id: I6e9e61e7f94dc9ca339942529af8997adef45e38
2024-03-28 13:55:25 +01:00
Miguel Lavalle 8ff8203fd7 Enable HA for OVN router flavors
In this change, we add the ability to create high availability
user defined router flavors under the ML2/OVN L3 service
plugin.

Closes-Bug: #2020823

Change-Id: I0d26f672d6239d840d3cf817a2553a06ef00a854
2024-03-26 20:07:52 -05:00
Zuul 01a6684dd0 Merge "Don't delete already deleted extra router routes" 2024-03-26 17:34:23 +00:00
Zuul 0590bcda68 Merge "Fixing the 500 HTTP code in the metadata service if Nova is down" 2024-03-26 16:42:10 +00:00
Anton Kurbatov 6395b4fe8e Fixing the 500 HTTP code in the metadata service if Nova is down
If the Nova metadata service is unavailable, the requests.request()
function may raise a ConnectionError. This results in the upper code
returning a 500 HTTP status code to the user along with a traceback.
Let's handle this scenario and instead return a 503 HTTP status code
(service unavailable).

If the Nova service is down and is behind another proxy (such as
Nginx), then instead of a ConnectionError, the request may result in
receiving a 502 or 503 HTTP status code. Let's also consider this
situation and add support for an additional 504 code.

Closes-Bug: #2059032
Change-Id: I16be18c46a6796224b0793dc385b0ddec01739c4
2024-03-26 12:14:08 +00:00
Miguel Lavalle 9d729bda20 Check unspecified flavor in user defined driver
In order to decide whether to process a router related
request, the user defined router flavor OVN driver needs to
check the flavor_id specified in the request. This change adds
the code to test the case when the API passed the flavor_id as
unspecified.

Change-Id: I4d7d9d5582b97246cad63ef7f5511b159d6c6791
Closes-Bug: #2059051
2024-03-25 17:30:01 -05:00
Zuul e003fd73f6 Merge "Clean up state VRRP PID file" 2024-03-25 16:12:28 +00:00
Sahid Orentino Ferdjaoui 5453c92a2e dhcp: ensure that cleaning DHCP process with one segment happens first
Previously, the code used to clean up old DHCP processes for a network
before creating new ones supporting multiple segments per network
could potentially not be executed first. Since disabling applies to
cleaning the namespace, this could have led to the network setup being
destroyed after being done.

This change moves the part that cleans up the old DHCP setup to ensure
it is executed first.

Closes-bug: #2049615
Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@industrialdiscipline.com>
Change-Id: Iecdb2d81ee077c9b9057d0708c5c88e159970039
2024-03-25 10:22:05 +01:00
Youngjun 418d87b276 Refactor some docstrings
Change-Id: I0ed606d0b206f3bb361e602b4b8ec8f36355c54d
Signed-off-by: Youngjun <yj.yoo@okestro.com>
2024-03-25 00:39:47 +00:00
Zuul 4e9d03d29f Merge "Fix used-before-assignment warnings" 2024-03-22 01:27:48 +00:00
Zuul 57f48b03ac Merge "Fix disallowed-name warnings" 2024-03-22 01:27:40 +00:00
Rodolfo Alonso Hernandez 70ddf4eef5 Add "socket" NUMA affinity policy
This new extension adds a new parameter to the NUMA affinity policy
list: "socket". The "socket" NUMA affinity policy has been supported
in Nova since [1].

[1]https://review.opendev.org/c/openstack/nova/+/773792

Closes-Bug: #2052786
Change-Id: Iad2d4c461a2aceef6ed2d5e622cce38362d79687
2024-03-21 16:04:24 +00:00