[release-4.19] OCPBUGS-77442: Clear stale conntrack UDP entries for nodePorts#3015
Conversation
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) (cherry picked from commit 46ce09a) Signed-off-by: Venkata Charan Sunku <vsunku@redhat.com>
|
@sunku5494: This pull request references Jira Issue OCPBUGS-77442, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
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. |
|
/jira refresh |
|
@sunku5494: This pull request references Jira Issue OCPBUGS-77442, which is invalid:
Comment DetailsIn response to this:
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. |
|
/lgtm |
|
/retest-required |
|
/jira refresh |
|
@MrSanketkumar: This pull request references Jira Issue OCPBUGS-77442, which is invalid:
Comment DetailsIn response to this:
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. |
|
/cc @MrSanketkumar |
|
Pre Merge verification is done for OCPBUGS-77442 /verified by @MrSanketkumar |
|
@MrSanketkumar: This PR has been marked as verified by DetailsIn response to this:
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. |
|
/approve |
|
/label backport-risk-assessed |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pliurh, sunku5494, tssurya The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/test e2e-aws-ovn-edge-zones |
|
/override ci/prow/e2e-aws-ovn-edge-zones |
|
/jira refresh |
|
@tssurya: This pull request references Jira Issue OCPBUGS-77442, which is invalid:
Comment DetailsIn response to this:
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. |
|
@tssurya: Overrode contexts on behalf of tssurya: ci/prow/e2e-aws-ovn-edge-zones DetailsIn response to this:
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. |
|
/jira refresh |
|
@sunku5494: This pull request references Jira Issue OCPBUGS-77442, which is valid. The bug has been moved to the POST state. 7 validation(s) were run on this bug
Requesting review from QA contact: DetailsIn response to this:
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. |
|
/tide refresh |
|
/test ci/prow/e2e-aws-ovn-hypershift |
|
/test e2e-aws-ovn-hypershift |
|
/retest-required |
|
/override ci/prow/e2e-aws-ovn-edge-zones |
|
@prabhapa: Overrode contexts on behalf of prabhapa: ci/prow/e2e-aws-ovn-edge-zones DetailsIn response to this:
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: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
208e0c7
into
openshift:release-4.19
|
@sunku5494: Jira Issue Verification Checks: Jira Issue OCPBUGS-77442 Jira Issue OCPBUGS-77442 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓 DetailsIn response to this:
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. |
📑 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.
(cherry picked from commit 46ce09a & 679442d)
This is a clean cherry pick.
Fixes #
Additional Information for reviewers
✅ Checks
How to verify it