mirror of
https://github.com/cozystack/cozystack.git
synced 2026-11-06 20:13:43 +09:00
KubeVirt derives launcher requests from the admitted VMI and does not allow another controller to change that spec afterwards. Class resolution and offer validation must therefore finish at VMI creation. A resource outside permittedHostDevices otherwise leaves a VMI Pending without a pod. Resolving from uncached reads avoids admitting against an obsolete class or entitlement; asynchronous class status cannot establish resource-name uniqueness. Capacity shortages belong to the scheduler: refusing admission would put a VM into KubeVirt's retry backoff instead of starting it when a unit frees up. Tenant-controlled per-unit expansion still needs a fixed safety bound to prevent a small annotation from exhausting controller memory. A guest needs its class's license without embedding the token in an image or changing which disk boots. Class tolerations must survive LiveUpdate, which resets VMI tolerations from the VM template; the launcher pod is the stable place to apply them. Migration and volume- binding pods need the same scheduling access. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <f@lex.la>