Update 'test.sh'

This commit is contained in:
Sthope 2022-07-16 18:53:07 +00:00
parent 6cd44f7a15
commit c25b0a3e11

340
test.sh
View File

@ -49,16 +49,6 @@ function cleanup() {
TEMP_DIR=$(mktemp -d)
pushd $TEMP_DIR >/dev/null
# while true; do
# read -p "This will create a New Home Assistant OS VM. Proceed(y/n)?" yn
# case $yn in
# [Yy]* ) break;;
# [Nn]* ) exit;;
# * ) echo "Please answer yes or no.";;
# esac
# done
# clear
function header_info {
echo -e "${BL}
___ _ _ _ __
@ -82,185 +72,177 @@ function default_settings() {
clear
header_info
BRANCH=${STABLE}
# echo -e "${DGN}Using VM ID ${BGN}$NEXTID${CL}"
VMID=$NEXTID
# echo -e "${DGN}Using VM Name ${BGN}haos${STABLE}${CL}"
VM_NAME=Home-Assistant
# echo -e "${DGN}Using ${BGN}2${CL}${DGN}vCPU${CL}"
CORE_COUNT="2"
# echo -e "${DGN}Using ${BGN}4096${CL}${DGN}MiB RAM${CL}"
RAM_SIZE="4096"
# echo -e "${DGN}Using Bridge ${BGN}vmbr0${CL}"
BRG="vmbr0"
# echo -e "${DGN}Using MAC Address ${BGN}$GEN_MAC${CL}"
MAC=$GEN_MAC
# echo -e "${DGN}Using VLAN Tag ${BGN}NONE${CL}"
VLAN=""
# echo -e "${DGN}Start VM when completed ${BGN}yes${CL}"
START_VM="yes"
}
function advanced_settings() {
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${YW}Type Latest for Version ${RELEASE}, or Press [ENTER] for Stable Version ${STABLE} "
read BRANCH
if [ -z $BRANCH ]; then BRANCH=$STABLE;
else
BRANCH=$RELEASE; fi;
echo -en "${DGN}Set Version To ${BL}$BRANCH${CL}"
echo -e " ${CM}${CL} \r"
sleep 1
clear
header_info
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${YW}Enter the VM ID, or Press [ENTER] to automatically generate (${NEXTID}) "
read VMID
if [ -z $VMID ]; then VMID=$NEXTID; fi;
echo -en "${DGN}Set VM ID To ${BL}$VMID${CL}"
echo -e " ${CM}${CL} \r"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${YW}Enter VM Name (no-spaces), or Press [ENTER] for Default: haos${BRANCH} "
read VMNAME
if [ -z $VMNAME ]; then
VM_NAME=haos${BRANCH}
else
VM_NAME=$(echo ${VMNAME,,} | tr -d ' ')
fi
echo -en "${DGN}Set CT Name To ${BL}$VM_NAME${CL}"
echo -e " ${CM}${CL} \r"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
echo -e "${YW}Allocate CPU cores, or Press [ENTER] for Default: 2 "
read CORE_COUNT
if [ -z $CORE_COUNT ]; then CORE_COUNT="2"; fi;
echo -en "${DGN}Set Cores To ${BL}${CORE_COUNT}${CL}"
echo -e " ${CM}${CL} \r"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
echo -e "${YW}Allocate RAM in MiB, or Press [ENTER] for Default: 4096 "
read RAM_SIZE
if [ -z $RAM_SIZE ]; then RAM_SIZE="4096"; fi;
echo -en "${DGN}Set RAM To ${BL}$RAM_SIZE${CL}"
echo -e " ${CM}${CL} \n"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}"
echo -e "${YW}Enter a Bridge, or Press [ENTER] for Default: vmbr0 "
read BRG
if [ -z $BRG ]; then BRG="vmbr0"; fi;
echo -en "${DGN}Set Bridge To ${BL}$BRG${CL}"
echo -e " ${CM}${CL} \n"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}"
echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
echo -e "${YW}Enter a Valid MAC Address, or Press [ENTER] for Generated MAC: $GEN_MAC "
read MAC
if [ -z $MAC ]; then MAC=$GEN_MAC; fi;
echo -en "${DGN}Set MAC Address To ${BL}$MAC${CL}"
echo -e " ${CM}${CL} \n"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}"
echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}"
echo -e "${YW}Enter a VLAN Tag, or Press [ENTER] for Default: NONE "
read VLAN1
if [ -z $VLAN1 ]; then VLAN1="NONE" VLAN="";
echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}"
else
VLAN=",tag=$VLAN1"
echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}"
fi;
echo -e " ${CM}${CL} \n"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}"
echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}"
echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}"
echo -e "${YW}Start VM when completed, or Press [ENTER] for Default: yes "
read START_VM
if [ -z $START_VM ]; then START_VM="yes";
else
START_VM="no"; fi;
echo -en "${DGN}Starting VM when completed ${BL}$START_VM${CL}"
echo -e " ${CM}${CL} \n"
sleep 1
clear
header_info
echo -e "${RD}Using Advanced Settings${CL}"
echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}"
echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}"
echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}"
echo -e "${DGN}Start VM when completed ${BGN}$START_VM${CL}"
# function advanced_settings() {
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${YW}Type Latest for Version ${RELEASE}, or Press [ENTER] for Stable Version ${STABLE} "
# read BRANCH
# if [ -z $BRANCH ]; then BRANCH=$STABLE;
# else
# BRANCH=$RELEASE; fi;
# echo -en "${DGN}Set Version To ${BL}$BRANCH${CL}"
# echo -e " ${CM}${CL} \r"
# sleep 1
# clear
# header_info
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${YW}Enter the VM ID, or Press [ENTER] to automatically generate (${NEXTID}) "
# read VMID
# if [ -z $VMID ]; then VMID=$NEXTID; fi;
# echo -en "${DGN}Set VM ID To ${BL}$VMID${CL}"
# echo -e " ${CM}${CL} \r"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${YW}Enter VM Name (no-spaces), or Press [ENTER] for Default: haos${BRANCH} "
# read VMNAME
# if [ -z $VMNAME ]; then
# VM_NAME=haos${BRANCH}
# else
# VM_NAME=$(echo ${VMNAME,,} | tr -d ' ')
# fi
# echo -en "${DGN}Set CT Name To ${BL}$VM_NAME${CL}"
# echo -e " ${CM}${CL} \r"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
# echo -e "${YW}Allocate CPU cores, or Press [ENTER] for Default: 2 "
# read CORE_COUNT
# if [ -z $CORE_COUNT ]; then CORE_COUNT="2"; fi;
# echo -en "${DGN}Set Cores To ${BL}${CORE_COUNT}${CL}"
# echo -e " ${CM}${CL} \r"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
# echo -e "${YW}Allocate RAM in MiB, or Press [ENTER] for Default: 4096 "
# read RAM_SIZE
# if [ -z $RAM_SIZE ]; then RAM_SIZE="4096"; fi;
# echo -en "${DGN}Set RAM To ${BL}$RAM_SIZE${CL}"
# echo -e " ${CM}${CL} \n"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}"
# echo -e "${YW}Enter a Bridge, or Press [ENTER] for Default: vmbr0 "
# read BRG
# if [ -z $BRG ]; then BRG="vmbr0"; fi;
# echo -en "${DGN}Set Bridge To ${BL}$BRG${CL}"
# echo -e " ${CM}${CL} \n"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}"
# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
# echo -e "${YW}Enter a Valid MAC Address, or Press [ENTER] for Generated MAC: $GEN_MAC "
# read MAC
# if [ -z $MAC ]; then MAC=$GEN_MAC; fi;
# echo -en "${DGN}Set MAC Address To ${BL}$MAC${CL}"
# echo -e " ${CM}${CL} \n"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB RAM${CL}"
# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
# echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}"
# echo -e "${YW}Enter a VLAN Tag, or Press [ENTER] for Default: NONE "
# read VLAN1
# if [ -z $VLAN1 ]; then VLAN1="NONE" VLAN="";
# echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}"
# else
# VLAN=",tag=$VLAN1"
# echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}"
# fi;
# echo -e " ${CM}${CL} \n"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}"
# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
# echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}"
# echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}"
# echo -e "${YW}Start VM when completed, or Press [ENTER] for Default: yes "
# read START_VM
# if [ -z $START_VM ]; then START_VM="yes";
# else
# START_VM="no"; fi;
# echo -en "${DGN}Starting VM when completed ${BL}$START_VM${CL}"
# echo -e " ${CM}${CL} \n"
# sleep 1
# clear
# header_info
# echo -e "${RD}Using Advanced Settings${CL}"
# echo -e "${DGN}Using Version ${BGN}$BRANCH${CL}"
# echo -e "${DGN}Using VM ID ${BGN}$VMID${CL}"
# echo -e "${DGN}Using VM Name ${BGN}$VM_NAME${CL}"
# echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}"
# echo -e "${DGN}Using ${BGN}${RAM_SIZE}${CL}${DGN}MiB${CL}"
# echo -e "${DGN}Using Bridge ${BGN}${BRG}${CL}"
# echo -e "${DGN}Using MAC Address ${BGN}$MAC${CL}"
# echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}"
# echo -e "${DGN}Start VM when completed ${BGN}$START_VM${CL}"
read -p "Are these settings correct(y/n)? " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
advanced_settings
fi
}
# read -p "Are these settings correct(y/n)? " -n 1 -r
# echo
# if [[ ! $REPLY =~ ^[Yy]$ ]]
# then
# advanced_settings
# fi
# }
function start_script() {
echo -e "${YW}Type Advanced, or Press [ENTER] for Default Settings "
read SETTINGS
if [ -z $SETTINGS ]; then default_settings;
else
advanced_settings
fi;
}
# function start_script() {
# echo -e "${YW}Type Advanced, or Press [ENTER] for Default Settings "
# read SETTINGS
# if [ -z $SETTINGS ]; then default_settings;
# else
# advanced_settings
# fi;
# }
# start_script
default_settings
@ -291,14 +273,14 @@ else
fi
# msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location."
# msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}."
msg_info "Getting URL for Home Assistant ${BRANCH} Disk Image"
# msg_info "Getting URL for Home Assistant ${BRANCH} Disk Image"
URL=https://github.com/home-assistant/operating-system/releases/download/${BRANCH}/haos_ova-${BRANCH}.qcow2.xz
sleep 2
# msg_ok "${CL}${BL}${URL}${CL}"
wget -q --show-progress $URL
# echo -en "\e[1A\e[0K"
FILE=$(basename $URL)
msg_ok "Downloaded ${CL}${BL}haos_ova-${BRANCH}.qcow2.xz${CL}"
# 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}')