Skip to content

OCPBUGS-74510: Remove VSphereMultiDisk feature gate - #2973

Open
vr4manta wants to merge 1 commit into
openshift:masterfrom
vr4manta:OCPBUGS-74510
Open

OCPBUGS-74510: Remove VSphereMultiDisk feature gate#2973
vr4manta wants to merge 1 commit into
openshift:masterfrom
vr4manta:OCPBUGS-74510

Conversation

@vr4manta

Copy link
Copy Markdown
Contributor

OCPBUGS-74510

Changes

  • Removed VSphereMultiDisk feature gate

Notes

VSphereMultiDisk has been GA and enabled by default for more than one release. Remove the feature gate definition, the FeatureGate marker on the dataDisks field, and regenerate payload manifests.

VSphereMultiDisk has been GA and enabled by default for more than one
release. Remove the feature gate definition, the FeatureGate marker on
the dataDisks field, and regenerate payload manifests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@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 10, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@vr4manta: This pull request references Jira Issue OCPBUGS-74510, which is invalid:

  • expected the bug to target either version "5.0." or "openshift-5.0.", but it targets "4.22.0" instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

OCPBUGS-74510

Changes

  • Removed VSphereMultiDisk feature gate

Notes

VSphereMultiDisk has been GA and enabled by default for more than one release. Remove the feature gate definition, the FeatureGate marker on the dataDisks field, and regenerate payload manifests.

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 openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Aug 10, 2026
@openshift-ci

openshift-ci Bot commented Aug 10, 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.

@openshift-ci openshift-ci Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Aug 10, 2026
@openshift-ci

openshift-ci Bot commented Aug 10, 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

@coderabbitai

coderabbitai Bot commented Aug 10, 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: 578a7940-a153-4a93-a471-4002a831425d

📥 Commits

Reviewing files that changed from the base of the PR and between 8f52beb and 63c65cc.

📒 Files selected for processing (11)
  • features.md
  • features/features.go
  • machine/v1beta1/types_vsphereprovider.go
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
💤 Files with no reviewable changes (11)
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • features/features.go
  • machine/v1beta1/types_vsphereprovider.go
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • features.md
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yaml

📝 Walkthrough

Walkthrough

The change removes the VSphereMultiDisk feature-gate declaration and its DataDisks annotation. It also removes the feature gate from the status table and seven enabled feature-gate manifests.

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the removal of the VSphereMultiDisk feature gate.
Description check ✅ Passed The description explains the feature-gate removal, its reason, and the related manifest updates.
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 patch changes only feature metadata, Go declarations/annotations, and YAML manifests; it adds or modifies no Ginkgo test titles.
Test Structure And Quality ✅ Passed The PR changes 11 non-test files with deletions only; no *_test.go files or added Ginkgo constructs are present, so the test-quality requirements do not apply.
Microshift Test Compatibility ✅ Passed The pull request adds no Ginkgo e2e tests or test files; it only removes the VSphereMultiDisk feature-gate declaration, marker, documentation, and manifests.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The patch contains only 33 deletions across feature metadata, Go declarations, and YAML manifests; it adds no Ginkgo e2e tests or multi-node assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed The parent-to-HEAD patch only removes feature-gate metadata, an annotation, and feature-gate list entries; it adds no deployments, controllers, replicas, affinity, selectors, tolerations, or topolo...
Ote Binary Stdout Contract ✅ Passed The PR only deletes feature-gate declarations, an API marker, and YAML/Markdown entries; it adds no OTE binary code or process-level stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed HEAD changes only delete feature-gate, annotation, and manifest lines; no Ginkgo test declarations or added IPv4 assumptions or external connectivity were introduced.
No-Weak-Crypto ✅ Passed The commit adds no lines. It only removes the VSphereMultiDisk declaration, annotation, documentation row, and manifest entries; no weak crypto or custom crypto code is introduced.
Container-Privileges ✅ Passed The patch only removes feature-gate declarations, annotations, and manifest entries. No changed line contains privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation setti...
No-Sensitive-Data-In-Logs ✅ Passed The commit contains 33 deletions and no additions; it adds no logging calls or sensitive data.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@qodo-for-rh-openshift

Copy link
Copy Markdown

PR Summary by Qodo

Remove VSphereMultiDisk feature gate and clean up generated manifests

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

Grey Divider

AI Description

• Remove the VSphereMultiDisk feature gate now that the feature is GA-by-default.
• Drop the FeatureGate marker from the vSphere Machine API dataDisks field.
• Regenerate featuregate payload manifests and update feature gate documentation.
Diagram

graph TD
  A["Remove VSphereMultiDisk gate"] --> B["Feature gate registry"] --> C["Payload featuregate manifests"] --> D["Cluster FeatureGate defaults"]
  A --> E["vSphere Machine API types"] --> F["MAPI/installer consumers"]
  A --> G["Feature gate docs table"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep a deprecated no-op gate (alias) for 1+ releases
  • ➕ Avoids breaking clusters or automation that explicitly enables/disables VSphereMultiDisk in custom FeatureGate configs
  • ➕ Allows a cleaner migration window with warnings/alerts before hard removal
  • ➖ Prolongs maintenance of a gate that no longer affects behavior
  • ➖ Can create confusion about whether the gate still does anything
2. Remove gate but add explicit upgrade/release note guidance
  • ➕ Keeps codebase clean while still managing user expectations
  • ➕ Low implementation overhead compared to maintaining compatibility logic
  • ➖ Does not prevent hard failures if unknown feature gates are rejected during validation
  • ➖ Relies on users noticing and acting on documentation

Recommendation: The PR’s approach (full removal) is appropriate for a GA-by-default feature, but confirm the upgrade/validation behavior for user-specified FeatureGate configs: if unknown gates are rejected, consider either (a) a short deprecation/no-op window or (b) clear upgrade notes and any necessary guardrails so upgrades don’t fail when VSphereMultiDisk is explicitly listed.

Files changed (11) +0 / -33

Refactor (2) +0 / -8
features.goUnregister VSphereMultiDisk feature gate +0/-7

Unregister VSphereMultiDisk feature gate

• Removes the FeatureGateVSphereMultiDisk definition/registration from the feature gate registry so the platform no longer recognizes it as a configurable gate.

features/features.go

types_vsphereprovider.goUngate vSphere dataDisks API field +0/-1

Ungate vSphere dataDisks API field

• Drops the +openshift:enable:FeatureGate=VSphereMultiDisk marker from the dataDisks field so it is no longer conditionally exposed.

machine/v1beta1/types_vsphereprovider.go

Documentation (1) +0 / -1
features.mdRemove VSphereMultiDisk from feature gate documentation table +0/-1

Remove VSphereMultiDisk from feature gate documentation table

• Deletes the VSphereMultiDisk row from the documented feature gate matrix now that the gate is being removed.

features.md

Other (8) +0 / -24
featureGate-4-10-Hypershift-Default.yamlRemove VSphereMultiDisk from Hypershift Default feature set +0/-3

Remove VSphereMultiDisk from Hypershift Default feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 Hypershift Default payload manifest.

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

featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yamlRemove VSphereMultiDisk from Hypershift DevPreviewNoUpgrade feature set +0/-3

Remove VSphereMultiDisk from Hypershift DevPreviewNoUpgrade feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 Hypershift DevPreviewNoUpgrade payload manifest.

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

featureGate-4-10-Hypershift-OKD.yamlRemove VSphereMultiDisk from Hypershift OKD feature set +0/-3

Remove VSphereMultiDisk from Hypershift OKD feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 Hypershift OKD payload manifest.

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

featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yamlRemove VSphereMultiDisk from Hypershift TechPreviewNoUpgrade feature set +0/-3

Remove VSphereMultiDisk from Hypershift TechPreviewNoUpgrade feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 Hypershift TechPreviewNoUpgrade payload manifest.

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

featureGate-4-10-SelfManagedHA-Default.yamlRemove VSphereMultiDisk from SelfManagedHA Default feature set +0/-3

Remove VSphereMultiDisk from SelfManagedHA Default feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 SelfManagedHA Default payload manifest.

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

featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yamlRemove VSphereMultiDisk from SelfManagedHA DevPreviewNoUpgrade feature set +0/-3

Remove VSphereMultiDisk from SelfManagedHA DevPreviewNoUpgrade feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 SelfManagedHA DevPreviewNoUpgrade payload manifest.

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

featureGate-4-10-SelfManagedHA-OKD.yamlRemove VSphereMultiDisk from SelfManagedHA OKD feature set +0/-3

Remove VSphereMultiDisk from SelfManagedHA OKD feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 SelfManagedHA OKD payload manifest.

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

featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yamlRemove VSphereMultiDisk from SelfManagedHA TechPreviewNoUpgrade feature set +0/-3

Remove VSphereMultiDisk from SelfManagedHA TechPreviewNoUpgrade feature set

• Deletes VSphereMultiDisk from the enabled feature list in the 4.10 SelfManagedHA TechPreviewNoUpgrade payload manifest.

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

Tip of the day
💡 Did you know, you can reply 'qodo' on any finding to push back, ask questions, or dig deeper

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@openshift-ci

openshift-ci Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@vr4manta: The following test 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 63c65cc link true /test verify-hypershift-integration

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/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants