Commit Graph

20704 Commits

Author SHA1 Message Date
Zuul 06c1972a48 Merge "Return both project_id when validating auto allocate network" 2024-05-24 09:31:16 +00:00
Zuul 0534f5dea7 Merge "Do not fail on missing logical router ports" 2024-05-23 04:00:40 +00:00
Zuul 2718a7da47 Merge "Bump port revision if binding_levels changed" 2024-05-22 23:33:39 +00:00
Zuul 147dc93eff Merge "tests: Use `del_fake_chassis` when deleting a chassis" 2024-05-22 22:19:40 +00:00
Slawek Kaplonski dfc01beab2 Return both project_id when validating auto allocate network
When neutron API is called to check requirements for the auto_allocate
topology, it needs to return not only 'tenant_id' field but also
'project_id' as that is required for the policy enforcement.
Without this 'project_id' field requirements check was failing for
member and reader users as they got 404 from the Neutron API. And the
reason why Neutron was returning 404 was that it wasn't passing policy
enforcement due to missing project_id field in the 'target' object.

Closes-bug: #2066369
Change-Id: Idf96a82bc6c8cb0b47dfde3baba94b42a8a8beba
2024-05-22 15:28:05 +02:00
Ihar Hrachyshka 60167cbb6e tests: Use `del_fake_chassis` when deleting a chassis
This will guarantee that regardless of ovsdbapp version, Chassis_Private
will be deleted. This allows us to wait for a single event (DELETE) and
test the same behavior for all ovsdbapp versions. (Behavior of agent
listing when both Chassis and Chassis_Private records are deleted from
ovn db.)

Depends-On: https://review.opendev.org/c/openstack/requirements/+/920062
Change-Id: I0dfa21a927067afb532d7632f7e05427623327f5
2024-05-22 05:40:01 +00:00
yatinkarel 7967627035 Do not fail on missing logical router ports
set_gateway_mtu runs for all the gateway ports for a network
and if one of the ports get's deleted in meanwhile
whole transaction fails. Added if_exists=True so the
transaction do not fail for such deleted ports.

Also update minimal version of "ovsdbapp" required for
this.

Depends-On: https://review.opendev.org/c/openstack/ovsdbapp/+/919696
Depends-On: https://review.opendev.org/c/openstack/requirements/+/920062
Closes-Bug: #2065701
Related-Bug: #2060163
Change-Id: Ie0ce420414f1e6056d9df2733b7446d02c89fcfc
2024-05-22 09:17:07 +05:30
Zuul c89b50c639 Merge "Remove the Windows OS libraries" 2024-05-21 19:40:11 +00:00
yatinkarel 20b9893e34 [functional tests] compatibility with ovsdbapp>=2.7.0
ovsdbapp>=2.7.0 handles cleanup of Chassis_Private record
with chassis delete so we don't need explicit delete.
The compatibility part can be dropped when we update
requirements.txt to ovsdbapp>=2.7.0.

Closes-Bug: #2066263
Change-Id: I45c6e6a1c3536cf4f2d90b01a3577eec9eaf3743
2024-05-21 14:31:36 +00:00
Zuul e0442afa9b Merge "Remove the restriction on empty cidr's update events" 2024-05-20 11:45:15 +00:00
Zuul 5bec5c54ac Merge "Remove string support in install_instructions" 2024-05-20 11:45:11 +00:00
Zuul 2cb47b2a36 Merge "Make common Metadata Proxy classes" 2024-05-20 11:27:11 +00:00
Zuul dcfe7c4a4d Merge "Rename create_flows_for_ip_address to reflect it accepts (ip, mac)" 2024-05-20 11:27:06 +00:00
Zuul 527e712a18 Merge "Increase code coverage for ip_lib sysctl()" 2024-05-20 09:44:29 +00:00
Zuul bd11b838ff Merge "Increase code coverage for cidr_broadcast_address_alternative()" 2024-05-17 18:12:43 +00:00
Zuul dac655c643 Merge "Increase code coverage for floating_mangle_rules()" 2024-05-17 18:12:39 +00:00
Zuul 31427e7432 Merge "Increase code coverage for plugin _get_network_mtu()" 2024-05-17 18:12:30 +00:00
LIU Yulong 80577381d9 Bump port revision if binding_levels changed
Related-Bug: #2065577
Change-Id: I0d04c3a1dae86a2b6b4ba70c0e9595b2527b4f71
2024-05-17 11:43:53 +08:00
Zuul 6c5a052ac0 Merge "Put monitors dictionary back in MetadataDriverBase class" 2024-05-16 01:32:41 +00:00
Zuul 2fc5f37669 Merge "Increase code coverage for OVN SG update" 2024-05-15 22:03:31 +00:00
Ihar Hrachyshka d040a38f49 Rename create_flows_for_ip_address to reflect it accepts (ip, mac)
The semantics changed since I2e3aa7c400d7bb17cc117b65faaa160b41013dde
but the name was not updated.

This patch also revealed a number of issues in unit tests where
mock flow_states were using the old key format (bare ip) instead of the
new (ip, mac) tuple. These are also now fixed.

Change-Id: Ic96b5ce6576c31075602e0f033fd74acbae333ee
2024-05-15 15:10:39 +00:00
Takashi Kajinami 11255ede97 Fix the broken neutron gate
There are currently two issues affecting the neutron gate, one
for pep8 job and the other for fullstack. We need to fix them
both together since they cannot merge separately.

Bump pylint to the latest version to fix pep8 job - it was
pinned to an old version which is causing the job to hang.

Do not use str(url) to stringify a URL for subsequent use
to fix  the fullstack job. The str(url) function in SQLAlchemy
hides the password. For a URL string that is to be re-used, use
render_as_string(hide_password=False).

Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com>

Closes-Bug: #2065779
Change-Id: I8d04db91ddc2995fbff05b4c4c48baebcc418522
2024-05-15 16:13:38 +02:00
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
Brian Haley 5b62e27154 Put monitors dictionary back in MetadataDriverBase class
When the common Metadata Driver was created in [0], the
monitors dictionary was dropped accidentally. This causes
tracebacks in the fullstack L3-HA tests when
after_router_updated() is called. Put it back along with
its related tests.

[0] https://review.opendev.org/c/openstack/neutron/+/894399

Closes-bug: #2065145
Change-Id: I137ed7cec9e0eafdb3a351e5a414f5a0c16f33e5
2024-05-08 17:31:55 -04: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
Zuul 7f56084c88 Merge "Start trunk plugin RPC via service framework" 2024-05-03 01:49:43 +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
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 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
Brian Haley 7b4e9f8c26 Make common Metadata Proxy classes
The ML2 and OVN metadata agents have almost identical
code, as the former was copied to the latter and modified.
Instead, combine all the common parts and just have
each do any proxy-specific operations separately.

Change-Id: Ie1a482f4a028cd61233157f992f5476117e9a6cc
2024-04-18 18:01:09 -04: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