Skip to content

Synchronise master with upstream - #345

Open
github-actions[bot] wants to merge 46 commits into
stackhpc/masterfrom
upstream/master-2026-09-14
Open

Synchronise master with upstream#345
github-actions[bot] wants to merge 46 commits into
stackhpc/masterfrom
upstream/master-2026-09-14

Conversation

@github-actions

Copy link
Copy Markdown

This PR contains a snapshot of master from upstream master.

brianphaley and others added 30 commits August 7, 2026 20:47
Change all "raise Exception()" call sites to instead
raise a RuntimeError(). Fixed tests as necessary.

TrivialFix

Change-Id: I195222b0be09c21d68ec3af541ec8d9956215404
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Brian Haley <haleyb.dev@gmail.com>
Changed code to use {} directly, fixed tests accordingly.

TrivialFix

Change-Id: I26c4a20eb1e9b51050d4fafe66c0cb3ede4baafb
Assisted-by: Claude Sonnet 4.6
Signed-off-by: Brian Haley <haleyb.dev@gmail.com>
Re-grouped imports as necessary to address warnings.

TrivialFix

Change-Id: I29b6c2851f0c0406e995ede7e98b28171d847468
Assisted-by: Claude Sonnet 4.6
Signed-off-by: Brian Haley <haleyb.dev@gmail.com>
The EVPN agent fallback ``BGP_ROUTER_CONFIG`` did not set a neighbor
password, so BGP sessions that require authentication could not be
established when no base FRR router existed at runtime.

Add ``[ovn_evpn] bgp_password`` and emit the FRR neighbor password
line only when the option is set.

Closes-Bug: #2163310

Assisted-By: Grok 4.5
Signed-off-by: Eduardo Olivares <eolivare@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Change-Id: Iac9c91d98e6d195230a1a1587d0306d65632f3dd
This patch implements support for the indirect floating IPs by
making FIP's `router_id` attribute to be writable through the API.
The spec describing that change is [1]

[1] https://review.opendev.org/c/openstack/neutron-specs/+/996269

Co-authored-by: Piotr Ladynski <piotr.ladynski@core42.ai>

Closes-bug: #2072505

Assisted by: OpenAI GPT-5.6 Terra

Change-Id: Ic38c6b00d6a7aaa96181fe96c3a13b07ebcdc587
Signed-off-by: Slawek Kaplonski <skaplons@redhat.com>
This patch adds to neutron-ovn-db-sync-util tool way to load
additional config files defined by the external sync plugins. For
example ovn-octavia-provider plugin needs load also Octavia config file
together with Neutron config files which are typically used by that CLI
tool. With this patch this is possible for ovn-octavia-provider to
register own CLI option like `--octavia-config-file`. That config file
will be then loaded as `plugin_config` and ovn-octavia-provider sync
plugin will be able to use Octavia configuration that way, without
overwriting Neutron configuration loaded from files provided by standard
`--config-file` CLI option.

Assisted-by: Cursor Composer 2.5

Closes-bug: #2156035

Change-Id: Ie299282e22fe9c912ce323c07104307e5182811d
Signed-off-by: Slawek Kaplonski <skaplons@redhat.com>
``_initialize_pvlan_pg_drop`` runs ``OvsdbClientTransactCommand`` at worker
startup and can fail if the OVN Northbound database is not yet reachable,
causing a ``CallbackFailure`` that prevents the worker from starting.
Decorate the callback with ``@ovn_utils.retry()`` so the transaction is
retried with exponential backoff, using the same helper as other OVN
components.

Partial-Bug: #2165986
Assisted-By: Composer 2.5
Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: Ia752a52918aea4c5881b5933fcde23e32188bd4d
Previously the ARP proxy was set to the whole provider
network cidr so the LSP replied to all ARP request, including
those that belong to the workloads. This caused some DHCP client
refused the IP as the Address Conflict Detection got replies
for GARPs from the ARP proxy.

The ARP proxy is needed only for case where a workload
on a provider network communicates with a VM with a FIP
on the same provider network.

The patch configures only FIP addresses on the ARP proxy. It is
configured by the reconciler or by an event when a new NAT entry is
added or removed.

Assisted-By: Claude Opus 4.6
Related-Bug: #2154515

Change-Id: Ib749f8e67aad33fa693b13323abeab688a71ebfa
Signed-off-by: Jakub Libosvar <jlibosva@redhat.com>
``_initialize_pvlan_pg_drop`` is subscribed to ``PROCESS / AFTER_INIT``,
which is published by every Neutron worker at startup, including RPC
workers. Restrict the Port_Group creation to the first API worker using
``wsgi_utils.is_first_api_worker()`` so only one process runs the OVSDB
transact.

Closes-Bug: #2165986
Assisted-By: Composer 2.5
Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: Ic31755538e63c5a2cad9cb97933e3192ebed2fa0
Rewrite the "Neutron Core Reviewer Membership Expectations" section in
neutron-teams.rst to provide a more detailed and actionable guide for
contributors aspiring to become core reviewers.

The new content references the OpenStack TC criteria when considering
new cores, and summarizes five key expectations: attending meetings
(Team, Drivers, CI), volunteering to fix bugs on Launchpad, volunteering
for the bug deputy role, spending time doing valuable code reviews with
links to peer review guidelines, and attending virtual design summits
(PTG).

Assisted-By: Composer 2.5
Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: I587bbe02ee3bc7db32954a8acba6980998fc6071
Rename ``contributor/contribute.rst`` as ``contributor/new_extensions.rst``
to better reflect the content of this documentation file. Update the
toctree entry in ``index.rst`` accordingly.

Assisted-By: Composer 2.5
Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: Iab8d3cffe2b58d7f90dd4f065e28bb54c755cdb3
Document the 72-character line limit in the git-commit-messages agent
rule. This matches the standard OpenStack/git convention and keeps
commit messages readable in Gerrit and git log output.

Related-Bug: #2159618
Assisted-By: Composer 2.5
Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: If56b79aa03a11370e38bb4f5ded11b70b6c5923a
The BGP multinode job mixed the ubuntu-resolute-nested-virt-8GB label
(controller, compute1) with ubuntu-resolute-4GB (leafs, spine). Since
Zuul must satisfy every node of a nodeset from a single provider, and
only openmetal offers both labels, the job was pinned to openmetal and
hit random NODE_FAILUREs when that provider lacked capacity.

Define nodeset alternatives that vary the leaf/spine labels (4GB, 8GB,
16GB) so the combination can be satisfied by openmetal, ovh or vexxhost.

Assisted-By: Claude Opus 4.8
Change-Id: Ife1980d49b402bd0fc369dd4e73f7910af67c799
Signed-off-by: Eduardo Olivares <eolivare@redhat.com>
BGP bug affecting test_reuse_ip_address_with_other_fip_on_other_router
has been resolved with [1], so the test can be removed from
tempest_exclude_regex.

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

Change-Id: I8fa13a72b0b9bac6dfb85f9bd2457f13e9622998
Signed-off-by: Eduardo Olivares <eolivare@redhat.com>
New tests have been added for the leak_routes feature.

Related-Bug: 2161353

Depends-On: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/999016
Depends-On: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/999007

Change-Id: If5697c79d0ff2c87fb6da5eeaa223ddbc7250122
Signed-off-by: Eduardo Olivares <eolivare@redhat.com>
Test test_fip_from_vm_on_external_network failed on BGP because with
newer cirros versions becase of LP#2154515.
Once https://review.opendev.org/c/openstack/neutron/+/1003381 has been
merged, the cirros version can be bumped.

Related-Bug: #2154515

Change-Id: I6a6fe11edf3e9274d5689b2a3e4c0b95d9dd5edd
Signed-off-by: Eduardo Olivares <eolivare@redhat.com>
VNIVLANAllocator took a single physnet argument and forwarded it
to both the VNI allocator and the VLAN allocator. The physnet
column is how these tables express which pool a value comes
from, and the VNI pool is not the VLAN pool: a VNI is unique
across the whole fabric, while a VLAN ID is only unique on a
single physical network.

Conflating the two means a deployment cannot reuse one VNI
across several availability zones that each have their own
independently exhausting VLAN pool. Instead the ~4094 VLAN
ceiling applies to the whole cluster, so connectivity becomes
impossible once the VLANs run out even though plenty of VNIs
remain.

Introduce a ScopedRange dataclass holding a range and the
physnet that scopes it, and take one per resource. This keeps
the parameter count down and makes it hard to pass a VNI bound
where a VLAN bound belongs. allocate_specific_vni keeps a bare
vni_physnet because a caller-chosen VNI has no range. No schema
change is needed: vni_allocations and vlan_allocations are
already separate tables with their own physnet column, and
nothing constrains a vni_vlan_mapping row to pair allocations
from the same physnet.

EVPN L3 has a single scope for each today, so EVPNDbHelper uses
the same physnet in both ranges and its behaviour is unchanged.

This is an alternative to I77ef008e729cc956477acff1b4f0777214164f26,
which fixes the same bug by splitting the physnet into two plain
parameters instead. Only one of the two should merge.

Closes-Bug: #2162930
Assisted-By: Claude Opus 5
Change-Id: I8bf9df6ceb14c59037ced83172499542ba626f95
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
Add optional support for separate logical switches per VLAN segment
in routed provider networks. This enables multiple segments per host
by creating individual logical switches for each VLAN segment instead
of sharing the network logical switch.

Key features:
- New config option: logical_switch_per_vlan_segment (default: False)
- VLAN segments get dedicated logical switches (neutron-<segment_id>)
- All other network types continue getting one logical switch per network
- Segment-aware metadata port creation and management
- Enhanced maintenance job with segment logical switch support
- Full backward compatibility when feature is disabled

Related-Bug: #2130453
Assisted-By: claude-4.6-opus
Change-Id: I5644981f3fe8ddd664dbebbb9804297727e53e9e
Signed-off-by: Miguel Lavalle <mlavalle@redhat.com>
Add maintenance tasks to handle segment logical switch
inconsistencies. This includes _fix_create_update_segment and
_fix_delete_segment methods, along with dispatch logic in
check_for_inconsistencies to route TYPE_SEGMENTS resources
to the appropriate handlers.

Related-Bug: #2130453
Assisted-By: claude-4.6-opus
Change-Id: I703c42b72d7d823a36ef9346ce71ec92f2c85839
Signed-off-by: Miguel Lavalle <mlavalle@redhat.com>
An extension is defined for the OVN agent to manage the lifecycle of
the OVS bridges that represent network segments in routed provider
networks.

Related-Bug: #2130453
Assisted-By: GPT-5.2-Codex
Change-Id: I8fcdf78588783f8a2bd749eb6e9bceb1550a13d6
Signed-off-by: Miguel Lavalle <mlavalle@redhat.com>
The `wait_until_address_ready` will make sure that
ports have completely finsihed IP address negotiation
before ping attempt is made.

Closes-Bug: #2166698
Assisted-By: Composer 2.5
Change-Id: I8ade74b281ca895f0260b140ac58076b6b42a0dc
Signed-off-by: Miro Tomaska <mtomaska@redhat.com>
Zuul and others added 16 commits September 9, 2026 21:09
During live migration on multi-segment networks, the OVN mechanism
driver could bind a port to a segment whose subnet does not contain
the port's IP address. Filter ``segments_to_bind`` using the port's
fixed IPs' subnet ``segment_id``, consistent with OVS, MacVTap, and
SR-IOV drivers.

Closes-Bug: #2166459
Assisted-By: Composer 2.5
Signed-off-by: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Change-Id: I047e7611ad41389f4d24f6d17b59b7532d75bdd6
The OVN has fixed the issue reported at [1] and backported to
26.03 branch. There has not been a new 26.03.3 release and possibly
is planned for early October.

In the meantime, let's use the moving branch to get the fix early.

[1] https://redhat.atlassian.net/browse/FDP-3587

Change-Id: Iabef3ef1c09610602f8e1cc039c79588b54fbd5f
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
Add file to the reno documentation build to show release notes for
stable/2026.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2026.2.

Sem-Ver: feature
Change-Id: I6501004f58edfe37c319d46925c39a2e3b36ac50
Signed-off-by: OpenStack Release Bot <infra-root@openstack.org>
Generated-By: openstack/project-config:roles/copy-release-tools-scripts/files/release-tools/add_release_note_page.sh
@github-actions
github-actions Bot requested a review from a team as a code owner September 14, 2026 06:48
@github-actions github-actions Bot added automated Automated action performed by GitHub Actions synchronisation labels Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated Automated action performed by GitHub Actions synchronisation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants