You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(proxmox): auto-select snippets-capable storage for cloud-init (#154)
The cloud-init snippet path (qemu-guest-agent enablement + E1
packages/runcmd) required the configured/disk storage to hold snippets;
on a local-lvm-only node it silently no-op'd, which stalls DHCP-mode IP
discovery for ~10 minutes and drops requested node prep.
- client.PickSnippetsStorage (pure, unit-tested): prefer the configured
storage when it's snippets-capable, else the node's first snippets-capable
storage (sorted), else ok=false.
- The handler resolves the storage via ListNodeStorages before uploading,
so an LVM-default node still lands its snippet on e.g. "local".
- Fail-fast: when a VM explicitly requested packages/runcmd and the node has
no snippets-capable storage, create returns an actionable error instead of
a silently-broken node. The best-effort agent-only case still degrades
gracefully (logged, non-fatal), preserving prior behavior.
Hardens both the bootstrap QGA path and the E1 per-VM vendor snippet (they
share applyCloudInitVendorSnippet).
Tests: PickSnippetsStorage (prefer/fallback/none); handler auto-select
(LVM default → snippet on local) and fail-fast (no snippets storage →
error); existing E1 handler test updated to serve /storage.
0 commit comments