Skip to content

OCPBUGS-88733,OCPBUGS-88734: Branch Sync main to release-4.22 [06-16-2026]#3252

Open
openshift-pr-manager[bot] wants to merge 89 commits into
release-4.22from
sync-main-to-release-4.22-06-16-2026
Open

OCPBUGS-88733,OCPBUGS-88734: Branch Sync main to release-4.22 [06-16-2026]#3252
openshift-pr-manager[bot] wants to merge 89 commits into
release-4.22from
sync-main-to-release-4.22-06-16-2026

Conversation

@openshift-pr-manager

Copy link
Copy Markdown

Automated branch sync: main to release-4.22.

mattedallo and others added 30 commits May 18, 2026 12:17
Clean up leftover raft-related code that was missed by PR #6303
(Remove central mode support). The four shell variables
(ovn_nb_raft_port, ovn_sb_raft_port, ovn_nb_raft_election_timer,
ovn_sb_raft_election_timer) and their documentation comments are
defined but never referenced anywhere in the codebase.

Signed-off-by: Matteo Dallaglio <mdallagl@redhat.com>
The report was skipping :
- indexing results (due to the rm of the perf-data)
- capturing the baseline run and reporting the diff to the PR due to how
  I was capturing the PR #.

Both issues are addressed.

Signed-off-by: jtalerico <joe.talerico@gmail.com>
Signed-off-by: Lei Huang <leih@nvidia.com>
- Modify UDN/CUDN CRD schemas to allow adding multiple cluster-subents of
  the same IP family in Layer3 topology
- Reconcile network controllers to add new subnets to NodeAllocator.

Fixes #5377

Signed-off-by: Lei Huang <leih@nvidia.com>
This change adds test cases for:
- Pods can perform east/west traffic between nodes on different CIDR
- add subnet not affecting existing node subnet assignment
- add bad subnet should not cause change on existing NAD

Signed-off-by: Lei Huang <leih@nvidia.com>
Update ClusterNetworkConnect routing policy generation to create a
single logical router policy per destination network and IP family.
When a connected network has multiple same-family pod subnets, fold
them into one OR match instead of creating multiple policies with the
same DB identity.

Signed-off-by: Lei Huang <huang.f.lei@gmail.com>
Add unit coverage for the case where a primary UDN gains a new subnet
that overlaps an existing EgressFirewall CIDRSelector.

The test verifies that the initial ACL does not exclude the new subnet,
then updates the primary network subnets and confirms the reconciled ACL
adds the pod-subnet exclusion so east/west traffic is not affected by the
EgressFirewall rule.

Signed-off-by: Lei Huang <huang.f.lei@gmail.com>
Update the OKEP to note that no RouteAdvertisement code change is
required for Layer3 topology. FRR pod-subnet advertisements use node
subnet annotations, not the NAD cluster subnet list directly, and node
subnet annotation updates already trigger RA reconciliation.

Signed-off-by: Lei Huang <huang.f.lei@gmail.com>
Add unit coverage for overlay mode route import when a primary UDN has
multiple cluster subnets. Verify that a BGP route contained in an
additional UDN subnet is ignored and not imported into OVN.

This confirms the existing route import logic accounts for all network
subnets when filtering pod-network routes in overlay mode.

Signed-off-by: Lei Huang <huang.f.lei@gmail.com>
Queue advertised local nodes for reconciliation when a network subnet list
changes. This ensures BGP Network Isolation ACLs are rebuilt when a primary
Layer3 UDN gains an additional subnet.

Add unit coverage for both the reconcile trigger and the advertised network
isolation pass ACL update with the added subnet.

Signed-off-by: Lei Huang <huang.f.lei@gmail.com>
Trigger local node reconciliation when Egress IP is enabled and a primary
Layer3 UDN adds or removes cluster subnets.

Add unit coverage for the subnet-change reconcile path and verify Egress IP
route/no-reroute policy generation covers every primary Layer3 UDN subnet.

Signed-off-by: Lei Huang <huang.f.lei@gmail.com>
Update primary Layer3 UDN/CUDN e2e coverage to use multi-subnet
configuration where the test is not specifically validating single-subnet
behavior. This broadens runtime coverage for existing network segmentation,
service, egress firewall, egress IP, endpoint slice mirroring, and route
advertisement flows.

Signed-off-by: Lei Huang <huang.f.lei@gmail.com>
OVN-Kubernetes renames the simulated management representor to
ovn-k8s-mp0 and preserves the original rep0-X name as the link alias.
Fall back to alias lookup so DPU-mode restarts and Helm rollouts can
find the representor after it has been renamed.

Signed-off-by: Tim Rozet <trozet@nvidia.com>
Remove dead raft variable definitions from ovnkube.sh
Set OVN_ROUTE_ADVERTISEMENTS_ENABLE in the single-node-zone DPU chart
so DPU-mode ovnkube-controller receives the Helm route-advertisements
feature setting.

Signed-off-by: Tim Rozet <trozet@nvidia.com>
DPU-host mode updates advertised UDN isolation nftables for
primary UDNs, but the base sets were only configured from the
full-mode NodePort watcher path. That left DPU-host nodes without
the advertised UDN subnet sets when NodePort was disabled.

Move the setup into default node controller initialization for
full and DPU-host mode, and keep the existing route advertisements
feature gate. Add a DPU-host test that covers NodePort-disabled
startup.

Signed-off-by: Tim Rozet <trozet@nvidia.com>
Resolve simulated DPU representors by alias
When a VM's spec.template.spec.hostname is set, KubeVirt copies it into
the vm.kubevirt.io/name label on virt-launcher pods instead of the
actual VM name. OVN-K used this label to find pods belonging to a VM
(e.g. during live migration, or to tag OVN topology elements for
cleanup). Since multiple VMs can share the same hostname, the label can
no longer uniquely identify a VM's pods -- with 3+ VMs sharing a
hostname, the 3rd VM fails with "unexpected live migration state at
pods".

This change switches to the kubevirt.io/domain annotation, which always
reflects the real VM name. Since annotations can't be used in label
selectors, we optimize: if the domain name matches the
vm.kubevirt.io/name label (the common case), we use the label for
lookup; otherwise we fall back to iterating virt-launcher pods in the
namespace and matching by annotation.

Note: KubeVirt >= 1.7 introduces a vm.kubevirt.io/id label that
reliably identifies the VM, but it is not added retroactively to pods
created with older versions. If KubeVirt adds a mutating webhook for
that in the future, we can use it as a further optimization.

Assisted-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>
Signed-off-by: Enrique Llorente <ellorent@redhat.com>
Replace the fake virt-launcher pod with a proper VMI using
fedoraWithTestToolingVMI and l2bridge binding plugin. This is needed
because now ovnk requires the same labels as IPAM controller, so now
IPAM controller is activated by this tests and fails since there is no
vm.

This also allow us to remove dependency on nmstate build image
quay.io/nmstate/c10s-nmstate-dev:latest

Signed-off-by: Enrique Llorente <ellorent@redhat.com>
Pass route advertisement flag to DPU nodes
Configure advertised UDN nftables on node init
P-UDN: support multiple cluster-subnets for Layer3 topology
Signed-off-by: Vicente Zepeda Mas <vzepedam@redhat.com>
Route import discovers the table to mirror by looking up the
per-network VRF. DPU mode programs the UDN datapath on the DPU,
but did not create that VRF, so advertised CUDNs had no table for
BGP routes to land in and the existing import logic had nothing to
read.

Create a DPU-only UDN VRF with no enslaved management interface.
Use a DPU-specific table range because there is no host management
port index to derive the table from. Wire DPU mode to create and
run the VRF manager while keeping the IP rule manager limited to
full and DPU-host modes.

Leave the DPU-host IP rules and management-port routes unchanged,
and delete the VRF with the network.

Signed-off-by: Tim Rozet <trozet@nvidia.com>
Instead of tests individually resolving where they get the agnhost image
from, have that coordinated from the images e2e package. This also
honors the upstream specific override. Other images shoudl follow the
same approach in the future.

Signed-off-by: Jaime Caamaño Ruiz <jcaamano@redhat.com>
Some multihoming tests were using fixed sleeps after creating network
attachment definitions to give controllers time to catch up before
creating pods or applying policies. These waits were added as temporary
buffers and now just slow the suite down.

This cleanup assumes the original production-side race is already
addressed by PR #5705 (ovn-kubernetes/ovn-kubernetes#5705,
"Fixes NAD Controller syncAll for networkID upgrade from node->NAD")
and/or later by commit 5b01e17 ("Refactor NADController notifying
into level driven reconciler").

Signed-off-by: Ihar Hrachyshka <ihrachyshka@nvidia.com>
Assisted-by: Codex <noreply@openai.com>
@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Jun 16, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@qinqon: This pull request references Jira Issue OCPBUGS-88733, which is valid. The bug has been moved to the POST state.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-79408 is in the state ON_QA, which is one of the valid states (MODIFIED, ON_QA, VERIFIED)
  • dependent Jira Issue OCPBUGS-79408 targets the "5.0.0" version, which is one of the valid target versions: 5.0.0
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (core-networking-bot@redhat.com), skipping review request.

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot removed the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Jun 16, 2026
@qinqon

qinqon commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

/retitle OCPBUGS-88733,OCPBUGS-88734: Branch Sync main to release-4.22 [06-16-2026]

@openshift-ci openshift-ci Bot changed the title OCPBUGS-88733: Branch Sync main to release-4.22 [06-16-2026] OCPBUGS-88733,OCPBUGS-88734: Branch Sync main to release-4.22 [06-16-2026] Jun 16, 2026
@openshift-ci-robot openshift-ci-robot added jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. and removed jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Jun 16, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@openshift-pr-manager[bot]: This pull request references Jira Issue OCPBUGS-88733, which is valid. The bug has been moved to the POST state.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-79408 is in the state ON_QA, which is one of the valid states (MODIFIED, ON_QA, VERIFIED)
  • dependent Jira Issue OCPBUGS-79408 targets the "5.0.0" version, which is one of the valid target versions: 5.0.0
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (core-networking-bot@redhat.com), skipping review request.

The bug has been updated to refer to the pull request using the external bug tracker.

This pull request references Jira Issue OCPBUGS-88734, which is invalid:

  • release note text must be set and not match the template OR release note type must be set to "Release Note Not Required". For more information you can reference the OpenShift Bug Process.
  • expected Jira Issue OCPBUGS-88734 to depend on a bug targeting a version in 5.0.0 and in one of the following states: MODIFIED, ON_QA, VERIFIED, but no dependents were found

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Automated branch sync: main to release-4.22.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@qinqon

qinqon commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@qinqon: This pull request references Jira Issue OCPBUGS-88733, which is valid. The bug has been moved to the POST state.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-79408 is in the state ON_QA, which is one of the valid states (MODIFIED, ON_QA, VERIFIED)
  • dependent Jira Issue OCPBUGS-79408 targets the "5.0.0" version, which is one of the valid target versions: 5.0.0
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (core-networking-bot@redhat.com), skipping review request.

This pull request references Jira Issue OCPBUGS-88734, which is invalid:

  • release note text must be set and not match the template OR release note type must be set to "Release Note Not Required". For more information you can reference the OpenShift Bug Process.
  • expected Jira Issue OCPBUGS-88734 to depend on a bug targeting a version in 5.0.0 and in one of the following states: MODIFIED, ON_QA, VERIFIED, but no dependents were found

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@qinqon

qinqon commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Jun 16, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@qinqon: This pull request references Jira Issue OCPBUGS-88733, which is valid.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-79408 is in the state ON_QA, which is one of the valid states (MODIFIED, ON_QA, VERIFIED)
  • dependent Jira Issue OCPBUGS-79408 targets the "5.0.0" version, which is one of the valid target versions: 5.0.0
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (core-networking-bot@redhat.com), skipping review request.

This pull request references Jira Issue OCPBUGS-88734, which is valid. The bug has been moved to the POST state.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-81326 is in the state ON_QA, which is one of the valid states (MODIFIED, ON_QA, VERIFIED)
  • dependent Jira Issue OCPBUGS-81326 targets the "5.0.0" version, which is one of the valid target versions: 5.0.0
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (core-networking-bot@redhat.com), skipping review request.

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-aws-ovn-fdp-qe

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-aws-ovn-shared-to-local-gateway-mode-migration

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-aws-ovn-upgrade

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-metal-ipi-ovn-ipv6

@jluhrsen

Copy link
Copy Markdown
Contributor

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aws-ovn

@jluhrsen

Copy link
Copy Markdown
Contributor

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@jluhrsen: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aws-ovn

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/2c57d1c0-69a1-11f1-9cd4-44f9deec8329-0

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@jluhrsen: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/2d589ff0-69a1-11f1-8c5e-f09ff0c98eb8-0

@jluhrsen

Copy link
Copy Markdown
Contributor

/payload-job periodic-ci-openshift-release-main-ci-4.22-e2e-azure-ovn-upgrade

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@jluhrsen: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-ci-4.22-e2e-azure-ovn-upgrade

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/df45a2d0-69a1-11f1-990c-90262d401320-0

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-metal-ipi-ovn-ipv6

3 similar comments
@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-metal-ipi-ovn-ipv6

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-metal-ipi-ovn-ipv6

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-metal-ipi-ovn-ipv6

@openshift-ci

openshift-ci Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

@openshift-pr-manager[bot]: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/security 73abd04 link false /test security

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@jluhrsen

Copy link
Copy Markdown
Contributor

/test e2e-metal-ipi-ovn-ipv6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.