Skip to content

CORS-4332: Add GCP to the allowed platforms for dual stack#2894

Open
barbacbd wants to merge 2 commits intoopenshift:masterfrom
barbacbd:CORS-4332
Open

CORS-4332: Add GCP to the allowed platforms for dual stack#2894
barbacbd wants to merge 2 commits intoopenshift:masterfrom
barbacbd:CORS-4332

Conversation

@barbacbd
Copy link
Copy Markdown

Added GCP as a platform that supports DualStack on Day-0
Added GCP as a platform that does not support conversion to DualStack on Day-2
Added tests for GCP

** GCP is behind a featuregate. Ensure that these featuregates are enablede before dual stack support is extended to GCP.

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

openshift-ci-robot commented Jan 28, 2026

@barbacbd: This pull request references CORS-4332 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:

Added GCP as a platform that supports DualStack on Day-0
Added GCP as a platform that does not support conversion to DualStack on Day-2
Added tests for GCP

** GCP is behind a featuregate. Ensure that these featuregates are enablede before dual stack support is extended to GCP.

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.

@barbacbd
Copy link
Copy Markdown
Author

/hold

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 28, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4926fd5e-8922-4cc2-b0e4-ef17fc3c784a

📥 Commits

Reviewing files that changed from the base of the PR and between f3cc867 and ce443fb.

📒 Files selected for processing (3)
  • pkg/network/cluster_config_test.go
  • pkg/network/render.go
  • pkg/network/render_test.go
🚧 Files skipped from review as they are similar to previous changes (3)
  • pkg/network/render.go
  • pkg/network/render_test.go
  • pkg/network/cluster_config_test.go

Walkthrough

Adds GCP to dual‑stack gating and updates tests: render now treats GCP as dual‑stack‑supported when FeatureGateGCPDualStackInstall is enabled; tests updated/added to exercise GCP dual‑stack install and migration behaviors driven by feature gates.

Changes

Cohort / File(s) Summary
Platform support logic
pkg/network/render.go
Include configv1.GCPPlatformType in isSupportedDualStackPlatform, gated by apifeatures.FeatureGateGCPDualStackInstall; update Day‑0 comment to mention GCP.
Cluster config tests
pkg/network/cluster_config_test.go
Add FeatureGateGCPDualStackInstall to dual‑stack feature sets and to the incomplete/allowlist handling; adjust TestValidateClusterConfigDualStack to reconfigure fake infra/client for a GCP path that fails when the GCP feature gate is absent.
Render tests
pkg/network/render_test.go
Add FeatureGateGCPDualStackInstall to default dual‑stack feature gates and add TestGCPDualStackDay0SupportedDay2Blocked (GCP infra.PlatformType) to validate migration safety for single↔dual stack around GCP.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

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

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.11.4)

level=error msg="Running error: context loading failed: failed to load packages: failed to load packages: failed to load with go/packages: err: exit status 1: stderr: go: inconsistent vendoring in :\n\tgithub.com/Masterminds/semver@v1.5.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tgithub.com/Masterminds/sprig/v3@v3.2.3: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tgithub.com/containernetworking/cni@v0.8.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tgithub.com/ghodss/yaml@v1.0.1-0.20190212211648-25d852aebe32: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tgithub.com/go-bindata/go-bindata@v3.1.2+incompatible: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tgithub.com/onsi/gomega@v1.39.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tgithub.com/ope

... [truncated 17356 characters] ...

ired in go.mod, but not marked as explicit in vendor/modules.txt\n\tk8s.io/gengo/v2@v2.0.0-20251215205346-5ee0d033ba5b: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tk8s.io/kms@v0.35.2: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tk8s.io/kube-aggregator@v0.35.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tsigs.k8s.io/randfill@v1.0.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\tsigs.k8s.io/structured-merge-diff/v6@v6.3.2: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt\n\n\tTo ignore the vendor directory, use -mod=readonly or -mod=mod.\n\tTo sync the vendor directory, run:\n\t\tgo mod vendor\n"


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

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jan 28, 2026
@openshift-ci openshift-ci bot requested review from jcaamano and ricky-rav January 28, 2026 15:46
@barbacbd barbacbd force-pushed the CORS-4332 branch 2 times, most recently from cc60608 to e7e4777 Compare January 30, 2026 15:55
@barbacbd
Copy link
Copy Markdown
Author

/retest-required

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 11, 2026
@openshift-merge-robot
Copy link
Copy Markdown
Contributor

PR needs rebase.

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.

- Added configv1.GCPPlatformType to isSupportedDualStackPlatform() with feature gate check
- Updated function documentation to include GCP
- GCP is intentionally excluded from isConversionToDualStackSupported() (no Day-2 support)
  - Updated getFeatureGatesWithDualStack() to include FeatureGateGCPDualStackInstall
  - Updated getFeatureGatesWithIncompleteDualStack() to register GCP feature gate as disabled
  - Modified existing test to verify GCP works with feature gate enabled
  - Added new test to verify GCP fails without feature gate enabled
2. pkg/network/render_test.go:
  - Updated getDefaultFeatureGatesWithDualStack() to include FeatureGateGCPDualStackInstall
  - Added TestGCPDualStackDay0SupportedDay2Blocked() to explicitly test GCP behavior
  - Kept existing TestAllowMigrationOnlyForSupportedTypes() which verifies GCP blocks Day-2 conversion

Tests generated by Claude and verified/tested by @barbacbd.
@openshift-ci openshift-ci bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 30, 2026
@barbacbd
Copy link
Copy Markdown
Author

/hold cancel

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 30, 2026
@tthvo
Copy link
Copy Markdown
Member

tthvo commented Apr 2, 2026

/retest

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 2, 2026

@barbacbd: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-metal-ipi-ovn-dualstack-bgp-local-gw ce443fb link true /test e2e-metal-ipi-ovn-dualstack-bgp-local-gw
ci/prow/e2e-metal-ipi-ovn-dualstack-bgp ce443fb link true /test e2e-metal-ipi-ovn-dualstack-bgp
ci/prow/e2e-aws-ovn-rhcos10-techpreview ce443fb link false /test e2e-aws-ovn-rhcos10-techpreview
ci/prow/4.22-upgrade-from-stable-4.21-e2e-azure-ovn-upgrade ce443fb link false /test 4.22-upgrade-from-stable-4.21-e2e-azure-ovn-upgrade
ci/prow/security ce443fb link false /test security

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.

@sadasu
Copy link
Copy Markdown
Contributor

sadasu commented Apr 2, 2026

/lgtm

@barbacbd after you test, could you please add the verified label?

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Apr 2, 2026
Copy link
Copy Markdown
Member

@tthvo tthvo left a comment

Choose a reason for hiding this comment

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

/lgtm

too :D

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci bot commented Apr 2, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: barbacbd, sadasu, tthvo
Once this PR has been reviewed and has the lgtm label, please assign knobunc for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

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

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants