From f28b2372ccc8616c2f440880465efcabc5c54a92 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Thu, 12 Mar 2026 08:38:24 +0100 Subject: [PATCH] fix(build): validate storage availability when loading defaults When loading var_container_storage / var_template_storage from default.vars or app defaults, validate that the storage actually exists and is active on the current node. In mixed clusters (e.g. LVM-Thin + ZFS hosts), saved defaults from one node type would fail on another because the referenced storage doesn't exist. Now invalid storage values are skipped with a warning, allowing the normal storage selection prompt to appear. Closes #12766 --- misc/build.func | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/misc/build.func b/misc/build.func index 33cb367be..4a4c0617f 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1185,6 +1185,18 @@ load_vars_file() { continue fi ;; + var_container_storage | var_template_storage) + # Validate that the storage exists and is active on the current node + local _storage_status + _storage_status=$(pvesm status 2>/dev/null | awk -v s="$var_val" '$1 == s { print $3 }') + if [[ -z "$_storage_status" ]]; then + msg_warn "Storage '$var_val' from $file not found on this node, ignoring" + continue + elif [[ "$_storage_status" == "disabled" ]]; then + msg_warn "Storage '$var_val' from $file is disabled on this node, ignoring" + continue + fi + ;; esac fi