mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	fix pvecheck
This commit is contained in:
		@@ -66,19 +66,19 @@ function error_handler() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function cleanup_vmid() {
 | 
			
		||||
  if qm status $VMID &>/dev/null; then
 | 
			
		||||
    qm stop $VMID &>/dev/null
 | 
			
		||||
    qm destroy $VMID &>/dev/null
 | 
			
		||||
  if qm status "$VMID" &>/dev/null; then
 | 
			
		||||
    qm stop "$VMID" &>/dev/null
 | 
			
		||||
    qm destroy "$VMID" &>/dev/null
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function cleanup() {
 | 
			
		||||
  popd >/dev/null
 | 
			
		||||
  rm -rf $TEMP_DIR
 | 
			
		||||
  rm -rf "$TEMP_DIR"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEMP_DIR=$(mktemp -d)
 | 
			
		||||
pushd $TEMP_DIR >/dev/null
 | 
			
		||||
pushd "$TEMP_DIR" >/dev/null
 | 
			
		||||
if whiptail --backtitle "Proxmox VE Helper Scripts" --title "HOME ASSISTANT OS VM" --yesno "This will create a New Home Assistant OS VM. Proceed?" 10 58; then
 | 
			
		||||
  :
 | 
			
		||||
else
 | 
			
		||||
@@ -127,7 +127,7 @@ function check_root() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function pve_check() {
 | 
			
		||||
  if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[0-9]+)*"; then
 | 
			
		||||
  if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then
 | 
			
		||||
    msg_error "This version of Proxmox Virtual Environment is not supported"
 | 
			
		||||
    echo -e "Requires Proxmox Virtual Environment Version 8.1 or later."
 | 
			
		||||
    echo -e "Exiting..."
 | 
			
		||||
@@ -211,7 +211,7 @@ function advanced_settings() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  while true; do
 | 
			
		||||
    if VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 $NEXTID --title "VIRTUAL MACHINE ID" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if VMID=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Virtual Machine ID" 8 58 "$NEXTID" --title "VIRTUAL MACHINE ID" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
      if [ -z "$VMID" ]; then
 | 
			
		||||
        VMID="$NEXTID"
 | 
			
		||||
      fi
 | 
			
		||||
@@ -231,7 +231,7 @@ function advanced_settings() {
 | 
			
		||||
    "i440fx" "Machine i440fx" ON \
 | 
			
		||||
    "q35" "Machine q35" OFF \
 | 
			
		||||
    3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ $MACH = q35 ]; then
 | 
			
		||||
    if [ "$MACH" = q35 ]; then
 | 
			
		||||
      echo -e "${DGN}Using Machine Type: ${BGN}$MACH${CL}"
 | 
			
		||||
      FORMAT=""
 | 
			
		||||
      MACHINE=" -machine q35"
 | 
			
		||||
@@ -248,7 +248,7 @@ function advanced_settings() {
 | 
			
		||||
    "0" "None" OFF \
 | 
			
		||||
    "1" "Write Through (Default)" ON \
 | 
			
		||||
    3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ $DISK_CACHE1 = "1" ]; then
 | 
			
		||||
    if [ "$DISK_CACHE1" = "1" ]; then
 | 
			
		||||
      echo -e "${DGN}Using Disk Cache: ${BGN}Write Through${CL}"
 | 
			
		||||
      DISK_CACHE="cache=writethrough,"
 | 
			
		||||
    else
 | 
			
		||||
@@ -259,12 +259,12 @@ function advanced_settings() {
 | 
			
		||||
    exit-script
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 haos${BRANCH} --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z $VM_NAME ]; then
 | 
			
		||||
  if VM_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 haos"${BRANCH}" --title "HOSTNAME" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z "$VM_NAME" ]; then
 | 
			
		||||
      HN="haos${BRANCH}"
 | 
			
		||||
      echo -e "${DGN}Using Hostname: ${BGN}$HN${CL}"
 | 
			
		||||
    else
 | 
			
		||||
      HN=$(echo ${VM_NAME,,} | tr -d ' ')
 | 
			
		||||
      HN=$(echo "${VM_NAME,,}" | tr -d ' ')
 | 
			
		||||
      echo -e "${DGN}Using Hostname: ${BGN}$HN${CL}"
 | 
			
		||||
    fi
 | 
			
		||||
  else
 | 
			
		||||
@@ -275,7 +275,7 @@ function advanced_settings() {
 | 
			
		||||
    "0" "KVM64" OFF \
 | 
			
		||||
    "1" "Host (Default)" ON \
 | 
			
		||||
    3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ $CPU_TYPE1 = "1" ]; then
 | 
			
		||||
    if [ "$CPU_TYPE1" = "1" ]; then
 | 
			
		||||
      echo -e "${DGN}Using CPU Model: ${BGN}Host${CL}"
 | 
			
		||||
      CPU_TYPE=" -cpu host"
 | 
			
		||||
    else
 | 
			
		||||
@@ -287,7 +287,7 @@ function advanced_settings() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if CORE_COUNT=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate CPU Cores" 8 58 2 --title "CORE COUNT" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z $CORE_COUNT ]; then
 | 
			
		||||
    if [ -z "$CORE_COUNT" ]; then
 | 
			
		||||
      CORE_COUNT="2"
 | 
			
		||||
      echo -e "${DGN}Allocated Cores: ${BGN}$CORE_COUNT${CL}"
 | 
			
		||||
    else
 | 
			
		||||
@@ -298,7 +298,7 @@ function advanced_settings() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if RAM_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate RAM in MiB" 8 58 4096 --title "RAM" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z $RAM_SIZE ]; then
 | 
			
		||||
    if [ -z "$RAM_SIZE" ]; then
 | 
			
		||||
      RAM_SIZE="4096"
 | 
			
		||||
      echo -e "${DGN}Allocated RAM: ${BGN}$RAM_SIZE${CL}"
 | 
			
		||||
    else
 | 
			
		||||
@@ -309,7 +309,7 @@ function advanced_settings() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if BRG=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Bridge" 8 58 vmbr0 --title "BRIDGE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z $BRG ]; then
 | 
			
		||||
    if [ -z "$BRG" ]; then
 | 
			
		||||
      BRG="vmbr0"
 | 
			
		||||
      echo -e "${DGN}Using Bridge: ${BGN}$BRG${CL}"
 | 
			
		||||
    else
 | 
			
		||||
@@ -319,8 +319,8 @@ function advanced_settings() {
 | 
			
		||||
    exit-script
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if MAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address" 8 58 $GEN_MAC --title "MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z $MAC1 ]; then
 | 
			
		||||
  if MAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address" 8 58 "$GEN_MAC" --title "MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z "$MAC1" ]; then
 | 
			
		||||
      MAC="$GEN_MAC"
 | 
			
		||||
      echo -e "${DGN}Using MAC Address: ${BGN}$MAC${CL}"
 | 
			
		||||
    else
 | 
			
		||||
@@ -332,7 +332,7 @@ function advanced_settings() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if VLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z $VLAN1 ]; then
 | 
			
		||||
    if [ -z "$VLAN1" ]; then
 | 
			
		||||
      VLAN1="Default"
 | 
			
		||||
      VLAN=""
 | 
			
		||||
      echo -e "${DGN}Using Vlan: ${BGN}$VLAN1${CL}"
 | 
			
		||||
@@ -345,7 +345,7 @@ function advanced_settings() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if MTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then
 | 
			
		||||
    if [ -z $MTU1 ]; then
 | 
			
		||||
    if [ -z "$MTU1" ]; then
 | 
			
		||||
      MTU1="Default"
 | 
			
		||||
      MTU=""
 | 
			
		||||
      echo -e "${DGN}Using Interface MTU Size: ${BGN}$MTU1${CL}"
 | 
			
		||||
@@ -396,9 +396,9 @@ post_to_api_vm
 | 
			
		||||
 | 
			
		||||
msg_info "Validating Storage"
 | 
			
		||||
while read -r line; do
 | 
			
		||||
  TAG=$(echo $line | awk '{print $1}')
 | 
			
		||||
  TYPE=$(echo $line | awk '{printf "%-10s", $2}')
 | 
			
		||||
  FREE=$(echo $line | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}')
 | 
			
		||||
  TAG=$(echo "$line" | awk '{print $1}')
 | 
			
		||||
  TYPE=$(echo "$line" | awk '{printf "%-10s", $2}')
 | 
			
		||||
  FREE=$(echo "$line" | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}')
 | 
			
		||||
  ITEM="  Type: $TYPE Free: $FREE "
 | 
			
		||||
  OFFSET=2
 | 
			
		||||
  if [[ $((${#ITEM} + $OFFSET)) -gt ${MSG_MAX_LENGTH:-} ]]; then
 | 
			
		||||
@@ -434,11 +434,11 @@ sleep 2
 | 
			
		||||
msg_ok "${CL}${BL}${URL}${CL}"
 | 
			
		||||
curl -f#SL -o "$(basename "$URL")" "$URL"
 | 
			
		||||
echo -en "\e[1A\e[0K"
 | 
			
		||||
FILE=$(basename $URL)
 | 
			
		||||
FILE=$(basename "$URL")
 | 
			
		||||
msg_ok "Downloaded ${CL}${BL}haos_ova-${BRANCH}.qcow2.xz${CL}"
 | 
			
		||||
msg_info "Extracting KVM Disk Image"
 | 
			
		||||
unxz $FILE
 | 
			
		||||
STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}')
 | 
			
		||||
unxz "$FILE"
 | 
			
		||||
STORAGE_TYPE=$(pvesm status -storage "$STORAGE" | awk 'NR>1 {print $2}')
 | 
			
		||||
case $STORAGE_TYPE in
 | 
			
		||||
nfs | dir)
 | 
			
		||||
  DISK_EXT=".raw"
 | 
			
		||||
@@ -456,18 +456,18 @@ btrfs | local-zfs)
 | 
			
		||||
esac
 | 
			
		||||
for i in {0,1}; do
 | 
			
		||||
  disk="DISK$i"
 | 
			
		||||
  eval DISK${i}=vm-${VMID}-disk-${i}${DISK_EXT:-}
 | 
			
		||||
  eval DISK${i}_REF=${STORAGE}:${DISK_REF:-}${!disk}
 | 
			
		||||
  eval DISK"${i}"=vm-"${VMID}"-disk-"${i}"${DISK_EXT:-}
 | 
			
		||||
  eval DISK"${i}"_REF="${STORAGE}":"${DISK_REF:-}"${!disk}
 | 
			
		||||
done
 | 
			
		||||
msg_ok "Extracted KVM Disk Image"
 | 
			
		||||
msg_info "Creating HAOS VM"
 | 
			
		||||
qm create $VMID -agent 1${MACHINE} -tablet 0 -localtime 1 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \
 | 
			
		||||
  -name $HN -tags community-script -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 1 -ostype l26 -scsihw virtio-scsi-pci
 | 
			
		||||
pvesm alloc $STORAGE $VMID $DISK0 4M 1>&/dev/null
 | 
			
		||||
qm importdisk $VMID ${FILE%.*} $STORAGE ${DISK_IMPORT:-} 1>&/dev/null
 | 
			
		||||
qm set $VMID \
 | 
			
		||||
  -efidisk0 ${DISK0_REF}${FORMAT} \
 | 
			
		||||
  -scsi0 ${DISK1_REF},${DISK_CACHE}${THIN}size=32G \
 | 
			
		||||
qm create "$VMID" -agent 1"${MACHINE}" -tablet 0 -localtime 1 -bios ovmf"${CPU_TYPE}" -cores "$CORE_COUNT" -memory "$RAM_SIZE" \
 | 
			
		||||
  -name "$HN" -tags community-script -net0 virtio,bridge="$BRG",macaddr="$MAC"$VLAN"$MTU" -onboot 1 -ostype l26 -scsihw virtio-scsi-pci
 | 
			
		||||
pvesm alloc "$STORAGE" "$VMID" "$DISK0" 4M 1>&/dev/null
 | 
			
		||||
qm importdisk "$VMID" "${FILE%.*}" "$STORAGE" "${DISK_IMPORT:-}" 1>&/dev/null
 | 
			
		||||
qm set "$VMID" \
 | 
			
		||||
  -efidisk0 "${DISK0_REF}"${FORMAT} \
 | 
			
		||||
  -scsi0 "${DISK1_REF}",${DISK_CACHE}${THIN}size=32G \
 | 
			
		||||
  -boot order=scsi0 \
 | 
			
		||||
  -description "<div align='center'><a href='https://Helper-Scripts.com' target='_blank' rel='noopener noreferrer'><img src='https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/images/logo-81x112.png'/></a>
 | 
			
		||||
 | 
			
		||||
@@ -478,7 +478,7 @@ qm set $VMID \
 | 
			
		||||
msg_ok "Created HAOS VM ${CL}${BL}(${HN})"
 | 
			
		||||
if [ "$START_VM" == "yes" ]; then
 | 
			
		||||
  msg_info "Starting Home Assistant OS VM"
 | 
			
		||||
  qm start $VMID
 | 
			
		||||
  qm start "$VMID"
 | 
			
		||||
  msg_ok "Started Home Assistant OS VM"
 | 
			
		||||
fi
 | 
			
		||||
post_update_to_api "done" "none"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user