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 migrationtest - [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.BasePolicyfield 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
Conformancedecorator. 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.ioAPI group are no longer served or supported. - [PR #14316][lyarwood] A new
Enabledattribute has been added to theTPMdevice 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
InstancetypeReferencePolicyfeature 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
downorupin 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
NodeSelectorto 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}Refand is no longer mutated into the core VirtualMachineSpec`. - [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