KubeVirt v1.6.0
v1.6.0
Released on: Wed Jul 30 18:23:13 2025 +0000
- [PR #15264][fossedihelm] Quarantined
should live migrate a container disk vm, with an additional PVC mounted, should stay mounted after migration
test - [PR #15256][kubevirt-bot] Bumped the bundled common-instancetypes to v1.4.0 which add new preferences.
- [PR #15114][kubevirt-bot] Bugfix: Label upload PVCs to support CDI WebhookPvcRendering
- [PR #15214][dhiller] Quarantine flaky test
[sig-compute]VM state with persistent TPM VM option enabled should persist VM state of EFI across migration and restart
- [PR #15191][kubevirt-bot] Drop an arbitrary limitation on VM’s domain.firmaware.serial. Any string is passed verbatim to smbios. Illegal may be tweaked or ignored based on qemu/smbios version.
- [PR #15202][kubevirt-bot] BugFix: export fails when VMExport has dots in secret
- [PR #15201][xpivarc] Known issue: ParallelOutboundMigrationsPerNode might be ignored because of race condition
- [PR #15178][kubevirt-bot] Fix postcopy multifd compatibility during upgrade
- [PR #15171][kubevirt-bot] BugFix: export fails when VMExport has dots in name
- [PR #15102][dominikholler] Update dependecy golang.org/x/net to v0.38.0
- [PR #15101][dominikholler] Update dependecy golang.org/x/oauth2 to v0.27.0
- [PR #15080][kubevirt-bot] The synchronization controller migration network IP address is advertised by the KubeVirt CR
- [PR #15047][kubevirt-bot] Beta: NodeRestriction
- [PR #15039][alaypatel07] Add support for DRA devices such as GPUs and HostDevices.
- [PR #15020][kubevirt-bot] Possible to trust additional CAs for verifying kubevirt infra structure components
- [PR #15014][kubevirt-bot] Support seamless TCP migration with passt (alpha)
- [PR #14887][oshoval] Release passt CNI image, instead the CNI binary itself.
- [PR #13898][brandboat] Changed the time unit conversion in the kubevirt_vmi_vcpu_seconds_total metric from microseconds to nanoseconds.
- [PR #14935][alromeros] Add virtctl objectgraph command
- [PR #14744][tiraboschi] A few dynamic annotations are synced from VMs template to VMIs and to virt-launcher pods
- [PR #14907][mhenriks] Allow virtio bus for hotplugged disks
- [PR #14754][mhenriks] Allocate more PCI ports for hotplug
- [PR #13103][varunrsekar] Feature: Support for defining panic devices in VirtualMachineInstances to catch crash signals from the guest.
- [PR #14961][akalenyu] BugFix: Can’t LiveMigrate Windows VM after Storage Migration from HPP to OCS
- [PR #14956][RobertoMachorro] Added CRC to ADOPTERS document.
- [PR #14705][jean-edouard] The migration controller in virt-handler has been re-architected, migrations should be more stable
- [PR #13764][xpivarc] KubeVirt doesn’t use PDBs anymore
- [PR #14801][arsiesys] VirtualMachinePool now supports a
.ScaleInStrategy.Proactive.SelectionPolicy.BasePolicy
field to control scale-down behavior. The new"DescendingOrder"
strategy deletes VMs by descending ordinal index, offering predictable downscale behavior. Defaults to"random"
if not specified. - [PR #14259][orelmisan] Integrate NIC hotplug with LiveUpdate rollout strategy
- [PR #14673][dasionov] Add Video Configuration Field for VMs to Enable Explicit Video Device Selection
- [PR #14681][victortoso] Windows offline activation with ACPI MSDM table
- [PR #14723][SkalaNetworks] Add VolumeRestorePolicies and VolumeRestoreOverrides to VMRestores
- [PR #14040][jschintag] Add support for Secure Execution VMs on IBM Z
- [PR #13847][mhenriks] Declarative Volume Hotplug with CD-ROM Inject/Eject
- [PR #14807][alromeros] Add Object Graph subresource
- [PR #14793][jean-edouard] Failed post-copy migrations now always end in VMI failure
- [PR #14632][iholder101] virt-handler: Reduce Get() calls for KSM handling
- [PR #14658][alromeros] Bugfix: Update backend-storage logic so it works with PVCs with non-standard naming convention
- [PR #14827][orelmisan] Fix network setup when emulation is enabled
- [PR #14538][iholder101] Move cgroup v1 to maintenance mode
- [PR #14823][xmulligan] Adding Isovalent to Adopters
- [PR #14805][machadovilaca] Replace metric labels’ none values with empty values
- [PR #14768][oshoval] Expose CONTAINER_NAME on hook sidecars.
- [PR #14183][aqilbeig] Add maxUnavailable support to VirtualMachinePool
- [PR #14695][alromeros] Bugfix: Fix online expansion by requeuing VMIs on PVC size change
- [PR #14738][oshoval] Clean absent interfaces and their relative networks from stopped VMs.
- [PR #14737][ShellyKa13] virt-Freeze: skip freeze if domain is not in running state
- [PR #14728][orelmisan] CPU hotplug with net multi-queue is now allowed
- [PR #14616][awels] VirtualMachineInstanceMigrations can now express that they are source or target migrations
- [PR #14619][cloud-j-luna] virtctl vnc command now supports user provided VNC clients.
- [PR #14130][dasionov] bug-fix: persist VM’s firmware UUID for existing VMs
- [PR #14640][xpivarc] ARM: CPU pinning doesn’t panic now
- [PR #14664][brianmcarey] Build KubeVirt with go v1.23.9
- [PR #14599][HarshithaMS005] Enabled watchdog validation on watchdog device models
- [PR #13806][iholder101] Dirty rate is reported as part of a new
GetDomainDirtyRateStats()
gRPC method and by a Prometheus metric:kubevirt_vmi_dirty_rate_bytes_per_second
. - [PR #14617][SkalaNetworks] Added support for custom JSON patches in VirtualMachineClones.
- [PR #14637][alromeros] Label backend PVC to support CDI WebhookPvcRendering
- [PR #14440][pstaniec-catalogicsoftware] add CloudCasa by Catalogic to integrations in the adopters.md
- [PR #14602][orelmisan] The “RestartRequired” condition is not set on VM objects for live-updatable network fields
- [PR #14267][Barakmor1] Implement container disk functionality using ImageVolume, protected by the ImageVolume feature gate.
- [PR #14539][nirdothan] Enable vhost-user mode for passt network binding plugin
- [PR #14520][dasionov] Enable node-labeller for ARM64 clusters, supporting machine-type labels.
- [PR #14203][machadovilaca] Trigger VMCannotBeEvicted only for running VMIs
- [PR #14449][0xFelix] The 64-Bit PCI hole can now be disabled by adding the kubevirt.io/disablePCIHole annotation to VirtualMachineInstances. This allows legacy OSes such as Windows XP or Server 2003 to boot on KubeVirt using the Q35 machine type.
- [PR #13297][mhenriks] hotplug volume: Boot from hotpluggable disk
- [PR #14509][phoracek] Network conformance tests are now marked using the
Conformance
decorator. Use--ginkgo.label-filter '(sig-network && conformance)
to select them. - [PR #14338][dasionov] Bug fix: MaxSockets is limited so maximum of vcpus doesn’t go over 512.
- [PR #14327][machadovilaca] Handle lowercase instancetypes/preference keys in VM monitoring
- [PR #14437][jschintag] Ensure stricter check for valid machine type when validating VMI
- [PR #13911][avlitman] VirtHandlerRESTErrorsHigh, VirtOperatorRESTErrorsHigh, VirtAPIRESTErrorsHigh and VirtControllerRESTErrorsHigh alerts removed.
- [PR #14277][HarshithaMS005] Enable Watchdog device support on s390x using the Diag288 device model.
- [PR #13422][mhenriks] guest console log: make virt-tail a proper sidecar
- [PR #14426][avlitman] Added kubevirt_vmi_migrations_in_unset_phase, instead of including it in kubevirt_vmi_migration_failed.
- [PR #14428][jean-edouard] To use nfs-csi, the env variable KUBEVIRT_NFS_DIR has to be set to a location on the host for NFS data
- [PR #13951][alromeros] Bugfix: Truncate volume names in export pod
- [PR #14405][jpeimer] supplementalPool added to the description of the ioThreadsPolicy possible values
- [PR #14145][ayushpatil2122] handle nil pointer dereference in cellToCell
- [PR #14281][ShellyKa13] VMRestore: Keep VM RunStrategy as before the restore
- [PR #14374][kubevirt-bot] Updated common-instancetypes bundles to v1.3.1
- [PR #14219][lyarwood] A request to create a VirtualMachines that references a non-existent instance type or preference are no longer rejected. The VirtualMachine will be created but will fail to start until the missing resources are created in the cluster.
- [PR #14288][qinqon] Don’t expose as VMI status the implicit qemu domain pause at the end of live migration
- [PR #14309][alicefr] Fixed persistent reservation support for multipathd by improving socket access and multipath files in pr-helper
- [PR #14325][vamsikrishna-siddu] fix: disks-images-provider is pointing to wrong alpine image for s390x.
- [PR #14048][lyarwood] The
v1alpha{1,2}
versions of theinstancetype.kubevirt.io
API group are no longer served or supported. - [PR #14316][lyarwood] A new
Enabled
attribute has been added to theTPM
device allowing users to explicitly disable the device regardless of any referenced preference. - [PR #14328][akalenyu] Cleanup: Fix unit tests on a sane, non-host-cgroup-sharing development setup
- [PR #14108][machadovilaca] Add interface name label to kubevirt_vmi_status_addresses
- [PR #14050][lyarwood] The
InstancetypeReferencePolicy
feature has graduated to GA and no longer requires the associated feature gate to be enabled. - [PR #14286][machadovilaca] Register k8s client-go latency metrics on init
- [PR #14304][jean-edouard] Update module github.com/containers/common to v0.60.4
- [PR #14065][jean-edouard] VM Persistent State GA
- [PR #14096][ShellyKa13] VMSnapshot: add QuiesceFailed indication to snapshot if freeze failed
- [PR #14215][dominikholler] Update module golang.org/x/oauth2 to v0.27.0
- [PR #14068][jean-edouard] Default VM Rollout Strategy is now LiveUpdate. Important: to preserve previous behavior, rolloutStrategy needs to be set to “Stage” in the KubeVirt CR.
- [PR #14222][dominikholler] Update module golang.org/x/net to v0.36.0
- [PR #14218][dominikholler] Update golang.org/x/crypto to v0.35.0
- [PR #14217][dominikholler] Update module github.com/opencontainers/runc to v1.1.14
- [PR #14141][jean-edouard] Large number of migrations should no longer lead to active migrations timing out
- [PR #13870][dasionov] Ensure launcher pods are finalized and deleted before removing the VMI finalizer when the VMI is marked for deletion.
- [PR #14101][qinqon] libvirt: 10.10.0-7, qemu: 9.1.0-15
- [PR #14071][alicefr] Add entrypoint to the pr-helper for creating the symlink to the multipath socket
- [PR #12725][tiraboschi] Support live migration to a named node
- [PR #13888][Sreeja1725] Add v1.5.0 perf and scale benchmarks data
- [PR #13939][0xFelix] The virtctl port-forward/ssh/scp syntax was changed to type/name[/namespace]. It now supports resources with dots in their name properly.
- [PR #13807][Barakmor1] virt-launcher now uses bash to retrieve disk info and verify container-disk files, requiring bash to be included in the launcher image
- [PR #13744][nirdothan] Network interfaces state can be set to
down
orup
in order to set the link state accordingly when VM is running. Hot plugging of interface in these states is also supported. - [PR #13536][jean-edouard] Interrupted migrations will now be reconciled on next VM start.
- [PR #13690][dasionov] bug-fix: add machine type to
NodeSelector
to prevent breaking changes on unsupported nodes - [PR #13940][tiraboschi] The node-restriction Validating Admission Policy will return consistent reasons on failures
- [PR #13916][lyarwood] Instance type and preference runtime data is now stored under
Status.{Instancetype,Preference}Ref
and is no longer mutated into the core VirtualMachine - [PR #13831][ShellyKa13] VMClone: Remove webhook that checks Snapshot Source
- [PR #13815][acardace] GA ClusterProfiler FG and add a config to enable it
- [PR #13928][kubevirt-bot] Updated common-instancetypes bundles to v1.3.0
- [PR #13805][machadovilaca] Fetch non-cluster instance type and preferences with namespace key