[release-4.20] OCPBUGS-77357: Clear stale conntrack UDP entries for nodePorts#3012
Conversation
|
@sunku5494: This pull request references Jira Issue OCPBUGS-77357, 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. |
|
/lgtm |
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>
7588594 to
679442d
Compare
|
/retest-required |
1 similar comment
|
/retest-required |
|
/lgtm |
|
/jira refresh |
|
@sunku5494: This pull request references Jira Issue OCPBUGS-77357, 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. |
|
/retest-required |
|
/jira refresh |
|
@sunku5494: This pull request references Jira Issue OCPBUGS-77357, 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. |
|
/jira refresh |
|
@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
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. |
|
Pre Merge verification is done for OCPBUGS-77357 /verified by @MrSanketkumar |
|
@sunku5494: 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. |
|
[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 DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/retest-required |
1 similar comment
|
/retest-required |
|
/override ci/prow/e2e-aws-ovn-edge-zones |
|
@prabhapa: Overrode contexts on behalf of prabhapa: ci/prow/e2e-aws-ovn-edge-zones, ci/prow/qe-perfscale-payload-control-plane-6nodes 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. |
|
/test e2e-aws-ovn-edge-zones |
|
/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. |
|
/test e2e-gcp-ovn-techpreview |
|
@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. |
e3dceb0
into
openshift:release-4.20
|
@sunku5494: Jira Issue Verification Checks: Jira Issue OCPBUGS-77357 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. 🕓 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.
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:
Fixes #
Additional Information for reviewers
✅ Checks
How to verify it