Skip to content

Move GCD to TechPreview - #2970

Open
patrickdillon wants to merge 1 commit into
openshift:masterfrom
patrickdillon:gcd-techpreview
Open

Move GCD to TechPreview#2970
patrickdillon wants to merge 1 commit into
openshift:masterfrom
patrickdillon:gcd-techpreview

Conversation

@patrickdillon

Copy link
Copy Markdown
Contributor

This feature was created only in DevPreview but we need it in TechPreview for testing. OCPSTRAT-3006 is a release blocker.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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: LGTM mode

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Hello @patrickdillon! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: c0568e87-f09b-4dfa-82b0-cade7c4ded3d

📥 Commits

Reviewing files that changed from the base of the PR and between 7f3965b and a073271.

⛔ Files ignored due to path filters (2)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
📒 Files selected for processing (6)
  • features.md
  • features/features.go
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
🚧 Files skipped from review as they are similar to previous changes (4)
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • features.md
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • features/features.go

📝 Walkthrough

Walkthrough

The change enables GCPSovereignCloudInstall for TechPreviewNoUpgrade and DevPreviewNoUpgrade. It updates the feature documentation and the Hypershift and SelfManagedHA manifests. It also adds optional, validated GCP universeDomain fields to the Infrastructure and ControllerConfig CRDs.

Suggested reviewers: cheesesashimi, everettraven, vr4manta

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states that the GCD feature moves to TechPreview, matching the primary changes.
Description check ✅ Passed The description explains why the feature moves from DevPreview to TechPreview and references the related release blocker.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The commit changes feature-gate declarations, manifests, and CRDs only; it adds no test files, Ginkgo title calls, or dynamic test names.
Test Structure And Quality ✅ Passed The pull request changes feature gates and generated CRD manifests only; it adds or modifies no Ginkgo test files or test constructs, so the listed test-quality checks are not applicable.
Microshift Test Compatibility ✅ Passed The PR changes only feature metadata, manifests, and generated CRDs; no *_test.go files or added Ginkgo declarations are present, so MicroShift test compatibility is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The commit changes only feature metadata, manifests, and CRDs; it adds no test paths or Ginkgo markers, so the SNO test-compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes feature-gate metadata and generated CRD schemas only. The diff adds no deployments, controllers, workloads, or topology-related scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The PR changes feature metadata and manifests; its sole Go change has no process entrypoint or stdout write, and suite logging uses GinkgoWriter.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds no Ginkgo e2e tests or test networking; it changes feature gates and CRD manifests only, so this compatibility check is not applicable.
No-Weak-Crypto ✅ Passed The PR adds only feature-gate metadata, manifest entries, and validated universeDomain CRD fields; added-line scans found no weak crypto, crypto implementation, or secret-comparison usage.
Container-Privileges ✅ Passed The PR changes feature-gate lists and CRD schema fields only; no added or changed privileged, host namespace, SYS_ADMIN, allowPrivilegeEscalation, or root settings were found.
No-Sensitive-Data-In-Logs ✅ Passed The PR diff changes feature-gate metadata and CRD schemas only; it adds no logging calls and no passwords, tokens, API keys, PII, or customer data.
✨ 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.12.2)

Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented
The command is terminated due to an error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented


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

@openshift-ci openshift-ci Bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Aug 5, 2026
@qodo-for-rh-openshift

Copy link
Copy Markdown

PR Summary by Qodo

Enable GCPSovereignCloudInstall (GCD) in TechPreviewNoUpgrade

✨ Enhancement ⚙️ Configuration changes 📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Enable GCPSovereignCloudInstall feature gate in TechPreviewNoUpgrade for testing/release
 readiness.
• Add GCP universeDomain schema to TechPreviewNoUpgrade CRDs for Infrastructure and
 ControllerConfig.
• Update feature documentation and TechPreviewNoUpgrade payload featuregate manifests to include the
 gate.
Diagram

graph TD
R["Feature registry"] --> FG["FeatureGate manifests"] --> GCD["GCPSovereignCloudInstall"]
GCD --> Infra["Infrastructure CRD"] --> U["universeDomain field"]
GCD --> MCC["ControllerConfig CRD"] --> U
U --> Cons["Consumers/observability"]
R --> Doc["features.md matrix"]
Loading
High-Level Assessment

The approach is the right one for promoting a gate to TechPreviewNoUpgrade: enable it at the source (features.go), ensure TechPreviewNoUpgrade payload FeatureGate manifests include it, and keep the TechPreviewNoUpgrade CRD schemas in sync (including payload + config copies). No materially better alternative than this coordinated update.

Files changed (8) +96 / -8

Enhancement (1) +1 / -1
features.goEnable GCPSovereignCloudInstall in TechPreviewNoUpgrade +1/-1

Enable GCPSovereignCloudInstall in TechPreviewNoUpgrade

• Changes the GCPSovereignCloudInstall feature gate registration to enable it for TechPreviewNoUpgrade in addition to DevPreviewNoUpgrade. This is the core behavior change that promotes the gate for broader testing.

features/features.go

Documentation (1) +1 / -1
features.mdMove GCPSovereignCloudInstall to TechPreview section of feature matrix +1/-1

Move GCPSovereignCloudInstall to TechPreview section of feature matrix

• Updates the feature matrix entry for GCPSovereignCloudInstall, relocating it to the section that reflects TechPreview enablement. Aligns documentation with the updated TechPreviewNoUpgrade payload gating.

features.md

Other (6) +94 / -6
0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yamlAdd universeDomain to Infrastructure CRD (TechPreviewNoUpgrade) +22/-0

Add universeDomain to Infrastructure CRD (TechPreviewNoUpgrade)

• Extends the TechPreviewNoUpgrade Infrastructure CRD schema with a new optional universeDomain string. Adds length constraints and DNS1123-subdomain validation to ensure a well-formed domain value.

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml

0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yamlAdd universeDomain to ControllerConfig CRD (TechPreviewNoUpgrade) +22/-0

Add universeDomain to ControllerConfig CRD (TechPreviewNoUpgrade)

• Extends the TechPreviewNoUpgrade ControllerConfig CRD schema with the optional universeDomain field. Includes max/min length and DNS1123-subdomain validation matching the Infrastructure CRD.

machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml

0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yamlSync payload Infrastructure CRD with universeDomain (TechPreviewNoUpgrade) +22/-0

Sync payload Infrastructure CRD with universeDomain (TechPreviewNoUpgrade)

• Updates the payload CRD manifest for Infrastructure (TechPreviewNoUpgrade) to include the universeDomain schema and validation. Keeps payload CRDs consistent with the generated config CRDs.

payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml

0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yamlSync payload ControllerConfig CRD with universeDomain (TechPreviewNoUpgrade) +22/-0

Sync payload ControllerConfig CRD with universeDomain (TechPreviewNoUpgrade)

• Updates the payload CRD manifest for ControllerConfig (TechPreviewNoUpgrade) to include the universeDomain schema and validation. Mirrors the corresponding generated CRD change.

payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml

featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yamlInclude GCPSovereignCloudInstall in Hypershift TechPreviewNoUpgrade FeatureGate list +3/-3

Include GCPSovereignCloudInstall in Hypershift TechPreviewNoUpgrade FeatureGate list

• Moves/adds GCPSovereignCloudInstall into the enabled feature list for the Hypershift TechPreviewNoUpgrade payload. Ensures the gate is actually surfaced in the TechPreviewNoUpgrade featuregate manifest.

payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml

featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yamlInclude GCPSovereignCloudInstall in SelfManagedHA TechPreviewNoUpgrade FeatureGate list +3/-3

Include GCPSovereignCloudInstall in SelfManagedHA TechPreviewNoUpgrade FeatureGate list

• Moves/adds GCPSovereignCloudInstall into the enabled feature list for the SelfManagedHA TechPreviewNoUpgrade payload. Keeps TechPreviewNoUpgrade enablement consistent across payload variants.

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml

@qodo-for-rh-openshift

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

@everettraven

Copy link
Copy Markdown
Contributor

/lgtm
/approve

/override-sticky ci/prow/verify-hypershift-integration

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

@everettraven: Overrode contexts on behalf of everettraven: ci/prow/verify-hypershift-integration

These overrides will persist across retests on the current HEAD SHA. Pushing a new commit will clear them. Use /override-cancel to remove them.

Details

In response to this:

/lgtm
/approve

/override-sticky ci/prow/verify-hypershift-integration

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.

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 5, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-hypershift
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-techpreview
/test e2e-aws-serial-1of2
/test e2e-aws-serial-2of2
/test e2e-aws-serial-techpreview-1of2
/test e2e-aws-serial-techpreview-2of2
/test e2e-azure
/test e2e-gcp
/test e2e-upgrade
/test e2e-upgrade-out-of-change
/test e2e-vsphere-ovn-techpreview
/test minor-e2e-upgrade-minor

@openshift-ci

openshift-ci Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: everettraven

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 Aug 5, 2026
@patrickdillon

Copy link
Copy Markdown
Contributor Author

/verified by unit

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Aug 5, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@patrickdillon: This PR has been marked as verified by unit.

Details

In response to this:

/verified by unit

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-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD cfb6385 and 2 for PR HEAD 792b35d in total

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 6, 2026
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Aug 6, 2026
@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

New changes are detected. LGTM label has been removed.

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-ci openshift-ci Bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Aug 6, 2026
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 6, 2026
@patrickdillon

Copy link
Copy Markdown
Contributor Author

@everettraven This lost the lgtm and override in rebase, PTAL thanks.

@everettraven

everettraven commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

@patrickdillon Looks like there are now some integration test failures. Would you mind taking a look at and resolving those?

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@openshift-ci openshift-ci Bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Aug 6, 2026
@patrickdillon

Copy link
Copy Markdown
Contributor Author

@patrickdillon Looks like there are now some integration test failures. Would you mind taking a look at and resolving those?

@everettraven geez my bad. Repushed, and test works locally. thanks

@sadasu

sadasu commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-hypershift
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-techpreview
/test e2e-aws-serial-1of2
/test e2e-aws-serial-2of2
/test e2e-aws-serial-techpreview-1of2
/test e2e-aws-serial-techpreview-2of2
/test e2e-azure
/test e2e-gcp
/test e2e-upgrade
/test e2e-upgrade-out-of-change
/test e2e-vsphere-ovn-techpreview
/test minor-e2e-upgrade-minor

@openshift-ci

openshift-ci Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

@patrickdillon: 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-aws-serial-2of2 a073271 link true /test e2e-aws-serial-2of2
ci/prow/minor-e2e-upgrade-minor a073271 link true /test minor-e2e-upgrade-minor
ci/prow/e2e-aws-ovn a073271 link true /test e2e-aws-ovn
ci/prow/e2e-aws-ovn-hypershift-conformance a073271 link true /test e2e-aws-ovn-hypershift-conformance
ci/prow/e2e-aws-serial-1of2 a073271 link true /test e2e-aws-serial-1of2
ci/prow/e2e-aws-serial-techpreview-1of2 a073271 link true /test e2e-aws-serial-techpreview-1of2
ci/prow/e2e-upgrade-out-of-change a073271 link true /test e2e-upgrade-out-of-change
ci/prow/e2e-aws-ovn-techpreview a073271 link true /test e2e-aws-ovn-techpreview
ci/prow/e2e-upgrade a073271 link true /test e2e-upgrade
ci/prow/e2e-aws-ovn-hypershift a073271 link true /test e2e-aws-ovn-hypershift
ci/prow/e2e-gcp a073271 link true /test e2e-gcp
ci/prow/e2e-aws-serial-techpreview-2of2 a073271 link true /test e2e-aws-serial-techpreview-2of2
ci/prow/e2e-azure a073271 link true /test e2e-azure
ci/prow/verify-hypershift-integration a073271 link true /test verify-hypershift-integration
ci/prow/e2e-vsphere-ovn-techpreview a073271 link true /test e2e-vsphere-ovn-techpreview

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. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants