Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 37 additions & 12 deletions docs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,51 @@
title: "Release Notes"
weight: 70
---
# v1.0.0

# v1.1.0

## New features

* [vm] Added protection to prevent a cloud image (`VirtualImage` \ `ClusterVirtualImage`) from being connected as the first disk. Previously, this caused the VM to fail to start with the "No bootable device" error.
* [vmop] Added `Restore` operation to restore a VM from a previously created snapshot.
- [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.
- [vd] 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.
- [vmop] Added an operation with the `Clone` type to create a clone of a VM from an existing VM (`VirtualMachineOperation` `.spec.type: Clone`).
- [observability] Added the `KubeNodeAwaitingVirtualMachinesEvictionBeforeShutdown` alert, which is triggered when the node hosting the virtual machines is about to shut down but VM evacuation is not yet complete.
- [observability] Added the `D8VirtualizationDVCRInsufficientCapacityRisk` alert, which warns of the risk of insufficient free space in the virtual machine image storage (DVCR).

## Fixes

* [vmsnapshot] When restoring a virtual machine from a snapshot, all annotations and labels that were present on the resources at the time of the snapshot are now restored correctly.
* [module] Fixed an issue with queue blocking when the `settings.modules.publicClusterDomain` parameter was empty in the global ModuleConfig resource.
* [module] Optimized hook performance during module installation.
* [vmclass] Fixed core/coreFraction validation in the `VirtualMachineClass` resource.
* [module] When the SDN module is disabled, the configuration of additional networks in the VM is not available.
- [vmop/restore] Fixed a bug where the controller sometimes started a restored VM before its disks were fully restored, resulting in the VM starting with old (unrestored) disks.
- [vmsnapshot] Fixed behavior when creating a VM snapshot with uncommitted changes: the snapshot now instantly captures the current state of the virtual machine, including all current changes.
- [module] Fixed an issue with installing the module on RedOS 8.X OS.
- [module] Improved validation to prevent adding empty values for parameters that define storage classes for disks and images.
- [vmop] Fixed garbage collector behavior: previously, all VMOP objects were deleted after restarting the virtualization controller, ignoring cleanup rules.
- [observability] The virtual machine dashboard now displays statistics for all networks (including additional ones) connected to the VM.
- [observability] Fixed the graph on the virtual machine dashboard that displays memory copy statistics during VM migration.

# v1.0.0

## New features

- [vm] Added protection to prevent a cloud image (`VirtualImage` \ `ClusterVirtualImage`) from being connected as the first disk. Previously, this caused the VM to fail to start with the "No bootable device" error.
- [vmop] Added `Restore` operation to restore a VM from a previously created snapshot.

## Fixes

- [vmsnapshot] When restoring a virtual machine from a snapshot, all annotations and labels that were present on the resources at the time of the snapshot are now restored correctly.
- [module] Fixed an issue with queue blocking when the `settings.modules.publicClusterDomain` parameter was empty in the global ModuleConfig resource.
- [module] Optimized hook performance during module installation.
- [vmclass] Fixed core/coreFraction validation in the `VirtualMachineClass` resource.
- [module] When the SDN module is disabled, the configuration of additional networks in the VM is not available.

## Security

* Fixed CVE-2025-47907
- Fixed CVE-2025-47907

# v0.25.0

Expand All @@ -36,8 +62,7 @@ After upgrading CRI from containerd v1 to containerd v2, it is necessary to recr
- [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.
- [vmclass] An annotation has been added to set the default `VirtualMachineClass`. You can designate a `VirtualMachineClass` as the default by adding the annotation
`virtualmachineclass.virtualization.deckhouse.io/is-default-class=true`.
This allows creating VMs with an empty `spec.virtualMachineClassName` field, which will be automatically filled with the default class.

This allows creating VMs with an empty `spec.virtualMachineClassName` field, which will be automatically filled with the default class.

## Fixes

Expand All @@ -48,7 +73,7 @@ This allows creating VMs with an empty `spec.virtualMachineClassName` field, whi

## Other

- [vm] Improved the garbage collector (GC) for completed virtual machine operations:
- [vmop] Improved the garbage collector (GC) for completed virtual machine operations:
- Runs daily at 00:00.
- Removes successfully completed operations (`Completed` / `Failed`) after their TTL (24 hours) expires.
- Retains only the last 10 completed operations.
63 changes: 46 additions & 17 deletions docs/RELEASE_NOTES.ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,53 @@ title: "Релизы"
weight: 70
---

# v1.1.0

## Новые возможности

- [vm] Добавлена возможность миграции ВМ, использующей диски на локальных хранилищах. Ограничения:
- Функция недоступна в CE-редакции.
- Миграция возможна только для запущенной ВМ (`phase: Running`)
- Миграция ВМ с локальными дисками, подключенными через `VirtualMachineBlockDeviceAttachment` (hotplug), пока недоступна.
- [vd] Добавлена возможность миграции хранилища для дисков ВМ (изменение `StorageClass`). Ограничения:
- Функция недоступна в CE-редакции.
- Миграция возможна только для запущенной ВМ (`phase: Running`)
- Миграция хранилища для дисков, подключенных через `VirtualMachineBlockDeviceAttachment` (hotplug), пока недоступна.
- [vmop] Добавлена операция с типом `Clone` для создания клона ВМ из существующей ВМ (`VirtualMachineOperation` `.spec.type: Clone`).
- [observability] Добавлен алерт `KubeNodeAwaitingVirtualMachinesEvictionBeforeShutdown`, срабатывающий при получении узлом, на котором размещены виртуальные машины, команды на завершение работы — до завершения эвакуации ВМ.
- [observability] Добавлен алерт `D8VirtualizationDVCRInsufficientCapacityRisk`, предупреждающий о риске нехватки свободного места в хранилище образов виртуальных машин (DVCR).

## Исправления

- [vmop/restore] Исправлена ошибка, при которой контроллер иногда запускал восстановленную ВМ до завершения восстановления её дисков, в результате чего ВМ стартовала со старыми (не восстановленными) дисками.
- [vmsnapshot] Исправлено поведение при создании снимка ВМ при наличии неприменённых изменений: снимок теперь мгновенно фиксирует актуальное состояние виртуальной машины, включая все текущие изменения.
- [module] Исправлена проблема установки модуля на RedOS 8.X ОС.
- [module] Улучшена валидация, предотвращающая добавление пустых значений для параметров, определяющих классы хранения для дисков и образов.
- [vmop] Исправлена работа сборщика мусора: ранее при перезапуске virtualization-controller все объекты VMOP удалялись без учёта правил очистки.
- [observability] Дашборд виртуальной машины теперь отображает статистику по всем сетям (в том числе и дополнительным), подключённым к ВМ.
- [observability] На дашборде виртуальной машины исправлен график, отображающий статистику копирования памяти во время миграции ВМ.


## Прочее

# v1.0.0

## Новые возможности

* [vm] Добавлена защита от подключения cloud-образа (`VirtualImage` \ `ClusterVirtualImage`) в качестве первого диска. Ранее это приводило к невозможности запуска ВМ с ошибкой "No bootable device".
* [vmop] Добавлена операция с типом `Restore` для восстановления ВМ из ранее созданного снимка.
- [vm] Добавлена защита от подключения cloud-образа (`VirtualImage` \ `ClusterVirtualImage`) в качестве первого диска. Ранее это приводило к невозможности запуска ВМ с ошибкой "No bootable device".
- [vmop] Добавлена операция с типом `Restore` для восстановления ВМ из ранее созданного снимка.

## Исправления

* [vmsnapshot] Теперь при восстановлении виртуальной машины из снимка корректно восстанавливаются все аннотации и лейблы, которые были у ресурсов в момент снимка.
* [module] Исправлена проблема с блокировкой очереди, когда параметр `settings.modules.publicClusterDomain` был пустым в глобальном ресурсе ModuleConfig.
* [module] Оптимизирована производительность хука во время установки модуля.
* [vmclass] Исправлена валидация core/coreFraction в ресурсе VirtualMachineClass.
* [module] При выключенном модуле SDN конфигурация дополнительных сетей в ВМ недоступна.
- [vmsnapshot] Теперь при восстановлении виртуальной машины из снимка корректно восстанавливаются все аннотации и лейблы, которые были у ресурсов в момент снимка.
- [module] Исправлена проблема с блокировкой очереди, когда параметр `settings.modules.publicClusterDomain` был пустым в глобальном ресурсе ModuleConfig.
- [module] Оптимизирована производительность хука во время установки модуля.
- [vmclass] Исправлена валидация core/coreFraction в ресурсе VirtualMachineClass.
- [module] При выключенном модуле SDN конфигурация дополнительных сетей в ВМ недоступна.

## Безопасность

* Устранено CVE-2025-47907
- Устранено CVE-2025-47907

# v0.25.0

Expand All @@ -31,21 +60,21 @@ weight: 70

## Новые возможности

* [vm] Добавлена возможность подключения к виртуальной машине дополнительных сетевых интерфейсов к сетям, предоставляемым модулем `SDN`. Для этого модуль `SDN` должен быть включен в кластере.
* [vmmac] Для дополнительных сетевых интерфейсов добавлено управление MAC-адресами с использованием ресурсов `VirtualMachineMACAddress` и `VirtualMachineMACAddressLease`.
* [vmclass] Добавлена аннотация для установки класса виртуальной машины по умолчанию. Чтобы назначить `VirtualMachineClass` по умолчанию, необходимо добавить на него аннотацию `virtualmachineclass.virtualization.deckhouse.io/is-default-class=true`. Это позволяет создавать ВМ с пустым полем `spec.virtualMachineClassName`, автоматически заполняя его классом по умолчанию.
* [observability] Добавлены новые метрики Prometheus для отслеживания фазы ресурсов, таких как `VirtualMachineSnapshot`, `VirtualDiskSnapshot`, `VirtualImage` и `ClusterVirtualImage`.
- [vm] Добавлена возможность подключения к виртуальной машине дополнительных сетевых интерфейсов к сетям, предоставляемым модулем `SDN`. Для этого модуль `SDN` должен быть включен в кластере.
- [vmmac] Для дополнительных сетевых интерфейсов добавлено управление MAC-адресами с использованием ресурсов `VirtualMachineMACAddress` и `VirtualMachineMACAddressLease`.
- [vmclass] Добавлена аннотация для установки класса виртуальной машины по умолчанию. Чтобы назначить `VirtualMachineClass` по умолчанию, необходимо добавить на него аннотацию `virtualmachineclass.virtualization.deckhouse.io/is-default-class=true`. Это позволяет создавать ВМ с пустым полем `spec.virtualMachineClassName`, автоматически заполняя его классом по умолчанию.
- [observability] Добавлены новые метрики Prometheus для отслеживания фазы ресурсов, таких как `VirtualMachineSnapshot`, `VirtualDiskSnapshot`, `VirtualImage` и `ClusterVirtualImage`.

## Исправления

* [vm] Исправили проблему: при изменении типа операционной системы машина уходила в циклическую перезагрузку.
* [vm] Исправили зависание виртуальной машины в фазе Starting при нехватке квот проекта. Сообщение о нехватке квот будет отображаться в статусе виртуальной машины. Чтобы машина продолжила запуск, необходимо будет увеличить квоты проекта.
* [vi] Для создания виртуального образа на `PersistentVolumeClaim` должно быть использовано хранилище в режиме `RWX` и `Block`, в противном случае будет отображено предупреждение об ошибке.
* [module] Добавили валидацию, проверяющую, что подсети виртуальных машин не пересекаются с системными подсетями (`podSubnetCIDR` и `serviceSubnetCIDR`).
- [vm] Исправили проблему: при изменении типа операционной системы машина уходила в циклическую перезагрузку.
- [vm] Исправили зависание виртуальной машины в фазе Starting при нехватке квот проекта. Сообщение о нехватке квот будет отображаться в статусе виртуальной машины. Чтобы машина продолжила запуск, необходимо будет увеличить квоты проекта.
- [vi] Для создания виртуального образа на `PersistentVolumeClaim` должно быть использовано хранилище в режиме `RWX` и `Block`, в противном случае будет отображено предупреждение об ошибке.
- [module] Добавили валидацию, проверяющую, что подсети виртуальных машин не пересекаются с системными подсетями (`podSubnetCIDR` и `serviceSubnetCIDR`).

## Прочее

- [vm] Улучшили сборщик мусора (GC) для отработавших операций виртуальной машины:
- [vmop] Улучшили сборщик мусора (GC) для отработавших операций виртуальной машины:
- GC запускается каждый день в 00:00;
- GC будет удалять успешно завершённые операции (`Completed` \ `Failed`), если истёк их TTL (24 часа);
- GC подчищает все завершённые операции (`Completed` \ `Failed`), оставляя только 10 последних.
Loading
Loading