Skip to content

OCPBUGS-105407: Remove VSphereMultiNetworks feature gate - #2975

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

OCPBUGS-105407: Remove VSphereMultiNetworks feature gate#2975
vr4manta wants to merge 1 commit into
openshift:masterfrom
vr4manta:OCPBUGS-105407

Conversation

@vr4manta

Copy link
Copy Markdown
Contributor

OCPBUGS-105407

Changes

  • Removed VSphereMultiNetworks feature gate
  • Updated tests
  • Updated CRD text

Notes

The VSphereMultiNetworks feature gate has been GA for more than one release. Remove the gate and make maxItems=10 on the networks field unconditional. Tests from the feature-gated test files are merged into the ungated test suites.

@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 jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Aug 10, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@vr4manta: This pull request references Jira Issue OCPBUGS-105407, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

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

Details

In response to this:

OCPBUGS-105407

Changes

  • Removed VSphereMultiNetworks feature gate
  • Updated tests
  • Updated CRD text

Notes

The VSphereMultiNetworks feature gate has been GA for more than one release. Remove the gate and make maxItems=10 on the networks field unconditional. Tests from the feature-gated test files are merged into the ungated test suites.

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 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/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Aug 10, 2026
@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: e7cc6e0a-5fbf-4e8d-88a8-8ad51fba95de

📥 Commits

Reviewing files that changed from the base of the PR and between 33a607e and 0ddd0d6.

📒 Files selected for processing (1)
  • payload-command/render/legacyfeaturegates.go
💤 Files with no reviewable changes (1)
  • payload-command/render/legacyfeaturegates.go

📝 Walkthrough

Walkthrough

The vSphere topology network limit is now unconditional. Configurations must contain one to ten network entries. Create and update tests cover these validation cases. The VSphereMultiNetworks feature gate was removed from registrations, legacy lists, enabled manifests, and CRD descriptions.

Possibly related PRs

  • openshift/api#2974: Removes another redundant feature gate and updates its registrations, documentation, manifests, and tests.

Suggested reviewers: everettraven, yuqi-zhang, joelspeed

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: removal of the VSphereMultiNetworks feature gate.
Description check ✅ Passed The description directly covers feature-gate removal, unconditional validation, test updates, and CRD text 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 seven added top-level YAML test names are fixed descriptive strings; dynamic identifiers appear only in fixture bodies, not titles.
Test Structure And Quality ✅ Passed Added files define isolated YAML cases with specific names/errors; the unchanged Ginkgo harness supplies BeforeEach/AfterEach cleanup and 5-second Eventually timeouts.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR adds declarative API-validation cases, and the repository runs them in a local envtest suite.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The pull request adds YAML API validation fixtures, not Ginkgo e2e tests; the diff contains no new It, Describe, Context, or When calls and makes no SNO-relevant assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed The PR changes vSphere API validation, tests, generated CRDs/OpenAPI, and feature-gate metadata only; the diff adds no workload objects or topology scheduling constraints.
Ote Binary Stdout Contract ✅ Passed Changed code has no main/init/suite or stdout-output calls; added YAML is declarative. Existing suite logs use GinkgoWriter, and command errors use os.Stderr.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Added cases are YAML API-validation fixtures; the Ginkgo generator only creates/updates objects through k8sClient, and additions contain no IPv4 literals, IP parsing, or external calls.
No-Weak-Crypto ✅ Passed The PR adds list validation, tests, and generated metadata only; exact scans of added lines found no MD5, SHA1, DES, 3DES, RC4, Blowfish, ECB, crypto APIs, or secret comparisons.
Container-Privileges ✅ Passed The PR diff adds no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings; added YAML objects are Infrastructure tests, not workload manifests.
No-Sensitive-Data-In-Logs ✅ Passed The diff adds no logging calls or log payloads. Changes contain validation fixtures and generated schema text; test hostnames were already present in the removed fixture.
✨ 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 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 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@payload-command/render/legacyfeaturegates.go`:
- Line 23: Correct the maintainer reference in the comment above the legacy
feature-gate list from `@deads2kleg` to `@deads2k`, without changing the comment’s
other wording.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: fdcf861c-4b6d-4c5a-83a3-7574c5936142

📥 Commits

Reviewing files that changed from the base of the PR and between 8f52beb and 33a607e.

⛔ Files ignored due to path filters (48)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Default.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-OKD.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/zz_generated*
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/BGPBasedVIPManagement.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DualReplica.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DyanmicServiceEndpointIBMCloud.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPSovereignCloudInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/NutanixMultiSubnets.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/OnPremDNSRecords.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereHostVMGroupZonal.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/zz_generated*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml is excluded by !**/zz_generated.crd-manifests/*
  • machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.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/*
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/zz_generated*
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AAA_ungated.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSEuropeanSovereignCloudInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/BGPBasedVIPManagement.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DualReplica.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DyanmicServiceEndpointIBMCloud.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPSovereignCloudInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereHostVMGroupZonal.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiNetworks.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiVCenterDay2.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • openapi/generated_openapi/zz_generated.openapi.go is excluded by !openapi/**, !**/zz_generated*
  • openapi/openapi.json is excluded by !openapi/**
📒 Files selected for processing (30)
  • config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml
  • config/v1/tests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml
  • config/v1/types_infrastructure.go
  • features.md
  • features/features.go
  • features/legacyfeaturegates.go
  • machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiNetworks.yaml
  • payload-command/render/legacyfeaturegates.go
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-Default.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-OKD.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Default.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-OKD.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yaml
  • 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 (13)
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • features/legacyfeaturegates.go
  • features.md
  • config/v1/tests/infrastructures.config.openshift.io/VSphereMultiNetworks.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-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • features/features.go
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml
  • machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiNetworks.yaml

Comment thread payload-command/render/legacyfeaturegates.go Outdated
@qodo-for-rh-openshift

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (1)

Grey Divider


Action required

1. Networks MinItems not documented 📜 Skill insight ✧ Quality
Description
The Networks field has +kubebuilder:validation:MinItems=1 but its comment only documents the
maximum (10) and does not state the minimum item count. This violates the requirement that all
kubebuilder constraint markers be documented in field comments.
Code

config/v1/types_infrastructure.go[R1526-1527]

+	// +kubebuilder:validation:MaxItems=10
	// +kubebuilder:validation:MinItems=1
Relevance

●●● Strong

Team frequently accepts API doc/comment updates for validation constraints; documenting MinItems is
low-risk and consistent.

PR-#2805
PR-#2680
PR-#2460

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
PR Compliance requires that all kubebuilder constraint markers be documented in the field comment.
In VSpherePlatformTopology.Networks, MinItems=1 is enforced but the comment does not mention the
minimum number of items (only the maximum of 10).

Rule 198: Document item count ranges for fields with kubebuilder MinItems/MaxItems markers
config/v1/types_infrastructure.go[1517-1529]
Skill: api-review

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`Networks` has `MinItems=1` and `MaxItems=10`, but the doc comment only mentions the max (“Up to 10...”) and omits the minimum item constraint.

## Issue Context
Compliance requires that every kubebuilder constraint marker (including `MinItems`/`MaxItems`) is described in the field’s human-readable comment.

## Fix Focus Areas
- config/v1/types_infrastructure.go[1517-1529]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

2. Comment handle typo 🐞 Bug ⚙ Maintainability
Description
payload-command/render/legacyfeaturegates.go introduces a typo in a maintainer/contact comment
("@deads2kleg"), which can misdirect future maintainers and is likely accidental.
Code

payload-command/render/legacyfeaturegates.go[23]

+	// never add to this list, if you think you have an exception ask @deads2kleg
Relevance

●●● Strong

Trivial typo fix in comment; low-risk and typically accepted even without explicit precedent.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The current PR branch content includes the misspelled handle in the legacy feature gates list
comment.

payload-command/render/legacyfeaturegates.go[21-24]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
A comment in `payload-command/render/legacyfeaturegates.go` was changed to reference `@deads2kleg`, which appears to be an accidental concatenation/typo.

### Issue Context
This PR removes `VSphereMultiNetworks` and touched nearby lines; the comment change is not intentional behavior change but degrades maintainability.

### Fix Focus Areas
- payload-command/render/legacyfeaturegates.go[21-24]

### Proposed fix
Change `@deads2kleg` back to `@deads2k` (or remove the handle entirely if that’s preferred).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context used
✅ Compliance rules (platform): 29 rules
✅ Skills: api-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

Comment on lines +1526 to 1527
// +kubebuilder:validation:MaxItems=10
// +kubebuilder:validation:MinItems=1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. networks minitems not documented 📜 Skill insight ✧ Quality

The Networks field has +kubebuilder:validation:MinItems=1 but its comment only documents the
maximum (10) and does not state the minimum item count. This violates the requirement that all
kubebuilder constraint markers be documented in field comments.
Agent Prompt
## Issue description
`Networks` has `MinItems=1` and `MaxItems=10`, but the doc comment only mentions the max (“Up to 10...”) and omits the minimum item constraint.

## Issue Context
Compliance requires that every kubebuilder constraint marker (including `MinItems`/`MaxItems`) is described in the field’s human-readable comment.

## Fix Focus Areas
- config/v1/types_infrastructure.go[1517-1529]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread payload-command/render/legacyfeaturegates.go Outdated
@qodo-for-rh-openshift

Copy link
Copy Markdown

PR Summary by Qodo

Remove VSphereMultiNetworks feature gate and un-gate vSphere networks maxItems=10

✨ Enhancement 🧪 Tests 📝 Documentation 🕐 40+ Minutes

Grey Divider

AI Description

• Remove the VSphereMultiNetworks feature gate from registries, legacy lists, and payload
 FeatureGate manifests.
• Make vSphere failureDomain topology.networks allow up to 10 entries unconditionally in the
 API/CRDs.
• Merge feature-gated schema tests into ungated suites and regenerate CRD/OpenAPI artifacts.
Diagram

graph TD
  A["Feature gate registry"] --> B["vSphere topology type"] --> C["Generated CRDs/OpenAPI"] --> D["CRD schema tests"]
  A --> E["Payload FeatureGate manifests"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Keep VSphereMultiNetworks as deprecated no-op gate
  • ➕ Avoids breaking consumers that still reference the gate explicitly
  • ➕ Provides a longer transition window with clear deprecation messaging
  • ➖ Continues carrying legacy featuregate surface area and confusion
  • ➖ Delays cleanup of featuregated CRD/test plumbing
2. Two-step removal (warn in N, remove in N+1)
  • ➕ Gives downstream automation time to adjust
  • ➕ Clearer upgrade-story if customers still toggle the gate
  • ➖ Requires follow-up work and release coordination
  • ➖ Defers cleanup benefits

Recommendation: Given the gate has been GA for more than one release, full removal and making MaxItems=10 unconditional is the right cleanup. One thing to verify before merge: payload-command/render/legacyfeaturegates.go changes a comment in a way that appears to introduce a typo (“@deads2kleg”), which should likely be corrected to avoid unnecessary churn/confusion.

Files changed (74) +503 / -102

Enhancement (1) +2 / -3
types_infrastructure.goUn-gate vSphere topology.networks maxItems (set MaxItems=10) +2/-3

Un-gate vSphere topology.networks maxItems (set MaxItems=10)

• Removes FeatureGateAwareMaxItems annotations tied to VSphereMultiNetworks and replaces them with an unconditional kubebuilder MaxItems=10 constraint. Updates the field comment to drop feature-gate wording.

config/v1/types_infrastructure.go

Refactor (3) +1 / -12
features.goRemove VSphereMultiNetworks gate registration +0/-7

Remove VSphereMultiNetworks gate registration

• Deletes the VSphereMultiNetworks feature gate definition from the feature registry.

features/features.go

legacyfeaturegates.goRemove VSphereMultiNetworks from legacy feature gate list +0/-2

Remove VSphereMultiNetworks from legacy feature gate list

• Stops treating VSphereMultiNetworks as a legacy-recognized gate by removing it from the legacy set.

features/legacyfeaturegates.go

legacyfeaturegates.goRemove VSphereMultiNetworks from payload legacy gate set +1/-3

Remove VSphereMultiNetworks from payload legacy gate set

• Removes VSphereMultiNetworks from the payload rendering legacyFeatureGates set. Also modifies a nearby comment in a way that appears to introduce a typo.

payload-command/render/legacyfeaturegates.go

Tests (1) +415 / -0
AAA_ungated.yamlMerge VSphere multi-network validation tests into ungated Infrastructure suite +415/-0

Merge VSphere multi-network validation tests into ungated Infrastructure suite

• Adds create/update schema tests for vSphere failureDomain topology.networks enforcing MinItems=1 and MaxItems=10. This replaces the removed feature-gated VSphereMultiNetworks test coverage.

config/v1/tests/infrastructures.config.openshift.io/AAA_ungated.yaml

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

Remove VSphereMultiNetworks from feature gate documentation table

• Drops VSphereMultiNetworks from the documented feature gate matrix.

features.md

Other (68) +85 / -86
0000_10_config-operator_01_infrastructures-Default.crd.yamlRegenerate Infrastructure CRD description for networks field (Default) +1/-1

Regenerate Infrastructure CRD description for networks field (Default)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yamlRegenerate Infrastructure CRD description for networks field (Hypershift CustomNoUpgrade) +1/-1

Regenerate Infrastructure CRD description for networks field (Hypershift CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yamlRegenerate Infrastructure CRD description for networks field (Hypershift DevPreviewNoUpgrade) +1/-1

Regenerate Infrastructure CRD description for networks field (Hypershift DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_10_config-operator_01_infrastructures-OKD.crd.yamlRegenerate Infrastructure CRD description for networks field (OKD) +1/-1

Regenerate Infrastructure CRD description for networks field (OKD)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yamlRegenerate Infrastructure CRD description for networks field (SelfManagedHA CustomNoUpgrade) +1/-1

Regenerate Infrastructure CRD description for networks field (SelfManagedHA CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yamlRegenerate Infrastructure CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade) +1/-1

Regenerate Infrastructure CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yamlRegenerate Infrastructure CRD description for networks field (TechPreviewNoUpgrade) +1/-1

Regenerate Infrastructure CRD description for networks field (TechPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

zz_generated.featuregated-crd-manifests.yamlDrop VSphereMultiNetworks from featuregated CRD manifest index (config) +0/-1

Drop VSphereMultiNetworks from featuregated CRD manifest index (config)

• Removes VSphereMultiNetworks from the list of feature-gated Infrastructure CRD variants.

config/v1/zz_generated.featuregated-crd-manifests.yaml

AAA_ungated.yamlSet topology.networks maxItems=10 in config featuregated ungated baseline +2/-2

Set topology.networks maxItems=10 in config featuregated ungated baseline

• Updates the ungated baseline schema for topology.networks to maxItems: 10 (was 1) and removes feature-gate conditional text in the description.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml

AWSClusterHostedDNSInstall.yamlRegenerate config featuregated CRD variant (AWSClusterHostedDNSInstall) +2/-1

Regenerate config featuregated CRD variant (AWSClusterHostedDNSInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml

AWSDualStackInstall.yamlRegenerate config featuregated CRD variant (AWSDualStackInstall) +2/-1

Regenerate config featuregated CRD variant (AWSDualStackInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml

AzureDualStackInstall.yamlRegenerate config featuregated CRD variant (AzureDualStackInstall) +2/-1

Regenerate config featuregated CRD variant (AzureDualStackInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureDualStackInstall.yaml

BGPBasedVIPManagement.yamlRegenerate config featuregated CRD variant (BGPBasedVIPManagement) +2/-1

Regenerate config featuregated CRD variant (BGPBasedVIPManagement)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/BGPBasedVIPManagement.yaml

DualReplica.yamlRegenerate config featuregated CRD variant (DualReplica) +2/-1

Regenerate config featuregated CRD variant (DualReplica)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DualReplica.yaml

DyanmicServiceEndpointIBMCloud.yamlRegenerate config featuregated CRD variant (DyanmicServiceEndpointIBMCloud) +2/-1

Regenerate config featuregated CRD variant (DyanmicServiceEndpointIBMCloud)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DyanmicServiceEndpointIBMCloud.yaml

GCPSovereignCloudInstall.yamlRegenerate config featuregated CRD variant (GCPSovereignCloudInstall) +2/-1

Regenerate config featuregated CRD variant (GCPSovereignCloudInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/GCPSovereignCloudInstall.yaml

MutableTopology.yamlRegenerate config featuregated CRD variant (MutableTopology) +2/-1

Regenerate config featuregated CRD variant (MutableTopology)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml

NutanixMultiSubnets.yamlRegenerate config featuregated CRD variant (NutanixMultiSubnets) +2/-1

Regenerate config featuregated CRD variant (NutanixMultiSubnets)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/NutanixMultiSubnets.yaml

OnPremDNSRecords.yamlRegenerate config featuregated CRD variant (OnPremDNSRecords) +2/-1

Regenerate config featuregated CRD variant (OnPremDNSRecords)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/OnPremDNSRecords.yaml

VSphereHostVMGroupZonal.yamlRegenerate config featuregated CRD variant (VSphereHostVMGroupZonal) +2/-1

Regenerate config featuregated CRD variant (VSphereHostVMGroupZonal)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereHostVMGroupZonal.yaml

VSphereMultiVCenterDay2.yamlRegenerate config featuregated CRD variant (VSphereMultiVCenterDay2) +2/-1

Regenerate config featuregated CRD variant (VSphereMultiVCenterDay2)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml

zz_generated.swagger_doc_generated.goUpdate generated swagger doc for VSpherePlatformTopology.networks +1/-1

Update generated swagger doc for VSpherePlatformTopology.networks

• Removes the feature-gate conditional phrase from the generated swagger doc string for the networks field.

config/v1/zz_generated.swagger_doc_generated.go

0000_80_machine-config_01_controllerconfigs-Default.crd.yamlRegenerate ControllerConfig CRD description for networks field (Default) +1/-1

Regenerate ControllerConfig CRD description for networks field (Default)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yamlRegenerate ControllerConfig CRD description for networks field (Hypershift CustomNoUpgrade) +1/-1

Regenerate ControllerConfig CRD description for networks field (Hypershift CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yamlRegenerate ControllerConfig CRD description for networks field (Hypershift DevPreviewNoUpgrade) +1/-1

Regenerate ControllerConfig CRD description for networks field (Hypershift DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_80_machine-config_01_controllerconfigs-OKD.crd.yamlRegenerate ControllerConfig CRD description for networks field (OKD) +1/-1

Regenerate ControllerConfig CRD description for networks field (OKD)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yamlRegenerate ControllerConfig CRD description for networks field (SelfManagedHA CustomNoUpgrade) +1/-1

Regenerate ControllerConfig CRD description for networks field (SelfManagedHA CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yamlRegenerate ControllerConfig CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade) +1/-1

Regenerate ControllerConfig CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yamlRegenerate ControllerConfig CRD description for networks field (TechPreviewNoUpgrade) +1/-1

Regenerate ControllerConfig CRD description for networks field (TechPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording.

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

zz_generated.featuregated-crd-manifests.yamlDrop VSphereMultiNetworks from featuregated CRD manifest index (machineconfiguration) +0/-1

Drop VSphereMultiNetworks from featuregated CRD manifest index (machineconfiguration)

• Removes VSphereMultiNetworks from the list of feature-gated ControllerConfig CRD variants.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml

AAA_ungated.yamlSet topology.networks maxItems=10 in machineconfiguration featuregated ungated baseline +2/-2

Set topology.networks maxItems=10 in machineconfiguration featuregated ungated baseline

• Updates the ungated baseline schema for topology.networks to maxItems: 10 (was 1) and removes feature-gate conditional text in the description.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AAA_ungated.yaml

AWSClusterHostedDNSInstall.yamlRegenerate machineconfiguration featuregated CRD variant (AWSClusterHostedDNSInstall) +2/-1

Regenerate machineconfiguration featuregated CRD variant (AWSClusterHostedDNSInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml

AWSDualStackInstall.yamlRegenerate machineconfiguration featuregated CRD variant (AWSDualStackInstall) +2/-1

Regenerate machineconfiguration featuregated CRD variant (AWSDualStackInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml

AWSEuropeanSovereignCloudInstall.yamlRegenerate machineconfiguration featuregated CRD variant (AWSEuropeanSovereignCloudInstall) +2/-1

Regenerate machineconfiguration featuregated CRD variant (AWSEuropeanSovereignCloudInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSEuropeanSovereignCloudInstall.yaml

AzureDualStackInstall.yamlRegenerate machineconfiguration featuregated CRD variant (AzureDualStackInstall) +2/-1

Regenerate machineconfiguration featuregated CRD variant (AzureDualStackInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureDualStackInstall.yaml

BGPBasedVIPManagement.yamlRegenerate machineconfiguration featuregated CRD variant (BGPBasedVIPManagement) +2/-1

Regenerate machineconfiguration featuregated CRD variant (BGPBasedVIPManagement)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/BGPBasedVIPManagement.yaml

DualReplica.yamlRegenerate machineconfiguration featuregated CRD variant (DualReplica) +2/-1

Regenerate machineconfiguration featuregated CRD variant (DualReplica)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DualReplica.yaml

DyanmicServiceEndpointIBMCloud.yamlRegenerate machineconfiguration featuregated CRD variant (DyanmicServiceEndpointIBMCloud) +2/-1

Regenerate machineconfiguration featuregated CRD variant (DyanmicServiceEndpointIBMCloud)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DyanmicServiceEndpointIBMCloud.yaml

GCPSovereignCloudInstall.yamlRegenerate machineconfiguration featuregated CRD variant (GCPSovereignCloudInstall) +2/-1

Regenerate machineconfiguration featuregated CRD variant (GCPSovereignCloudInstall)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/GCPSovereignCloudInstall.yaml

MutableTopology.yamlRegenerate machineconfiguration featuregated CRD variant (MutableTopology) +2/-1

Regenerate machineconfiguration featuregated CRD variant (MutableTopology)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml

NutanixMultiSubnets.yamlRegenerate machineconfiguration featuregated CRD variant (NutanixMultiSubnets) +2/-1

Regenerate machineconfiguration featuregated CRD variant (NutanixMultiSubnets)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml

OnPremDNSRecords.yamlRegenerate machineconfiguration featuregated CRD variant (OnPremDNSRecords) +2/-1

Regenerate machineconfiguration featuregated CRD variant (OnPremDNSRecords)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml

VSphereHostVMGroupZonal.yamlRegenerate machineconfiguration featuregated CRD variant (VSphereHostVMGroupZonal) +2/-1

Regenerate machineconfiguration featuregated CRD variant (VSphereHostVMGroupZonal)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereHostVMGroupZonal.yaml

VSphereMultiVCenterDay2.yamlRegenerate machineconfiguration featuregated CRD variant (VSphereMultiVCenterDay2) +2/-1

Regenerate machineconfiguration featuregated CRD variant (VSphereMultiVCenterDay2)

• Regenerates the featuregated CRD variant to reflect the updated feature gate inventory after removing VSphereMultiNetworks.

machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiVCenterDay2.yaml

zz_generated.openapi.goUpdate generated OpenAPI (Go) description for vSphere networks field +1/-1

Update generated OpenAPI (Go) description for vSphere networks field

• Removes VSphereMultiNetworks feature-gate wording from the OpenAPI schema description for VSpherePlatformTopology.networks.

openapi/generated_openapi/zz_generated.openapi.go

openapi.jsonUpdate OpenAPI JSON description for vSphere networks field +1/-1

Update OpenAPI JSON description for vSphere networks field

• Removes VSphereMultiNetworks feature-gate wording from the published OpenAPI JSON schema description for VSpherePlatformTopology.networks.

openapi/openapi.json

0000_10_config-operator_01_infrastructures-Default.crd.yamlUpdate payload Infrastructure CRD description for networks field (Default) +1/-1

Update payload Infrastructure CRD description for networks field (Default)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

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

0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yamlUpdate payload Infrastructure CRD description for networks field (Hypershift CustomNoUpgrade) +1/-1

Update payload Infrastructure CRD description for networks field (Hypershift CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml

0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yamlUpdate payload Infrastructure CRD description for networks field (Hypershift DevPreviewNoUpgrade) +1/-1

Update payload Infrastructure CRD description for networks field (Hypershift DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-DevPreviewNoUpgrade.crd.yaml

0000_10_config-operator_01_infrastructures-OKD.crd.yamlUpdate payload Infrastructure CRD description for networks field (OKD) +1/-1

Update payload Infrastructure CRD description for networks field (OKD)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

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

0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yamlUpdate payload Infrastructure CRD description for networks field (SelfManagedHA CustomNoUpgrade) +1/-1

Update payload Infrastructure CRD description for networks field (SelfManagedHA CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml

0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yamlUpdate payload Infrastructure CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade) +1/-1

Update payload Infrastructure CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml

0000_10_config-operator_01_infrastructures-TechPreviewNoUpgrade.crd.yamlUpdate payload Infrastructure CRD description for networks field (TechPreviewNoUpgrade) +1/-1

Update payload Infrastructure CRD description for networks field (TechPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

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

0000_80_machine-config_01_controllerconfigs-Default.crd.yamlUpdate payload ControllerConfig CRD description for networks field (Default) +1/-1

Update payload ControllerConfig CRD description for networks field (Default)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

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

0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yamlUpdate payload ControllerConfig CRD description for networks field (Hypershift CustomNoUpgrade) +1/-1

Update payload ControllerConfig CRD description for networks field (Hypershift CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml

0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yamlUpdate payload ControllerConfig CRD description for networks field (Hypershift DevPreviewNoUpgrade) +1/-1

Update payload ControllerConfig CRD description for networks field (Hypershift DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-DevPreviewNoUpgrade.crd.yaml

0000_80_machine-config_01_controllerconfigs-OKD.crd.yamlUpdate payload ControllerConfig CRD description for networks field (OKD) +1/-1

Update payload ControllerConfig CRD description for networks field (OKD)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

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

0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yamlUpdate payload ControllerConfig CRD description for networks field (SelfManagedHA CustomNoUpgrade) +1/-1

Update payload ControllerConfig CRD description for networks field (SelfManagedHA CustomNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml

0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yamlUpdate payload ControllerConfig CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade) +1/-1

Update payload ControllerConfig CRD description for networks field (SelfManagedHA DevPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml

0000_80_machine-config_01_controllerconfigs-TechPreviewNoUpgrade.crd.yamlUpdate payload ControllerConfig CRD description for networks field (TechPreviewNoUpgrade) +1/-1

Update payload ControllerConfig CRD description for networks field (TechPreviewNoUpgrade)

• Updates topology.networks description text to remove VSphereMultiNetworks feature-gate wording in the shipped payload CRD.

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

featureGate-4-10-Hypershift-Default.yamlRemove VSphereMultiNetworks from Hypershift Default feature set +0/-3

Remove VSphereMultiNetworks from Hypershift Default feature set

• Drops VSphereMultiNetworks from the enabled feature list in the Hypershift Default FeatureGate payload manifest.

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

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

Remove VSphereMultiNetworks from Hypershift DevPreviewNoUpgrade feature set

• Drops VSphereMultiNetworks from the enabled feature list in the Hypershift DevPreviewNoUpgrade FeatureGate payload manifest.

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

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

Remove VSphereMultiNetworks from Hypershift OKD feature set

• Drops VSphereMultiNetworks from the enabled feature list in the Hypershift OKD FeatureGate payload manifest.

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

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

Remove VSphereMultiNetworks from Hypershift TechPreviewNoUpgrade feature set

• Drops VSphereMultiNetworks from the enabled feature list in the Hypershift TechPreviewNoUpgrade FeatureGate payload manifest.

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

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

Remove VSphereMultiNetworks from SelfManagedHA Default feature set

• Drops VSphereMultiNetworks from the enabled feature list in the SelfManagedHA Default FeatureGate payload manifest.

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

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

Remove VSphereMultiNetworks from SelfManagedHA DevPreviewNoUpgrade feature set

• Drops VSphereMultiNetworks from the enabled feature list in the SelfManagedHA DevPreviewNoUpgrade FeatureGate payload manifest.

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

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

Remove VSphereMultiNetworks from SelfManagedHA OKD feature set

• Drops VSphereMultiNetworks from the enabled feature list in the SelfManagedHA OKD FeatureGate payload manifest.

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

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

Remove VSphereMultiNetworks from SelfManagedHA TechPreviewNoUpgrade feature set

• Drops VSphereMultiNetworks from the enabled feature list in the SelfManagedHA TechPreviewNoUpgrade FeatureGate payload manifest.

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

The VSphereMultiNetworks feature gate has been GA for more than one
release. Remove the gate and make maxItems=10 on the networks field
unconditional. Tests from the feature-gated test files are merged
into the ungated test suites.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci

openshift-ci Bot commented Aug 11, 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 0ddd0d6 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/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants