NE-2422: Add dual-stack ingress e2e tests for AWSDualStackInstall featuregate#30904
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
|
@alebedev87: This pull request references NE-2422 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. 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. |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds a new Ginkgo e2e test for AWS dual-stack router Route HTTPS reachability (NLB and CLB scenarios) and extends router shard Config to accept Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@test/extended/router/dualstack.go`:
- Around line 58-59: The test currently creates shardFQDN under defaultDomain so
the created host can be served by the default ingress controller; change the
admission/probing logic to ensure we exercise the shard controller by (1)
requiring the admitted ingress entry’s ingress.RouterName equals
shardIngressCtrl.Name when waiting for admission (check the ingress object's
RouterName field) and (2) pinning the subsequent HTTP probe to the shard ingress
entry’s canonical hostname returned in the admitted ingress status (use the
admitted status.host/canonical name instead of the generic host/shardFQDN).
Ensure references to shardFQDN, shardIngressCtrl and ingress.RouterName are
updated accordingly so the probe targets the shard ingress entry only.
- Around line 217-236: The shell snippet built in function
waitForDualStackRouteResponse uses Bash-only [[ ... ]] tests which will fail
under /bin/sh; update the cmd string to use POSIX-compatible [ ... ] tests
instead (replace [[ "${rc:-0}" -eq 0 ]] and [[ $code -eq 200 ]] with equivalent
[ ... ] checks), ensure proper quoting/spacing for the single-bracket tests and
parameter expansion, and keep the same logic around rc and code checks so
RunHostCmd continues to detect curl errors and 200 responses.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 2b52642d-eba4-405a-95df-f79dce04d4d5
📒 Files selected for processing (2)
test/extended/router/dualstack.gotest/extended/router/shard/shard.go
734f097 to
bbeb835
Compare
|
@alebedev87: This pull request references NE-2422 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. 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. |
3185a90 to
80ca2cf
Compare
|
@alebedev87: This pull request references NE-2422 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. 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. |
|
Scheduling required tests: |
|
@alebedev87: This pull request references NE-2422 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. 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. |
cf53d48 to
3dbb657
Compare
|
@alebedev87: This pull request references NE-2422 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. 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. |
41b285c to
63f33fb
Compare
|
Scheduling required tests: |
|
@alebedev87: This pull request references NE-2422 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. 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. |
|
/assign @davidesalerno |
|
Scheduling required tests: |
|
/test e2e-aws-ovn-fips |
|
/test e2e-vsphere-ovn-upi |
|
FIPS job is broken, openshift/router#678 is a potential culprit. |
|
/override ci/prow/e2e-aws-ovn-fips |
|
@neisw: Overrode contexts on behalf of neisw: ci/prow/e2e-aws-ovn-fips 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. |
|
Job Failure Risk Analysis for sha: 29b6fcf
|
…turegate Add e2e tests that verify ingress connectivity on AWS dual-stack clusters gated by the AWSDualStackInstall featuregate. Two test cases are included: - NLB: Creates an IngressController shard with a Network Load Balancer and validates that routes are accessible over both IPv4 and IPv6. - Classic LB: Creates an IngressController shard with a Classic Load Balancer and validates that routes are accessible over IPv4. Each test deploys a backend pod/service, an edge-terminated route, and uses curl from an exec pod to verify connectivity. DNS propagation is validated separately before connectivity checks. Route stability is confirmed by requiring 3 consecutive HTTP 200 responses. Client IP preservation is disabled on the NLB target group to avoid IPv6 hairpin traffic issues (OCPBUGS-63219). The shard.Config is extended with an optional LoadBalancer field to configure the IngressController. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
I have to rebase from |
105c0f9 to
0fff1c8
Compare
|
/verified by alebedev87 Reapplying the verified label as no changes were done to the commit just a rebase. |
|
@alebedev87: 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. |
|
I'm pretty sure I can't but why not (same reason)? /lgtm |
|
@alebedev87: you cannot LGTM your own PR. 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. |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alebedev87, davidesalerno, deepsm007 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 |
|
/test go-verify-deps images verify-deps |
|
/test okd-scos-images |
|
Scheduling required tests: |
|
@alebedev87: 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. |
|
Change included in accepted release 4.22.0-0.nightly-2026-03-29-055437 |
Add e2e tests that verify ingress connectivity on AWS dual-stack clusters gated by
AWSDualStackInstall.Two test cases are included:
Each test deploys a backend pod/service, an edge-terminated route, and uses curl from an exec pod to verify connectivity. The
shard.Configis extended with an optionalLoadBalancerfield to configure the IngressController's load balancer type.DNS propagation is validated separately before connectivity checks. Route stability is confirmed by requiring 3 consecutive HTTP 200 responses. Client IP preservation is disabled on the NLB target group to avoid IPv6 hairpin traffic issues (OCPBUGS-63219).
Manual test
Clusterbot command to build custom payload:
Install config: