mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-02-04 04:13:26 +01:00
Update build.func
This commit is contained in:
@@ -3709,17 +3709,17 @@ validate_storage_space() {
|
||||
local storage="$1"
|
||||
local required_gb="${2:-8}"
|
||||
local show_dialog="${3:-no}"
|
||||
|
||||
|
||||
# Get full storage line from pvesm status
|
||||
local storage_line
|
||||
storage_line=$(pvesm status 2>/dev/null | awk -v s="$storage" '$1 == s {print $0}')
|
||||
|
||||
|
||||
# Check if storage exists and is active
|
||||
if [[ -z "$storage_line" ]]; then
|
||||
[[ "$show_dialog" == "yes" ]] && whiptail --msgbox "⚠️ Warning: Storage '$storage' not found!\n\nThe storage may be unavailable or disabled." 10 60
|
||||
return 2
|
||||
fi
|
||||
|
||||
|
||||
# Check storage status (column 3)
|
||||
local status
|
||||
status=$(awk '{print $3}' <<<"$storage_line")
|
||||
@@ -3727,27 +3727,45 @@ validate_storage_space() {
|
||||
[[ "$show_dialog" == "yes" ]] && whiptail --msgbox "⚠️ Warning: Storage '$storage' is disabled!\n\nPlease enable the storage first." 10 60
|
||||
return 2
|
||||
fi
|
||||
|
||||
|
||||
# Get storage type and free space (column 6)
|
||||
local storage_type storage_free
|
||||
storage_type=$(awk '{print $2}' <<<"$storage_line")
|
||||
storage_free=$(awk '{print $6}' <<<"$storage_line")
|
||||
|
||||
|
||||
# Some storage types (like PBS, iSCSI) don't report size info
|
||||
# In these cases, skip space validation
|
||||
if [[ -z "$storage_free" || "$storage_free" == "0" ]]; then
|
||||
# Silent pass for storages without size info
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
||||
local required_kb=$((required_gb * 1024 * 1024))
|
||||
local free_gb_fmt
|
||||
free_gb_fmt=$(numfmt --to=iec --from-unit=1024 --suffix=B --format %.1f "$storage_free" 2>/dev/null || echo "${storage_free}KB")
|
||||
|
||||
|
||||
if [[ "$storage_free" -lt "$required_kb" ]]; then
|
||||
if [[ "$show_dialog" == "yes" ]]; then
|
||||
whiptail --msgbox "⚠️ Warning: Storage '$storage' may not have enough space!\n\nStorage Type: ${storage_type}\nRequired: ${required_gb}GB\nAvailable: ${free_gb_fmt}\n\nYou can continue, but creation might fail." 14 70
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# ==============================================================================
|
||||
# SECTION 8: CONTAINER CREATION
|
||||
# ==============================================================================
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# create_lxc_container()
|
||||
#
|
||||
# - Main function for creating LXC containers
|
||||
# - Handles all phases: validation, template discovery, container creation,
|
||||
# network config, storage, etc.
|
||||
# - Extensive error checking with detailed exit codes
|
||||
# ------------------------------------------------------------------------------
|
||||
create_lxc_container() {
|
||||
# ------------------------------------------------------------------------------
|
||||
# Optional verbose mode (debug tracing)
|
||||
|
||||
Reference in New Issue
Block a user