Skip to content

Add Known Issues page: Flatcar Ignition failure on KubeVirt 1.6.x - #2228

Open
mihiragrawal wants to merge 3 commits into
kubermatic:mainfrom
mihiragrawal:main
Open

Add Known Issues page: Flatcar Ignition failure on KubeVirt 1.6.x#2228
mihiragrawal wants to merge 3 commits into
kubermatic:mainfrom
mihiragrawal:main

Conversation

@mihiragrawal

Copy link
Copy Markdown
Contributor

What this PR does / why we need it

Adds a Known Issues page to the Kubermatic Virtualization docs, documenting
the KubeVirt 1.6.x defect that breaks Flatcar worker-node provisioning.

On KubeVirt v1.6.4 and newer, Flatcar worker VMs boot and get an IP but never
receive their Ignition configuration, so the node never joins the user cluster.
KubeVirt's PCIe-hotplug port reservation re-defines the libvirt domain a second
time, and that XML round-trip drops the qemu:commandline -fw_cfg opt/com.coreos/config argument that carries Flatcar's Ignition. Ubuntu
(cloud-init / noCloud) is unaffected. This is an upstream KubeVirt bug, not a
Kubermatic Virtualization or machine-controller defect.

The page documents the problem, root cause, the workaround (the
kubevirt.io/placePCIDevicesOnRootComplex annotation — set automatically for
Flatcar by kubermatic/machine-controller#2057, with a manual MachineDeployment
fallback), the Flatcar-only scope, the trade-off (disables unused PCIe hotplug),
and upstream references.

Related

mihiragrawal and others added 2 commits July 23, 2026 11:53
Document the KubeVirt >= 1.6.4 regression that drops the fw_cfg
(opt/com.coreos/config) qemu argument for Flatcar VMs, so Flatcar
worker nodes never receive their Ignition config and fail to join the
user cluster. Ubuntu (cloud-init/noCloud) is unaffected.

The page covers the problem, root cause, the machine-controller
workaround (the kubevirt.io/placePCIDevicesOnRootComplex annotation,
kubermatic/machine-controller#2057) plus a manual MachineDeployment
fallback, the Flatcar-only scope, the trade-off (disables unused PCIe
hotplug on worker VMs), and upstream references
(kubevirt/kubevirt#16901, kubevirt/kubevirt#18460).
@kubermatic-bot kubermatic-bot added the dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. label Jul 23, 2026
@mihiragrawal mihiragrawal self-assigned this Jul 23, 2026
@kubermatic-bot kubermatic-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 23, 2026

@archups archups left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please take care of review comments for workaround section.

Also please add known issue under KKP docs as well to main and supported releases.

/hold until MC release is out. And make necessary changes in the workaround to include how to pin to the MC release containing the fix until it is available as part of KKP release using following change in KubermaticConfiguration

spec:
  userCluster:
    machineController:
      imageTag: v1.xx.xx

Comment thread content/kubermatic-virtualization/main/known-issues/_index.en.md Outdated
Comment thread content/kubermatic-virtualization/main/known-issues/_index.en.md Outdated
@kubermatic-bot kubermatic-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 24, 2026
@kubermatic-bot

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 ask for approval from archups. 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

@mihiragrawal
mihiragrawal requested a review from archups July 29, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. 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.

3 participants