Skip to content

NE-2422: Add dual-stack ingress e2e tests for AWSDualStackInstall featuregate#30904

Open
alebedev87 wants to merge 1 commit intoopenshift:mainfrom
alebedev87:ingress-dual-stack-test
Open

NE-2422: Add dual-stack ingress e2e tests for AWSDualStackInstall featuregate#30904
alebedev87 wants to merge 1 commit intoopenshift:mainfrom
alebedev87:ingress-dual-stack-test

Conversation

@alebedev87
Copy link
Contributor

@alebedev87 alebedev87 commented Mar 18, 2026

Add e2e tests that verify ingress connectivity on AWS dual-stack clusters gated by AWSDualStackInstall.

Two test cases are included:

  • NLB: Creates an IngressController shard with a Network Load Balancer and validates connectivity over both IPv4 and IPv6.
  • Classic LB: Creates an IngressController shard with a Classic Load Balancer and validates connectivity over IPv4.

Each test deploys a backend pod/service, an edge-terminated route, and uses curl from an exec pod to verify connectivity. The shard.Config is extended with an optional LoadBalancer field 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:

build 4.22,openshift/cluster-ingress-operator#1376,openshift/cloud-provider-aws#135

Install config:

$ cat ~/install-config.yaml | yq .networking
clusterNetwork:
  - cidr: fd01::/48
    hostPrefix: 64
  - cidr: 10.128.0.0/14
    hostPrefix: 23
machineNetwork:
  - cidr: 10.0.0.0/16
networkType: OVNKubernetes
serviceNetwork:
  - fd02::/112
  - 172.30.0.0/16

$ cat ~/install-config-dual-stack.yaml | yq .platform
aws:
  region: us-east-2
  ipFamily: DualStackIPv6Primary
  lbType: NLB
$ cat run-dualstack-tests.sh
#!/bin/bash
echo "=== Running NLB dual-stack test ==="
./openshift-tests run-test '[sig-network-edge][OCPFeatureGate:AWSDualStackInstall][Feature:Router][apigroup:route.openshift.io][apigroup:operator.openshift.io][apigroup:config.openshift.io] should be reachable via IPv4 and IPv6 through a dual-stack ingress controller [Suite:openshift/conformance/parallel]'
echo "=== Running Classic LB dual-stack test ==="
./openshift-tests run-test '[sig-network-edge][OCPFeatureGate:AWSDualStackInstall][Feature:Router][apigroup:route.openshift.io][apigroup:operator.openshift.io][apigroup:config.openshift.io] should be reachable via IPv4 through a Classic LB ingress controller on a dual-stack cluster [Suite:openshift/conformance/parallel]'


 === NLB Test ===
  STEP: Checking that the Infrastructure CR has a DualStack IPFamily
  STEP: Deploying a new router shard with NLB
  STEP: Disabling client IP preservation on the NLB target group to avoid hairpin issues (OCPBUGS-63219)
  STEP: Labelling the namespace for the shard
  STEP: Creating backend service and pod
  STEP: Creating an edge-terminated route
  STEP: Waiting for the route to be admitted
  STEP: Creating exec pod for curl tests
  STEP: Waiting for DNS resolution of the route host
  DNS resolution for dualstack-test.nlb.alebedev-0323.devcluster.openshift.com:  [resolved after ~5 min]
  STEP: Verifying route is reachable over IPv4
  curl -4 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (1/3)
  curl -4 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (2/3)
  curl -4 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (3/3)
  STEP: Verifying route is reachable over IPv6
  curl -6 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (1/3)
  curl -6 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (2/3)
  curl -6 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (3/3)
  Ran 1 of 1 Specs in 423.781 seconds
  SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped

  === Classic LB Test ===
  STEP: Checking that the Infrastructure CR has a DualStack IPFamily
  STEP: Deploying a new router shard with Classic LB
  STEP: Labelling the namespace for the shard
  STEP: Creating backend service and pod
  STEP: Creating an edge-terminated route
  STEP: Waiting for the route to be admitted
  STEP: Creating exec pod for curl tests
  STEP: Waiting for DNS resolution of the route host
  DNS resolution for classic-test.clb.alebedev-0323.devcluster.openshift.com:  [resolved after ~5 min]
  STEP: Verifying route is reachable over IPv4
  curl -4 classic-test.clb.alebedev-0323.devcluster.openshift.com: success (1/3)
  curl -4 classic-test.clb.alebedev-0323.devcluster.openshift.com: success (2/3)
  curl -4 classic-test.clb.alebedev-0323.devcluster.openshift.com: success (3/3)
  Ran 1 of 1 Specs in 399.323 seconds
  SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped

@openshift-ci-robot
Copy link

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 18, 2026
@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 18, 2026

@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.

Details

In response to this:

Add a new test that verifies ingress is reachable over both IPv4 and IPv6 on AWS dual-stack clusters. The test creates a new IngressController shard with an NLB, an edge-terminated route, and validates connectivity using curl -4 and curl -6 from an exec pod.

Also extends the shard.Config to support optional LoadBalancerStrategy parameters for configuring the IngressController's load balancer type.

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 alebedev87 changed the title NE-2422: Add dual-stack ingress e2e test for AWSDualStackInstall featuregate [WIP] NE-2422: Add dual-stack ingress e2e test for AWSDualStackInstall featuregate Mar 18, 2026
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 18, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 18, 2026

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a new Ginkgo e2e test for AWS dual-stack router Route HTTPS reachability (NLB and CLB scenarios) and extends router shard Config to accept Replicas and a LoadBalancerStrategy, propagating them into the deployed IngressController spec.

Changes

Cohort / File(s) Summary
Dual-Stack Router Tests
test/extended/router/dualstack.go
New Ginkgo e2e tests (two It blocks) that run only on AWS dual-stack clusters, deploy router shards with NLB and CLB configurations (NLB adds an AWS target-group annotation), create a PreferDualStack backend Pod/Service, create edge-terminated Routes, wait for RouteAdmitted, resolve DNS, and verify HTTPS reachability via curl -4/-6. Deferred cleanup deletes exec pod and created IngressController.
Router Shard Configuration
test/extended/router/shard/shard.go
Adds Replicas int32 and LoadBalancer *operatorv1.LoadBalancerStrategy to Config. DeployNewRouterShard now uses cfg.Replicas when >0 (otherwise defaults to 1) and propagates cfg.LoadBalancer into IngressControllerSpec.EndpointPublishingStrategy.LoadBalancer.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci bot requested review from davidesalerno and miheer March 18, 2026 22:19
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 18, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between a45902d and 734f097.

📒 Files selected for processing (2)
  • test/extended/router/dualstack.go
  • test/extended/router/shard/shard.go

@alebedev87 alebedev87 force-pushed the ingress-dual-stack-test branch from 734f097 to bbeb835 Compare March 19, 2026 23:55
@alebedev87 alebedev87 changed the title [WIP] NE-2422: Add dual-stack ingress e2e test for AWSDualStackInstall featuregate NE-2422: Add dual-stack ingress e2e test for AWSDualStackInstall featuregate Mar 20, 2026
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 20, 2026
@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 20, 2026

@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.

Details

In response to this:

Add a new test that verifies ingress is reachable over both IPv4 and IPv6 on AWS dual-stack clusters. The test creates a new IngressController shard with an NLB, an edge-terminated route, and validates connectivity using curl -4 and curl -6 from an exec pod.

Also extends the shard.Config to support optional LoadBalancerStrategy parameters for configuring the IngressController's load balancer type.

Add a second test case that verifies IPv4 connectivity through a Classic LB ingress controller on a dual-stack cluster. Extract common setup logic (backend service/pod creation, edge route creation, route admission waiting) into shared helper functions. Use distinct domains (nlb/clb) for each test's ingress controller shard.

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 alebedev87 force-pushed the ingress-dual-stack-test branch from 3185a90 to 80ca2cf Compare March 20, 2026 09:03
@alebedev87 alebedev87 changed the title NE-2422: Add dual-stack ingress e2e test for AWSDualStackInstall featuregate NE-2422: Add dual-stack ingress e2e tests for AWSDualStackInstall featuregate Mar 20, 2026
@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 20, 2026

@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.

Details

In response to this:

Add e2e tests that verify ingress connectivity on AWS dual-stack clusters gated by AWSDualStackInstall.

Two test cases are included:

  • NLB: Creates an IngressController shard with a Network Load Balancer and validates connectivity over both IPv4 and IPv6.
  • Classic LB: Creates an IngressController shard with a Classic Load Balancer and validates connectivity over IPv4.

Each test deploys a backend pod/service, an edge-terminated route, and uses curl from an exec pod to verify connectivity. The shard.Config is extended with an optional LoadBalancer field to configure the IngressController's load balancer options.

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.

@openshift-ci-robot
Copy link

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 20, 2026

@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.

Details

In response to this:

Add e2e tests that verify ingress connectivity on AWS dual-stack clusters gated by AWSDualStackInstall.

Two test cases are included:

  • NLB: Creates an IngressController shard with a Network Load Balancer and validates connectivity over both IPv4 and IPv6.
  • Classic LB: Creates an IngressController shard with a Classic Load Balancer and validates connectivity over IPv4.

Each test deploys a backend pod/service, an edge-terminated route, and uses curl from an exec pod to verify connectivity. The shard.Config is extended with an optional LoadBalancer field to configure the IngressController's load balancer options.

Manual test

With custom payload build:

build 4.22,openshift/cluster-ingress-operator#1376,openshift/cloud-provider-aws#135
 * Mark bundle as not supporting multiuse
 < HTTP/1.1 200 OK
 < content-length: 2
 < content-type: text/plain
 < set-cookie: b237dc9ee6100b68899620739ca32107=a63b2ebfd6dcc76241e34a40ff0a2bb8; path=/; HttpOnly; Secure; SameSite=None
 < 
 { [2 bytes data]
100     2  100     2    0     0     90      0 --:--:-- --:--:-- --:--:--    90
 * Connection #0 to host dualstack-test.nlb.alebedev-0320.devcluster.openshift.com left intact

 I0320 17:39:39.129282 96072 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-router-dualstack-gh6vz-user}, err: <nil>
 I0320 17:39:39.243362 96072 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-router-dualstack-gh6vz}, err: <nil>
 I0320 17:39:39.373706 96072 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~sBVHb2qTunmrUL25tGBMaH02LncmrKGV2zLbqUTKYtY}, err: <nil>
   STEP: Destroying namespace "e2e-test-router-dualstack-gh6vz" for this suite. @ 03/20/26 17:39:39.374
 • [377.055 seconds]
 ------------------------------

 Ran 1 of 1 Specs in 377.055 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped


. . .

 < HTTP/1.1 200 OK
 < content-length: 2
 < content-type: text/plain
 < set-cookie: 57483298b827e4a9978fd42bfbd612af=4158fa525f4cb55ed2d3a82d992d4683; path=/; HttpOnly; Secure; SameSite=None
 < 
 { [2 bytes data]
100     2  100     2    0     0     95      0 --:--:-- --:--:-- --:--:--    90
 * Connection #0 to host classic-test.clb.alebedev-0320.devcluster.openshift.com left intact

 I0320 17:45:47.012728 97827 client.go:689] Deleted {user.openshift.io/v1, Resource=users  e2e-test-router-dualstack-jfcnf-user}, err: <nil>
 I0320 17:45:47.125456 97827 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthclients  e2e-client-e2e-test-router-dualstack-jfcnf}, err: <nil>
 I0320 17:45:47.261377 97827 client.go:689] Deleted {oauth.openshift.io/v1, Resource=oauthaccesstokens  sha256~2gmZkrGzgnRjkddbAfv6Uxt9F27d3erjtSbdjZQ-_1Q}, err: <nil>
   STEP: Destroying namespace "e2e-test-router-dualstack-jfcnf" for this suite. @ 03/20/26 17:45:47.261
 • [364.935 seconds]
 ------------------------------

 Ran 1 of 1 Specs in 364.936 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped

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 alebedev87 force-pushed the ingress-dual-stack-test branch 2 times, most recently from cf53d48 to 3dbb657 Compare March 23, 2026 11:12
@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 23, 2026

@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.

Details

In response to this:

Add e2e tests that verify ingress connectivity on AWS dual-stack clusters gated by AWSDualStackInstall.

Two test cases are included:

  • NLB: Creates an IngressController shard with a Network Load Balancer and validates connectivity over both IPv4 and IPv6.
  • Classic LB: Creates an IngressController shard with a Classic Load Balancer and validates connectivity over IPv4.

Each test deploys a backend pod/service, an edge-terminated route, and uses curl from an exec pod to verify connectivity. The shard.Config is extended with an optional LoadBalancer field 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).

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 alebedev87 force-pushed the ingress-dual-stack-test branch 2 times, most recently from c2be292 to 41b285c Compare March 23, 2026 11:32
…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>
@alebedev87 alebedev87 force-pushed the ingress-dual-stack-test branch from 41b285c to 63f33fb Compare March 23, 2026 11:33
@openshift-ci-robot
Copy link

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@openshift-ci-robot
Copy link

openshift-ci-robot commented Mar 23, 2026

@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.

Details

In response to this:

Add e2e tests that verify ingress connectivity on AWS dual-stack clusters gated by AWSDualStackInstall.

Two test cases are included:

  • NLB: Creates an IngressController shard with a Network Load Balancer and validates connectivity over both IPv4 and IPv6.
  • Classic LB: Creates an IngressController shard with a Classic Load Balancer and validates connectivity over IPv4.

Each test deploys a backend pod/service, an edge-terminated route, and uses curl from an exec pod to verify connectivity. The shard.Config is extended with an optional LoadBalancer field 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:

build 4.22,openshift/cluster-ingress-operator#1376,openshift/cloud-provider-aws#135

Install config:

$ cat ~/install-config.yaml | yq .networking
clusterNetwork:
 - cidr: fd01::/48
   hostPrefix: 64
 - cidr: 10.128.0.0/14
   hostPrefix: 23
machineNetwork:
 - cidr: 10.0.0.0/16
networkType: OVNKubernetes
serviceNetwork:
 - fd02::/112
 - 172.30.0.0/16

$ cat ~/install-config-dual-stack.yaml | yq .platform
aws:
 region: us-east-2
 ipFamily: DualStackIPv6Primary
 lbType: NLB
$ cat run-dualstack-tests.sh
#!/bin/bash
echo "=== Running NLB dual-stack test ==="
./openshift-tests run-test '[sig-network-edge][OCPFeatureGate:AWSDualStackInstall][Feature:Router][apigroup:route.openshift.io][apigroup:operator.openshift.io][apigroup:config.openshift.io] should be reachable via IPv4 and IPv6 through a dual-stack ingress controller [Suite:openshift/conformance/parallel]'
echo "=== Running Classic LB dual-stack test ==="
./openshift-tests run-test '[sig-network-edge][OCPFeatureGate:AWSDualStackInstall][Feature:Router][apigroup:route.openshift.io][apigroup:operator.openshift.io][apigroup:config.openshift.io] should be reachable via IPv4 through a Classic LB ingress controller on a dual-stack cluster [Suite:openshift/conformance/parallel]'


=== NLB Test ===
 STEP: Checking that the Infrastructure CR has a DualStack IPFamily
 STEP: Deploying a new router shard with NLB
 STEP: Disabling client IP preservation on the NLB target group to avoid hairpin issues (OCPBUGS-63219)
 STEP: Labelling the namespace for the shard
 STEP: Creating backend service and pod
 STEP: Creating an edge-terminated route
 STEP: Waiting for the route to be admitted
 STEP: Creating exec pod for curl tests
 STEP: Waiting for DNS resolution of the route host
 DNS resolution for dualstack-test.nlb.alebedev-0323.devcluster.openshift.com:  [resolved after ~5 min]
 STEP: Verifying route is reachable over IPv4
 curl -4 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (1/3)
 curl -4 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (2/3)
 curl -4 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (3/3)
 STEP: Verifying route is reachable over IPv6
 curl -6 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (1/3)
 curl -6 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (2/3)
 curl -6 dualstack-test.nlb.alebedev-0323.devcluster.openshift.com: success (3/3)
 Ran 1 of 1 Specs in 423.781 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped

 === Classic LB Test ===
 STEP: Checking that the Infrastructure CR has a DualStack IPFamily
 STEP: Deploying a new router shard with Classic LB
 STEP: Labelling the namespace for the shard
 STEP: Creating backend service and pod
 STEP: Creating an edge-terminated route
 STEP: Waiting for the route to be admitted
 STEP: Creating exec pod for curl tests
 STEP: Waiting for DNS resolution of the route host
 DNS resolution for classic-test.clb.alebedev-0323.devcluster.openshift.com:  [resolved after ~5 min]
 STEP: Verifying route is reachable over IPv4
 curl -4 classic-test.clb.alebedev-0323.devcluster.openshift.com: success (1/3)
 curl -4 classic-test.clb.alebedev-0323.devcluster.openshift.com: success (2/3)
 curl -4 classic-test.clb.alebedev-0323.devcluster.openshift.com: success (3/3)
 Ran 1 of 1 Specs in 399.323 seconds
 SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped

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.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 23, 2026

@alebedev87: all tests passed!

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants