NE-2422: Add dual-stack ingress e2e tests for AWSDualStackInstall featuregate#30904
NE-2422: Add dual-stack ingress e2e tests for AWSDualStackInstall featuregate#30904alebedev87 wants to merge 1 commit intoopenshift:mainfrom
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. |
|
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 |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alebedev87 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 |
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. |
c2be292 to
41b285c
Compare
…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>
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. |
|
@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. |
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: