Skip to content

[release-4.20] OCPBUGS-77357: Clear stale conntrack UDP entries for nodePorts#3012

Merged
openshift-merge-bot[bot] merged 2 commits intoopenshift:release-4.20from
sunku5494:OCPBUGS-77357
Mar 5, 2026
Merged

[release-4.20] OCPBUGS-77357: Clear stale conntrack UDP entries for nodePorts#3012
openshift-merge-bot[bot] merged 2 commits intoopenshift:release-4.20from
sunku5494:OCPBUGS-77357

Conversation

@sunku5494
Copy link
Copy Markdown

@sunku5494 sunku5494 commented Feb 27, 2026

📑 Description

When an EndpointSlice for a UDP NodePort or loadbalancer type of service is updated, stale conntrack entries for removed endpoints must be flushed. The existing logic failed to do this correctly if the backend pod was on a different node. This patch fixes the issue by flushing conntrack entries by filtering the nodePort when the node is not hosting the backend pod.

In case that the backend pod was on the same node as the service, this issue won't happen. Since all old pod entries are removed from the node by the function deletePodConntrack when the pod is deleted.

This is a manual backport of commit b426934 by adapting DeleteConntrackServicePort calls to single return value and excluded a few changes in gateway_localnet_linux_test.go that dealt with "on update" test group that weren't present in release-4.20 and e2e test case commit 4e55026

Conflict resolution:

  • klog.V(5).Infof debug log line retained

Fixes #

Additional Information for reviewers

✅ Checks

  • My code requires changes to the documentation
  • if so, I have updated the documentation as required
  • My code requires tests
  • if so, I have added and/or updated the tests as required
  • All the tests have passed in the CI

How to verify it

@openshift-ci-robot openshift-ci-robot added jira/severity-important Referenced Jira bug's severity is important for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Feb 27, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sunku5494: This pull request references Jira Issue OCPBUGS-77357, 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-77357 to depend on a bug targeting a version in 4.21.0, 4.21.z and in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), 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:

📑 Description

When an EndpointSlice for a UDP NodePort or loadbalancer type of service is updated, stale conntrack entries for removed endpoints must be flushed. The existing logic failed to do this correctly if the backend pod was on a different node. This patch fixes the issue by flushing conntrack entries by filtering the nodePort when the node is not hosting the backend pod.

In case that the backend pod was on the same node as the service, this issue won't happen. Since all old pod entries are removed from the node by the function deletePodConntrack when the pod is deleted.

This is a manual backport of commit b426934 by adapting DeleteConntrackServicePort calls to single return value and excluded a few test cases in gateway_localnet_linux_test.go that dealt with "on update" that weren't present in release-4.20 and e2e test case commit 4e55026

Conflict resolution:

  • klog.V(5).Infof debug log line retained

Fixes #

Additional Information for reviewers

✅ Checks

  • My code requires changes to the documentation
  • if so, I have updated the documentation as required
  • My code requires tests
  • if so, I have added and/or updated the tests as required
  • All the tests have passed in the CI

How to verify it

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.

@sunku5494 sunku5494 changed the title [release-4.20] OCPBUGS-77357: [release-4.20] OCPBUGS-77357: Clear stale conntrack UDP entries for nodePorts Feb 27, 2026
@openshift-ci openshift-ci Bot requested review from jcaamano and tssurya February 27, 2026 07:07
@pliurh
Copy link
Copy Markdown
Contributor

pliurh commented Feb 27, 2026

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Feb 27, 2026
When an EndpointSlice for a UDP NodePort or loadbalancer type of service
is updated, stale conntrack entries for removed endpoints must be
flushed. The existing logic failed to do this correctly if the backend
pod was on a different node. This patch fixes the issue by flushing
conntrack entries by filtering the nodePort when the node is not
hosting the backend pod.

In case that the backend pod was on the same node as the service, this
issue won't happen. Since all old pod entries are removed from the node
by the function deletePodConntrack when the pod is deleted.

Signed-off-by: Peng Liu <pliu@redhat.com>
(cherry picked from commit b426934)
Signed-off-by: Venkata Charan Sunku <vsunku@redhat.com>
It should be able to preserve UDP traffic when server pod cycles for a
NodePort service via a different node.

Signed-off-by: Peng Liu <pliu@redhat.com>
(cherry picked from commit 4e55026)
Signed-off-by: Venkata Charan Sunku <vsunku@redhat.com>
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 27, 2026
@sunku5494
Copy link
Copy Markdown
Author

/retest-required

1 similar comment
@sunku5494
Copy link
Copy Markdown
Author

/retest-required

@pliurh
Copy link
Copy Markdown
Contributor

pliurh commented Mar 2, 2026

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Mar 2, 2026
@sunku5494
Copy link
Copy Markdown
Author

/jira refresh

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sunku5494: This pull request references Jira Issue OCPBUGS-77357, which is invalid:

  • expected dependent Jira Issue OCPBUGS-77309 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is POST 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.

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.

@sunku5494
Copy link
Copy Markdown
Author

/retest-required

@sunku5494
Copy link
Copy Markdown
Author

/jira refresh

@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sunku5494: This pull request references Jira Issue OCPBUGS-77357, which is invalid:

  • expected dependent Jira Issue OCPBUGS-77309 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is ON_QA 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.

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.

@sunku5494
Copy link
Copy Markdown
Author

/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 Mar 3, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sunku5494: This pull request references Jira Issue OCPBUGS-77357, 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.20.z) matches configured target version for branch (4.20.z)
  • bug is in the state ASSIGNED, 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-77309 is in the state Verified, which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-77309 targets the "4.21.z" version, which is one of the valid target versions: 4.21.0, 4.21.z
  • bug has dependents

Requesting review from QA contact:
/cc @MrSanketkumar

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 openshift-ci Bot requested a review from MrSanketkumar March 3, 2026 14:57
@sunku5494
Copy link
Copy Markdown
Author

Pre Merge verification is done for OCPBUGS-77357

/verified by @MrSanketkumar

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 3, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sunku5494: This PR has been marked as verified by @MrSanketkumar.

Details

In response to this:

Pre Merge verification is done for OCPBUGS-77357

/verified by @MrSanketkumar

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.

@sdodson sdodson added approved Indicates a PR has been approved by an approver from all required OWNERS files. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. labels Mar 3, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Mar 3, 2026

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: pliurh, sunku5494

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

The pull request process is described here

Details 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

@sdodson
Copy link
Copy Markdown
Member

sdodson commented Mar 3, 2026

/retest-required

1 similar comment
@sdodson
Copy link
Copy Markdown
Member

sdodson commented Mar 3, 2026

/retest-required

@prabhapa
Copy link
Copy Markdown

prabhapa commented Mar 4, 2026

/override ci/prow/e2e-aws-ovn-edge-zones
/override ci/prow/qe-perfscale-payload-control-plane-6nodes
overriding as they have not to do with the changes and historically failing for most of the PRs.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Mar 4, 2026

@prabhapa: Overrode contexts on behalf of prabhapa: ci/prow/e2e-aws-ovn-edge-zones, ci/prow/qe-perfscale-payload-control-plane-6nodes

Details

In response to this:

/override ci/prow/e2e-aws-ovn-edge-zones
/override ci/prow/qe-perfscale-payload-control-plane-6nodes
overriding as they have not to do with the changes and historically failing for most of the PRs.

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.

@MrSanketkumar
Copy link
Copy Markdown

/test e2e-aws-ovn-edge-zones

@sunku5494
Copy link
Copy Markdown
Author

/retest-required

@prabhapa
Copy link
Copy Markdown

prabhapa commented Mar 5, 2026

/override ci/prow/e2e-aws-ovn-edge-zones
overriding as they have not to do with the PR changes and historically failing for most of the PRs.

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Mar 5, 2026

@prabhapa: Overrode contexts on behalf of prabhapa: ci/prow/e2e-aws-ovn-edge-zones

Details

In response to this:

/override ci/prow/e2e-aws-ovn-edge-zones
overriding as they have not to do with the PR changes and historically failing for most of the PRs.

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.

@sunku5494
Copy link
Copy Markdown
Author

/test e2e-gcp-ovn-techpreview

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Mar 5, 2026

@sunku5494: The following tests 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 679442d link false /test security
ci/prow/e2e-aws-ovn-edge-zones 679442d link true /test e2e-aws-ovn-edge-zones

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.

@openshift-merge-bot openshift-merge-bot Bot merged commit e3dceb0 into openshift:release-4.20 Mar 5, 2026
28 of 29 checks passed
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@sunku5494: Jira Issue Verification Checks: Jira Issue OCPBUGS-77357
✔️ 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-77357 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

📑 Description

When an EndpointSlice for a UDP NodePort or loadbalancer type of service is updated, stale conntrack entries for removed endpoints must be flushed. The existing logic failed to do this correctly if the backend pod was on a different node. This patch fixes the issue by flushing conntrack entries by filtering the nodePort when the node is not hosting the backend pod.

In case that the backend pod was on the same node as the service, this issue won't happen. Since all old pod entries are removed from the node by the function deletePodConntrack when the pod is deleted.

This is a manual backport of commit b426934 by adapting DeleteConntrackServicePort calls to single return value and excluded a few changes in gateway_localnet_linux_test.go that dealt with "on update" test group that weren't present in release-4.20 and e2e test case commit 4e55026

Conflict resolution:

  • klog.V(5).Infof debug log line retained

Fixes #

Additional Information for reviewers

✅ Checks

  • My code requires changes to the documentation
  • if so, I have updated the documentation as required
  • My code requires tests
  • if so, I have added and/or updated the tests as required
  • All the tests have passed in the CI

How to verify it

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. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. jira/severity-important Referenced Jira bug's severity is important 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. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.