Skip to content

SPLAT-2826: Promote VSphereMultiVCenterDay2 to GA - #2968

Open
vr4manta wants to merge 2 commits into
openshift:masterfrom
vr4manta:SPLAT-2826
Open

SPLAT-2826: Promote VSphereMultiVCenterDay2 to GA#2968
vr4manta wants to merge 2 commits into
openshift:masterfrom
vr4manta:SPLAT-2826

Conversation

@vr4manta

@vr4manta vr4manta commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

SPLAT-2826

Changes

  • Promoted VSphereMultiVCenterDay2 to GA

@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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 3, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 3, 2026

Copy link
Copy Markdown

@vr4manta: This pull request references SPLAT-2826 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 "5.0.0" version, but no target version was set.

Details

In response to this:

SPLAT-2826

Changes

  • Promoted VSphereMultiVCenterDay2 to GA

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

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Hello @vr4manta! 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 3, 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: 71063a47-9c87-4b0b-9ea7-dd21fe6c8e43

📥 Commits

Reviewing files that changed from the base of the PR and between b49c14e and d76e2c6.

📒 Files selected for processing (1)
  • config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml

📝 Walkthrough

Walkthrough

The change enables VSphereMultiVCenterDay2 for all deployment profiles. It updates Infrastructure and ControllerConfig CRDs to prevent simultaneous vCenter additions and removals, require failure domains to reference configured vCenters, and preserve vsphere.vcenters after configuration. The previous post-install one-vCenter limit is removed.

Suggested reviewers: joelspeed, sinnykumari, everettraven

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: promoting VSphereMultiVCenterDay2 to GA.
Description check ✅ Passed The description directly states that the pull request promotes VSphereMultiVCenterDay2 to GA, matching the changeset.
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 PR changes no Ginkgo title declarations; the only fixture update changes feature gating and a CRD patch, while generated titles use static testEntry.Name values.
Test Structure And Quality ✅ Passed The PR changes declarative YAML fixtures, CRDs, and feature-gate files; it adds no Ginkgo test code or cluster operations to assess.
Microshift Test Compatibility ✅ Passed The PR adds no new Ginkgo e2e test; its only test change is a declarative Infrastructure schema-test YAML patch, so MicroShift API compatibility rules do not apply.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR adds no Ginkgo e2e tests. It only updates feature-gate and CRD YAML plus a declarative Infrastructure test configuration.
Topology-Aware Scheduling Compatibility ✅ Passed PR changes feature-gate registration, feature-gate lists, CRD validation, and tests; no workload objects or scheduling constraints were added or modified.
Ote Binary Stdout Contract ✅ Passed The PR changes no OTE entry point; its only Go change is a feature-gate initializer whose helper calls emit no stdout, and suite setup writes to GinkgoWriter.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds no Ginkgo e2e tests. It only updates a YAML schema test and manifests; added lines contain no IPv4-only assumptions or external connectivity.
No-Weak-Crypto ✅ Passed The 15-file PR diff contains only feature-gate, CRD validation, and test changes; the targeted weak-crypto scan found no MD5, SHA1, DES, RC4, Blowfish, ECB, or crypto API usage.
Container-Privileges ✅ Passed The full PR diff adds no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, allowPrivilegeEscalation, or root security settings.
No-Sensitive-Data-In-Logs ✅ Passed The PR changes only feature metadata, CRD validation, feature-gate manifests, and tests; no logging calls or sensitive values were added.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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 3, 2026
@openshift-ci
openshift-ci Bot requested review from JoelSpeed and sinnykumari August 3, 2026 17:02
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign everettraven 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

@qodo-for-rh-openshift

Copy link
Copy Markdown

PR Summary by Qodo

Promote VSphereMultiVCenterDay2 to GA and harden vSphere CRD validations

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

Grey Divider

AI Description

• Enable VSphereMultiVCenterDay2 in default and OKD feature gate sets.
• Update vSphere CRD schema validations for safer multi-vCenter day-2 edits.
• Refresh feature gate documentation and payload featuregate manifests.
Diagram

graph TD
A([Cluster admin]) --> B["FeatureGate: VSphereMultiVCenterDay2"] --> C["features/features.go"] --> D["payload featuregate manifests"]
A --> E["Infrastructure / ControllerConfig"] --> F(("vSphere CRD schema")) --> G["CEL validations"]
C --> H["features.md"]
subgraph Legend
direction LR
_usr(["Actor"]) ~~~ _cfg["Config / code"] ~~~ _crd(("Schema / CRD"))
end
Loading
High-Level Assessment

The approach is the standard, lowest-risk path for GA promotion: enable the feature gate in Default/OKD and enforce invariants at the API boundary via CRD CEL validations. Alternatives like controller/admission-webhook enforcement would add operational complexity and reduce early feedback to users compared to schema-level validation.

Files changed (14) +135 / -43

Enhancement (1) +2 / -2
features.goEnable VSphereMultiVCenterDay2 in Default and OKD feature sets +2/-2

Enable VSphereMultiVCenterDay2 in Default and OKD feature sets

• Updates the VSphereMultiVCenterDay2 feature gate registration so it is enabled for Default and OKD in addition to TechPreview/DevPreview contexts, reflecting GA promotion.

features/features.go

Documentation (1) +1 / -1
features.mdUpdate feature gate matrix for VSphereMultiVCenterDay2 GA promotion +1/-1

Update feature gate matrix for VSphereMultiVCenterDay2 GA promotion

• Adjusts the feature gate documentation table so VSphereMultiVCenterDay2 is reflected in the GA-enabled set (and reordered accordingly).

features.md

Other (12) +132 / -40
0000_10_config-operator_01_infrastructures-Default.crd.yamlAdd multi-vCenter safety validations to Infrastructure CRD (Default) +14/-3

Add multi-vCenter safety validations to Infrastructure CRD (Default)

• Adds CEL validations to the vSphere vcenters list to prevent simultaneous add/remove edits and to ensure failureDomains reference an existing vCenter. Replaces the prior post-install single-vCenter restriction with a rule preventing removal of vcenters once set.

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

0000_10_config-operator_01_infrastructures-OKD.crd.yamlAdd multi-vCenter safety validations to Infrastructure CRD (OKD) +14/-3

Add multi-vCenter safety validations to Infrastructure CRD (OKD)

• Mirrors the Default CRD updates: prevents mixed add/remove operations on vcenters, validates failureDomain-to-vCenter mapping, and disallows removing vcenters after being set.

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

0000_80_machine-config_01_controllerconfigs-Default.crd.yamlAdd multi-vCenter safety validations to ControllerConfig CRD (Default) +16/-4

Add multi-vCenter safety validations to ControllerConfig CRD (Default)

• Adds CEL rules preventing simultaneous add/remove edits to vcenters and ensuring failureDomains have corresponding vCenter entries. Removes the prior single-vCenter post-install constraint and instead prevents removing vcenters after they are set.

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

0000_80_machine-config_01_controllerconfigs-OKD.crd.yamlAdd multi-vCenter safety validations to ControllerConfig CRD (OKD) +16/-4

Add multi-vCenter safety validations to ControllerConfig CRD (OKD)

• Applies the same multi-vCenter and failure domain consistency validations to the OKD variant of the ControllerConfig CRD, and prevents removing vcenters once configured.

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

0000_10_config-operator_01_infrastructures-Default.crd.yamlPropagate Infrastructure CRD multi-vCenter validations into payload (Default) +14/-3

Propagate Infrastructure CRD multi-vCenter validations into payload (Default)

• Carries the new vcenters and failureDomains CEL validations into the shipped payload CRD for Default, including the updated rule set that supports multi-vCenter day-2 edits.

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

0000_10_config-operator_01_infrastructures-OKD.crd.yamlPropagate Infrastructure CRD multi-vCenter validations into payload (OKD) +14/-3

Propagate Infrastructure CRD multi-vCenter validations into payload (OKD)

• Carries the same new CEL validations into the OKD payload CRD for Infrastructure, aligning OKD with Default behavior.

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

0000_80_machine-config_01_controllerconfigs-Default.crd.yamlPropagate ControllerConfig CRD multi-vCenter validations into payload (Default) +16/-4

Propagate ControllerConfig CRD multi-vCenter validations into payload (Default)

• Ships the ControllerConfig CRD validation changes in the payload: prevents mixed add/remove vcenter updates, enforces failureDomain-vCenter consistency, and disallows removing vcenters once set.

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

0000_80_machine-config_01_controllerconfigs-OKD.crd.yamlPropagate ControllerConfig CRD multi-vCenter validations into payload (OKD) +16/-4

Propagate ControllerConfig CRD multi-vCenter validations into payload (OKD)

• Mirrors Default payload changes for OKD ControllerConfig CRD, ensuring consistent schema enforcement across variants.

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

featureGate-4-10-Hypershift-Default.yamlMove VSphereMultiVCenterDay2 into GA-enabled Hypershift Default payload set +3/-3

Move VSphereMultiVCenterDay2 into GA-enabled Hypershift Default payload set

• Removes VSphereMultiVCenterDay2 from its prior list position and adds it to the GA-enabled section of the Hypershift Default feature gate payload.

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

featureGate-4-10-Hypershift-OKD.yamlMove VSphereMultiVCenterDay2 into GA-enabled Hypershift OKD payload set +3/-3

Move VSphereMultiVCenterDay2 into GA-enabled Hypershift OKD payload set

• Updates the Hypershift OKD feature gate payload to include VSphereMultiVCenterDay2 in the GA-enabled set, matching Default behavior.

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

featureGate-4-10-SelfManagedHA-Default.yamlMove VSphereMultiVCenterDay2 into GA-enabled SelfManagedHA Default payload set +3/-3

Move VSphereMultiVCenterDay2 into GA-enabled SelfManagedHA Default payload set

• Promotes VSphereMultiVCenterDay2 within the SelfManagedHA Default payload feature gate list to the GA-enabled set.

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

featureGate-4-10-SelfManagedHA-OKD.yamlMove VSphereMultiVCenterDay2 into GA-enabled SelfManagedHA OKD payload set +3/-3

Move VSphereMultiVCenterDay2 into GA-enabled SelfManagedHA OKD payload set

• Promotes VSphereMultiVCenterDay2 within the SelfManagedHA OKD payload feature gate list to the GA-enabled set, aligning with the GA promotion.

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.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

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@vr4manta: 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/verify-hypershift-integration d76e2c6 link true /test verify-hypershift-integration
ci/prow/verify-feature-promotion d76e2c6 link true /test verify-feature-promotion

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

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants