Skip to content

kubevirt: five of the seven static feature gates are GA at 1.9 and inert #4029

Description

What happens

packages/system/kubevirt/templates/kubevirt-cr.yaml enables seven feature gates. At KubeVirt v1.9.0 five of them are GA: LiveMigration, GPU and AutoResourceLimitsGate were already GA at v1.8.4, ExpandDisks and VMExport became GA in 1.9. IsEnabled in pkg/virt-config/featuregate/feature-gates.go returns true for a GA gate before it reads either list, so those five lines change nothing, and the update webhook emits a warning for each of them whenever the gate lists change. Only CPUManager (Alpha) and HotplugVolumes (Deprecated, kept on purpose, see #4015) still do work.

Why it is not a one-line delete

After #4015 the list lives in three places that have to agree: the rendered featureGates block, the guard's $staticFeatureGates copy at the top of the same template, and one helm-unittest case per gate in tests/kubevirt_cr_test.yaml. The make update insert for extraFeatureGates also anchors on the literal - VMExport line in that block, so dropping VMExport means moving the anchor to whatever line ends the list, in packages/system/kubevirt/Makefile and in tests/update_idempotency_test.sh. The memory that this list is inert tends to surface only at the next bump, which is why it has survived two of them.

Fix shape

Drop the five GA entries from all three places, move the make update anchor to the new last static line, and keep the per-gate cases for the entries that remain. Behaviour on the cluster does not change; the rendered CR gets shorter and the webhook stops warning about them. Check the pinned release's pkg/virt-config/featuregate/inactive.go before deciding what is GA, not the release notes.

Activity

  1. added
    kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debt
    area/virtualizationIssues or PRs related to virtualization (kubevirt, cdi, vmi, vm-import)
    on Sep 2, 2026
  2. added
    triage/acceptedIndicates an issue is ready to be actively worked on
    priority/backlogGeneral backlog priority. Lower than priority/important-longterm
    and removed
    triage/needs-triageIndicates an issue needs triage by a maintainer
    on Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/virtualizationIssues or PRs related to virtualization (kubevirt, cdi, vmi, vm-import)kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debtpriority/backlogGeneral backlog priority. Lower than priority/important-longtermtriage/acceptedIndicates an issue is ready to be actively worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions