mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-09 05:25:14 +09:00
A VMDisk is a standalone object that is populated before any VM consumes it, so on a WaitForFirstConsumer StorageClass CDI needs an explicit signal to schedule its worker and start provisioning. Without it the DataVolume sits in PendingPopulation indefinitely and the disk is never filled -- and nothing says so. This is a consistency fix rather than a new behaviour. The chart default `replicated` is volumeBindingMode: Immediate, so a disk on it already bound and populated at creation; `local`, the cluster's default class, is WaitForFirstConsumer, so the same VMDisk silently did nothing there. The annotation was previously emitted only for source: upload, which is the one source that could not work without it, leaving http, image, disk and blank to differ by class. Two consequences worth knowing. CDI checks the annotation by presence and ignores its value, so "" and "true" are equivalent and this is not a behaviour change on the upload path. And on a node-pinned class each disk now binds at its own creation rather than at VM scheduling, so a multi-disk VM on `local` can find its disks on different nodes -- that is the existing limitation of a node-pinned class, which is why the chart default is not one, but it is reached earlier now. Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
How to test packages local
cd packages/core/installer
make image-cozystack REGISTRY=YOUR_CUSTOM_REGISTRY
make apply
kubectl delete po -l app=source-controller -n cozy-fluxcd