Releases: deckhouse/virtualization
v1.1.1
Changelog v1.1.1
Fixes
- [core] Fixed an issue in containerdv2 where storage providing a PVC with the FileSystem type was incorrectly attached via
VirtualMachineBlockDeviceAttachment. #1548 - [core] Added error reporting in the status of disks and images when the data source (URL) is unavailable. #1534
- [module] fix CVE-2025-58058 and CVE-2025-54410 #1572
- [vi] When creating virtual images from virtual disk snapshots, the
spec.persistentVolumeClaim.storageClassNameparameter is now respected. Previously, it could be ignored. #1533 - [vm] Fixed the
NetworkReadycondition output. It no longer shows theUnknownstate and appears only when needed. #1567 - [vm] Prohibit duplicate networks in the virtual machine
.spec.networkspecification. #1545 - [vmbda] Fixed a bug where, when detaching a virtual image through
VirtualMachineBlockDeviceAttachment, the resource could get stuck in the Terminating state. #1542 - [vmip] Added validation for static IP addresses to avoid creating a
VirtualMachineIPAddressresource with an IP already in use in the cluster. #1530
Chore
- [observability] Added Prometheus metrics for virtual machine snapshots (
d8_virtualization_virtualmachinesnapshot_info) and virtual disk snapshots (d8_virtualization_virtualdisksnapshot_info), showing which objects they are associated with. #1555
For more information, see the changelog and minor version release changes.
v1.1.0
Changelog v1.1.0
Features
-
[module] Added the
D8VirtualizationDVCRInsufficientCapacityRiskalert, which warns of the risk of insufficient free space in the virtual machine image storage (DVCR). #1461 -
[module] Added the
KubeNodeAwaitingVirtualMachinesEvictionBeforeShutdownalert, which is triggered when the node hosting the virtual machines is about to shut down but VM evacuation is not yet complete. #1268 -
[vm] Added the ability to migrate VMs using disks on local storage. Restrictions:
- The feature is not available in the CE edition.
- Migration is only possible for running VMs (
phase: Running). - Migration of VMs with local disks connected via
VirtualMachineBlockDeviceAttachment(hotplug) is not supported yet.
Added the ability to migrate storage for VM disks (change
StorageClass). Restrictions:- The feature is not available in the CE edition.
- Migration is only possible for running VMs (
phase: Running). - Storage migration for disks connected via
VirtualMachineBlockDeviceAttachment(hotplug) is not supported yet. #1360
-
[vmop] Added an operation with the
Clonetype to create a clone of a VM from an existing VM (VirtualMachineOperation.spec.type: Clone). #1418
Fixes
- [observability] Fixed the graph on the virtual machine dashboard that displays memory copy statistics during VM migration. #1474
- [vd] respect user-specified storage class when restoring from snapshot #1417
- [vmclass] Use qemu64 CPU model for Discovery and Features types to fix nested virtualization on AMD hosts #1446
- [vmop] Fix the problem where a disk that in the "Terminating" phase was wrongly added to kvvm's volumes during a restore operation in Strict mode. #1493
- [vmop] Fixed garbage collector behavior: previously, all VMOP objects were deleted after restarting the virtualization controller, ignoring cleanup rules. #1471
For more information, see the changelog and minor version release changes.
v1.0.0
Changelog v1.0.0
Features
- [api] add metadata preservation for VirtualDisk #1426
- [core] Add VM restore feature using new type Restore for VirtualMachineOperation #1307
Fixes
- [api] Fixed kubebuilder annotations to generate CRDs with correct categories and short names. #1421
- [core] fix CVE-2025-47907 #1413
- [vd] Set disk to failed when image pull fails from registry #1400
- [vm] fix
coresandcoreFractionvalidation in sizing policy #1420 - [vm] fix incorrect data encoding during snapshot creation and restoration by removing redundant base64 encoding when storing JSON in Kubernetes Secrets. #1419
- [vm] fix message in NetworkReady condition #1414
- [vm] Add display of
.status.networkif.spec.networkis empty #1412 - [vm] Block network spec changes when SDN feature gate is disabled #1408
Chore
- [api] Updated CRD short names to remove plural forms and reorganized resource categories. #1407
- [core] Reduce kubevirt components restarts. #1449
- [module] Reduce module restarts during installation. #1445
- [module] Support "in-cluster" upload when publicDomainTemplate is empty. #1440
- [vm] Check is first block device bootable. #1359
For more information, see the changelog and minor version release changes.
v0.25.0
Changelog v0.25.0
Know before update
- In version v0.25.0, support for the module's operation with CRI Containerd V2 has been added.
After upgrading CRI from Containerd v1 to Containerd v2, it is necessary to recreate the images that were created using virtualization module version v0.24.0 and earlier.
Features
- [core] In version v0.25.0, support for the module's operation with CRI Containerd V2 has been added. #1395
In version v0.25.0, support for the module's operation with CRI Containerd V2 has been added.
After upgrading CRI from Containerd v1 to Containerd v2, it is necessary to recreate the images that were created using virtualization module version v0.24.0 and earlier. - [observability] New Prometheus metrics have been added to track the phase of resources such as
VirtualMachineSnapshot,VirtualDiskSnapshot,VirtualImage, andClusterVirtualImage. #1356 - [vm] MAC address management for additional network interfaces has been added using the
VirtualMachineMACAddressandVirtualMachineMACAddressLeaseresources. #1350 - [vm] Added the ability to attach additional network interfaces to a virtual machine for networks provided by the SDN module. For this, the SDN module must be enabled in the cluster. #1253
- [vmclass] An annotation has been added to set the default VirtualMachineClass.
To designate aVirtualMachineClassas the default, you need to add the annotation
virtualmachineclass.virtualization.deckhouse.io/is-default-class=trueto it.
This allows creating VMs with an emptyspec.virtualMachineClassNamefield, which will be automatically filled with the default class. #1305
Fixes
- [module] Added validation to ensure that virtual machine subnets do not overlap with system subnets (podSubnetCIDR and serviceSubnetCIDR). #1324
- [vi] To create a virtual image on a
PersistentVolumeClaim, the storage must support the RWX and Block modes; otherwise, a warning will be displayed. #1289 - [vm] Fixed an issue where changing the operating system type caused the machine to enter a reboot loop. #1358
- [vm] Fixed an issue where a virtual machine would hang in the Starting phase when project quotas were insufficient. A quota shortage message will now be displayed in the virtual machine's status. To allow the machine to continue starting, the project quotas need to be increased. #1314
For more information, see the changelog and minor version release changes.
v0.24.0
Changelog v0.24.0
Features
- [api] Remove setting of VolumeSnapshotClass. Set field deprecated in CRDS's. #1274
- [core] bump kubevirt to tag v1.3.1-v12n.8. Set mac address for non default pod network and improve reason when live-migration failed #1287
- [vd] Add
Exportingphase and new conditions toVirtualDiskstatus #1256 - [vm] Add additional network interfaces for VirtualMachines. #1253
Fixes
- [core] fix CVE-2025-22868 #1322
- [module] Fix helm template to be compatible with CustomCertificate https mode. #1297
- [observability] fix alerts D8InternalVirtualizationVirtHandlerTargetAbsent and D8InternalVirtualizationVirtHandlerTargetDown, by removing them and adding virtualization virt metrics state #1291
- [vd] Fail with error on insufficient PVC size #1295
- [vd] Set ImageNotReady/ClusterImageNotReady condition when VI/CVI is missing. #1286
- [vd] Improve virtual disk protection logic during deletion #1285
- [vm] Fix an issue where multiple networks of type "Main" could be specified in a virtual machine's spec. #1299
- [vm] Add react on create virtual machine event for WorkloadUpdater controller #1293
- [vm] Add validation to ensure that names in spec.blockDeviceRefs do not exceed the maximum allowed lengths. #1276
Chore
- [api] Update the IsStorageClassDeprecated method to accept a StorageClass pointer instead of a string. #1264
- [docs] Examples of using the user interface have been added to the documentation #1270
For more information, see the changelog and minor version release changes.
v0.23.1
Changelog v0.23.1
Fixes
- [api] A virtual machine with the
AlwaysOnrun policy can be restored with theforcedmode. #1294
For more information, see the changelog and minor version release changes.
v0.23.0
Changelog v0.23.0
Features
-
[core] All containers have been switched to read-only mode, which is part of efforts to enhance security and ensure integrity control of the virtualization components. #1244
-
[vmrestore] Added the ability to forcefully restore a virtual machine from a snapshot using the restoreMode parameter. This parameter has two possible values:
- Safe - a safe recovery option when there are no conflicts with the virtual machine's resources;
- Forced - a forced recovery option that can be applied to a running virtual machine but may lead to destructive consequences if conflicts arise during the recovery process.
If the forcibly restored virtual disks are used by another virtual machine or the restored IP address is reserved by another virtual machine, the recovery process will fail, and this will be reported in the VirtualMachineRestore resource status. #1115
Fixes
- [core] Fixed the placement of the virtualization management component on system nodes when they are present in the cluster. If there are no system nodes in the cluster, it will be placed on master nodes. #1260
- [vd] For a virtual disk in
Filesystemmode, fixed the ability to dynamically attach (hotplug) to a virtual machine. #1241 - [vd] Fixed the creation of virtual disks using NFS storage with the
no_root_squashoption. #1210
For more information, see the changelog and minor version release changes.
v0.22.0
Changelog v0.22.0
Features
- [api] The storage classes managed by the
local-path-provisionermodule are now deprecated for VirtualImage and VirtualDisk creation. #1243
Fixes
- [api] The allowed name lengths for resources have been adjusted and the corresponding validation has been added:
- ClusterVirtualImage: 48 characters (instead of 36)
- VirtualImage: 49 characters (instead of 37) #1229
- [module] Now in clusters with High Availability mode, the virtualization components on the master nodes use 3 replicas. #1208
- [module] Fixed the deployment of the virtualization module in HTTP mode (when using
DisabledorOnlyInURIoptions for the https.mode setting), which could lead to blocking the execution of the deckhouse queue. #1207 - [module] Fixed the deployment of the module on nodes with CentOS, Rocky Linux, and Alma Linux with SELinux enabled (Enforced). Now the installation completes without errors. #1203
- [module] Reduced the module size to 50MB (previously 445MB). #1181
- [vm] Removed unnecessary warnings about virtual machines running in privileged mode — such messages are no longer displayed, as this is standard and expected behavior of the system. #1202
- [vmsnapshot] Fixed the hotplugging of existing images when restoring a virtual machine from a snapshot. #1198
For more information, see the changelog and minor version release changes.
v0.21.2
Changelog v0.21.2
Fixes
- [vd] The creation of virtual disks using the storage class of the
local-path-provisionermodule has been fixed.
Support for storage classes managed by the local-path-provisioner module will be discontinued starting from version 0.22. #1228
For more information, see the changelog and minor version release changes.
v0.20.2
Changelog v0.20.2
Fixes
- [vd] The creation of virtual disks using the storage class of the
local-path-provisionermodule has been fixed.
Support for storage classes managed by the local-path-provisioner module will be discontinued starting from version 0.22. #1228
For more information, see the changelog and minor version release changes.