Skip to content

Conversation

@openshift-pr-manager
Copy link

Automated merge of upstream/master → master.

npinaeva and others added 24 commits October 23, 2025 13:51
Add support for configuring OVN/OVS file paths through CLI flags and
config file, allowing deployment flexibility across different systems.

New OvnAuthConfig fields (configurable via CLI/config):
- RunDir: OVN runtime directory (default: /var/run/ovn/)
- DbLocation: Database file location (default: /etc/ovn/ovn{n,s}b_db.db)

New OvsPathConfig struct with fields (configurable via CLI/config):
- RunDir: OVS runtime directory (default: /var/run/openvswitch/)

Updated all hardcoded path references to use centralized config
values.

Signed-off-by: jneo8 <[email protected]>
Replace Kubernetes-specific parameters (clientset, k8sNodeName) with
a generic waitTimeoutFunc callback in RegisterOvnDBMetrics and
RegisterOvnNorthdMetrics. This enables use in non-Kubernetes
contexts such as a standalone OVN exporter.

Signed-off-by: jneo8 <[email protected]>
…lity

Add empty string checks before parsing probe interval configuration
fields to prevent errors when these fields are not set. In OVN 24.09+,
probe interval configs (ovn-bridge-remote-probe-interval,
ovn-remote-probe-interval) may not be set as they are disabled by default.

Reference: https://www.ovn.org/en/releases/24.09/

Signed-off-by: jneo8 <[email protected]>
Signed-off-by: Dumitru Ceara <[email protected]>
…ronment-variable-master

feat: get ovs/ovn file path from environment variable
EgressFirewall objects were retaining managedFields entries for nodes that had been deleted.

When a node was deleted, the cleanup logic would apply an empty status object using the deleted node as the field manager. This incorrectly signaled to the API server that the manager was now managing an empty status, leaving a stale entry in managedFields.

This change corrects the cleanup logic in cleanupStatus. The manager for the deleted node now applies an EgressFirewall configuration that completely omits the status field. This correctly signals that the manager is giving up ownership of the field to the server-side apply mechanism, causing the API server to remove the manager's entry from managedFields.

This prevents the buildup of stale data in etcd for large clusters with frequent node churn.

Applying the same logic to the other resource types using status manager: ANP, APBRoute, EgressQoS, NetworkQoS, EgressService.

Signed-off-by: Riccardo Ravaioli <[email protected]>
[okep] Add note on local-port tunnel keys.
Resources with a condition-based status (EgressQoS, NetworkQoS) store the zone name
in the condition Type field ("Ready-In-Zone-$zoneName"), but not in the
message field. This caused cleanup to fail because GetZoneFromStatus()
couldn't extract the zone name from the message.

Fix this by transforming the output of getMessages() by
extracting the zone from the condition and prepending it to the returned message:
"$zoneName: message", matching the format used by message-based resources (EgressFirewalls, AdminPolicyBasedExternalRoutes).

This also fixes needsUpdate(), which now properly detects zone-specific changes, since it compares messages that include the zone name.

Signed-off-by: Riccardo Ravaioli <[email protected]>
When zones are deleted, empty ApplyStatus patches are sent to remove status ownership. Due to a previous bug, these patches left behind stale managedFields entries with signature {"f:status":{}}.

This commit adds a one-time startup cleanup that detects and removes these stale entries by checking if managedFields have an empty status and belong to zones that no longer exist. The purpose is to distinguish managedFields that belong to deleted zones from managedFields that belong to external clients (e.g. kubectl). The cleanup runs once when the status manager starts and zones are first discovered.

Also added unit test to verify the startup cleanup logic.

Signed-off-by: Riccardo Ravaioli <[email protected]>
add management port device allocator and accelerated primary udn management port support
ANP/BANP don't use a typed status manager, let's add a startup clean up explicitly to remove any stale managed fields that might be present from previous versions.

Signed-off-by: Riccardo Ravaioli <[email protected]>
During an ovnkube-controller restart, pod add/remove events
for EgressIP-served pods may occur before the factory.egressIPPod
handler is registered in the watch factory. As a result, the EIP
controller never able to handle pod delete, leading to stale
logical router policy (LRP) entry.

Scenario:

ovnkube-controller starts.

The EIP controller processes the namespace add event (oc.WatchEgressIPNamespaces)
and creates an LRP entry for the served pod.

The pod is deleted.

The factory.egressIPPod handler registration happens afterward via oc.WatchEgressIPPods.

The pod delete event is never processed by the EIP controller.

Fix:

1. Start oc.WatchEgressIPPods followed by oc.WatchEgressIPNamespaces.
2. Sync EgressIPs before registering factory.egressIPPod event handler.
3. Removal of Sync EgressIPs for factory.EgressIPNamespaceType which is no longer needed.

Signed-off-by: Periyasamy Palanisamy <[email protected]>
When the EIP controller cleans up a stale EIP assignment for a pod,
it also removes the pod object from the podAssignment cache.
This is incorrect, as it prevents the EIP controller from processing
the subsequent pod delete event.

Scenario:

1. pod-1 is served by eip-1, both hosted on node1.
2. node1’s ovnkube-controller restarts.
3. Pod add event is received by the EIP controller — no changes.
4. eip-1 moves from node1 to node0.
5. The EIP controller receives the eip-1 add event.
6. eip-1 cleans up pod-1’s stale assignment (SNAT and LRP) for node1,
   but removes the pod object from the podAssignment cache when no other
   assignments found.
7. The EIP controller programs the LRP entry with node0’s transit IP as
   the next hop, but the pod assignment cache is not updated with new
   podAssignmentState.
8. The pod delete event is received by the EIP controller but ignored,
   since the pod object is missing from the assignment cache.

So this commit fixes the issue by adding podAssignmentState back into
podAssignment cache at step 7.

Signed-off-by: Periyasamy Palanisamy <[email protected]>
new target lint-run-natively will now pull the golangci-lint binary
based on the version in lint.sh locally and run the lint check. This
is useful in the case that some system does not have a container
runtime available.

Signed-off-by: Jamo Luhrsen <[email protected]>
status manager: remove managedFields for deleted zone upon zone deletion
@openshift-pr-manager
Copy link
Author

/ok-to-test
/payload 4.21 ci blocking
/payload 4.21 nightly blocking

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Nov 6, 2025
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 6, 2025
@openshift-ci-robot
Copy link
Contributor

@openshift-pr-manager[bot]: This pull request explicitly references no jira issue.

In response to this:

Automated merge of upstream/master → master.

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
Copy link
Contributor

openshift-ci bot commented Nov 6, 2025

@openshift-pr-manager[bot]: trigger 5 job(s) of type blocking for the ci release of OCP 4.21

  • periodic-ci-openshift-release-master-ci-4.21-upgrade-from-stable-4.20-e2e-aws-ovn-upgrade
  • periodic-ci-openshift-release-master-ci-4.21-upgrade-from-stable-4.20-e2e-azure-ovn-upgrade
  • periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-upgrade
  • periodic-ci-openshift-hypershift-release-4.21-periodics-e2e-aks
  • periodic-ci-openshift-hypershift-release-4.21-periodics-e2e-aws-ovn

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/bad95d30-bb3a-11f0-9a6b-19305e30371a-0

trigger 13 job(s) of type blocking for the nightly release of OCP 4.21

  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node
  • periodic-ci-openshift-release-master-nightly-4.21-e2e-aws-ovn-upgrade-fips
  • periodic-ci-openshift-release-master-ci-4.21-e2e-azure-ovn-upgrade
  • periodic-ci-openshift-release-master-ci-4.21-upgrade-from-stable-4.20-e2e-gcp-ovn-rt-upgrade
  • periodic-ci-openshift-hypershift-release-4.21-periodics-e2e-aws-ovn-conformance
  • periodic-ci-openshift-release-master-nightly-4.21-e2e-aws-ovn-serial-1of2
  • periodic-ci-openshift-release-master-nightly-4.21-e2e-aws-ovn-serial-2of2
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-1of3
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-2of3
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-3of3
  • periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-ovn-bm
  • periodic-ci-openshift-release-master-nightly-4.21-e2e-metal-ipi-ovn-ipv6

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/bad95d30-bb3a-11f0-9a6b-19305e30371a-1

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 6, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci bot changed the title OCPBUGS-62262: DownStream Merge [11-06-2025] OCPBUGS-50709,OCPBUGS-62262: DownStream Merge [11-06-2025] Nov 7, 2025
@openshift-ci-robot openshift-ci-robot added jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. 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 Nov 7, 2025
@openshift-ci-robot
Copy link
Contributor

@openshift-pr-manager[bot]: This pull request references Jira Issue OCPBUGS-50709, which is invalid:

  • expected the bug to be in one of the following states: NEW, ASSIGNED, POST, but it is MODIFIED instead

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.

This pull request references Jira Issue OCPBUGS-62262, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @anuragthehatter

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

In response to this:

Automated merge of upstream/master → master.

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.

@pperiyasamy
Copy link
Member

/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 Nov 7, 2025
@openshift-ci-robot
Copy link
Contributor

@pperiyasamy: This pull request references Jira Issue OCPBUGS-50709, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @huiran0826

This pull request references Jira Issue OCPBUGS-62262, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @anuragthehatter

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 openshift-ci bot requested a review from huiran0826 November 7, 2025 08:31
@jcaamano
Copy link
Contributor

jcaamano commented Nov 7, 2025

/payload-job periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 7, 2025

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

  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/10931f60-bbd9-11f0-803e-f249359ba1ef-0

@jluhrsen
Copy link
Contributor

jluhrsen commented Nov 7, 2025

/payload-job periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 7, 2025

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

  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/bf8d15a0-bc08-11f0-9bbe-2aa9b11023f7-0

@jluhrsen
Copy link
Contributor

jluhrsen commented Nov 7, 2025

/verified by ci

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Nov 7, 2025
@openshift-ci-robot
Copy link
Contributor

@jluhrsen: This PR has been marked as verified by ci.

In response to this:

/verified by ci

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.

@pperiyasamy
Copy link
Member

/payload-job periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 10, 2025

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

  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/1924d300-be20-11f0-8f49-6a3e403ff6d5-0

@jluhrsen
Copy link
Contributor

/test 4.21-upgrade-from-stable-4.20-e2e-aws-ovn-upgrade-ipsec

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 11, 2025

@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/4.21-upgrade-from-stable-4.20-e2e-aws-ovn-upgrade-ipsec b5af14c link false /test 4.21-upgrade-from-stable-4.20-e2e-aws-ovn-upgrade-ipsec

Full PR test history. Your PR dashboard.

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.

@pperiyasamy
Copy link
Member

The periodic-ci-openshift-release-master-ci-4.21-e2e-aws-upgrade-ovn-single-node and 4.21-upgrade-from-stable-4.20-e2e-aws-ovn-upgrade-ipsec failures are not caused by PR changes.
We've started discussing it with TRT team.
https://redhat-internal.slack.com/archives/C01CQA76KMX/p1762802069413319
https://redhat-internal.slack.com/archives/C01CQA76KMX/p1762850845425419

@jcaamano
Copy link
Contributor

/lgtm
/approve

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 11, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 11, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jcaamano, openshift-pr-manager[bot]

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 11, 2025
@openshift-merge-bot openshift-merge-bot bot merged commit 45dd5ed into master Nov 11, 2025
30 of 32 checks passed
@openshift-ci-robot
Copy link
Contributor

@openshift-pr-manager[bot]: Jira Issue Verification Checks: Jira Issue OCPBUGS-50709
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-50709 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Jira Issue Verification Checks: Jira Issue OCPBUGS-62262
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-62262 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

In response to this:

Automated merge of upstream/master → master.

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.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/severity-critical Referenced Jira bug's severity is critical for the branch this PR is targeting. 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. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.