Hi All,
In efforts to GA the new DeclarativeHotplugVolumes feature [1], we are taking steps to fully deprecate the older variant, HotplugVolumes. This includes deprecating the use of ephemeral hotplugged volumes (defined as volumes that are hotplugged to a VMI but do not persist in the VirtualMachine definition), which are not supported by the new declarative API.
In an upcoming release (version TBD), the DeclarativeHotplugVolumes feature gate will become enabled by default, causing any remaining ephemeral hotplug volumes to become unplugged the next time the VM reconciles. In preparation for this event, it is highly recommended to convert any existing ephemeral hotplugs to persistent hotplug volumes. To help inform of this deprecation, a new Alert [2] will be fired for any VM that contains an ephemeral hotplug and will link to a runbook [3] that will include mitigation steps.
Additionally by deprecating ephemeral hotplug volumes, this will also include changes to virtctl addvolume and removevolume [4] to prevent the creation of any new ephemeral hotplugs. The previous behavior of these API calls would default to hotplugging volumes to only the VMI (resulting in an ephemeral hotplug) unless the --persist flag was included in the command. To combat this, we are deprecating the --persist flag and modifying the default behavior of add/removevolume to instead always persist the hotplug volume in the VM spec whether the flag is provided or not.
Please reach out if you have any questions or concerns.
[1] https://github.com/kubevirt/kubevirt/pull/13847
[2] https://github.com/kubevirt/kubevirt/pull/15815
[3] https://github.com/kubevirt/monitoring/pull/328
[4] https://github.com/kubevirt/kubevirt/pull/16280
Thanks,
Danny Sanatar