OCPBUGS-63219: Remove NLB hairpin workaround from dual-stack test - #31453
OCPBUGS-63219: Remove NLB hairpin workaround from dual-stack test#31453gcs278 wants to merge 1 commit into
Conversation
The manual target-group-attributes annotation to disable client IP preservation is no longer needed. New NLB IngressControllers default to PROXY protocol (openshift/cluster-ingress-operator#1426), which fixes hairpin connection failures without manual intervention. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
|
Skipping CI for Draft Pull Request. |
|
@gcs278: This pull request references Jira Issue OCPBUGS-63219, which is valid. 3 validation(s) were run on this bug
Requesting review from QA contact: 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. |
WalkthroughThe dual-stack NLB ingress-controller test removes the annotation that disabled target group client IP preservation. The remaining labeling, route, backend, DNS, and curl verification steps are unchanged. ChangesDual-stack NLB test
Estimated code review effort: 1 (Trivial) | ~2 minutes 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
/test ? |
|
/payload-job-with-prs periodic-ci-openshift-release-main-nightly-5.0-e2e-metal-ipi-ovn-dualstack openshift/cluster-ingress-operator#1426 |
|
@gcs278: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/0b3cbda0-8ba9-11f1-920c-8c9cd0cf844f-0 |
|
/pipeline required |
|
Scheduling required tests: |
|
/retest |
|
unrelated |
1 similar comment
|
unrelated |
|
Good job on the PROXY proto for NLB! /lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: gcs278, jcmoraisjr 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 |
|
@gcs278: all tests passed! 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. |
|
/test ? |
|
@CodeRabbit what tests should we run to verify this dualstack e2e jobs still works that's being changed in this PR? |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '== Test file outline =='
ast-grep outline test/extended/router/dualstack.go --items all || true
echo '== NLB and target-group references in the test file =='
rg -n -C 8 'NLB|Network Load Balancer|target-group|preserve_client_ip|PROXY|dual.?stack' test/extended/router/dualstack.go || true
echo '== Repository references to the affected test and requested CI job =='
rg -n -i -C 3 'dualstack.*nlb|nlb.*dualstack|e2e-metal-ipi-ovn-dualstack|aws-load-balancer-target-group-attributes|preserve_client_ip' . \
-g '!vendor/**' -g '!**/.git/**' || true
echo '== Candidate CI configuration files =='
fd -HI -t f '(config|jobs|release|periodic).*\.ya?ml$|.*\.ya?ml$' . \
| xargs -r rg -l -i 'e2e-metal-ipi-ovn-dualstack|dualstack' \
| head -50Length of output: 7832 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '== Complete affected NLB spec =='
sed -n '52,114p' test/extended/router/dualstack.go
echo '== Extended-test invocation and Ginkgo filtering documentation =='
rg -n -i -C 4 \
'ginkgo\.(focus|skip)|--ginkgo\.(focus|skip)|--run-?regex|run.*extended|extended.*test' \
README.md docs test hack openshift-hack 2>/dev/null || true
echo '== Test commands and suite definitions that include router tests =='
rg -n -i -C 4 \
'test/extended|extended.*router|router.*extended|run-test' \
Makefile* hack test openshift-hack 2>/dev/null || trueLength of output: 201113
Run it with Verify that this spec passes in the job output: The spec creates an AWS NLB router shard. It then verifies route DNS resolution and route access with both IPv4 and IPv6. This covers the former hairpin failure path. No additional unit test is needed for this change. A unit test cannot validate AWS NLB provisioning or the end-to-end IPv4/IPv6 connection path. You are interacting with an AI system. |
|
@coderabbitai[bot]: user coderabbitai[bot] is not trusted for pull request #31453 |
|
We should definitely run the dualstack tests to verify before merging: |
|
/test e2e-metal-ipi-ovn-bgp-virt-dualstack |
|
/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-installer-dualstack-ipv6-primary-techpreview |
|
@gcs278: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/4fe7b7f0-8d1d-11f1-98c7-43e19aae3884-0 |
|
/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-installer-dualstack-ipv4-primary-techpreview |
|
@gcs278: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command
See details on https://pr-payload-tests.ci.openshift.org/runs/ci/5d346980-8d1d-11f1-90bb-3970c871a3a9-0 |
|
I forgot to realize this test is an AWS-only test. Kicked off the two payload jobs that matter. I'll hold until i get a good CI result. |
Summary
Remove the manual
service.beta.kubernetes.io/aws-load-balancer-target-group-attributes=preserve_client_ip.enabled=falseannotation workaround from the dual-stack NLB e2e test.New NLB IngressControllers now default to PROXY protocol (openshift/cluster-ingress-operator#1426), which disables native client IP preservation and fixes hairpin connection failures without manual annotation.
Affected test:
[sig-network-edge][OCPFeatureGate:AWSDualStackInstall][Feature:Router] should be reachable via IPv4 and IPv6 through a dual-stack ingress controllerDependencies