Delete import
This commit is contained in:
parent
85ce5b3078
commit
7334a9c888
111
import
111
import
|
@ -1,111 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
XOCE_URL=https://srv-file19.gofile.io/download/TMpkqC/XOCE%20-%2020.04.xva
|
|
||||||
|
|
||||||
# Welcome message
|
|
||||||
printf "\n\033[1mWelcome to the XOCE auto-deploy script!\033[0m\n\n"
|
|
||||||
|
|
||||||
if ! which xe 2> /dev/null >&2
|
|
||||||
then
|
|
||||||
echo
|
|
||||||
echo 'Sorry, the xe command is required for this to work.'
|
|
||||||
echo
|
|
||||||
echo 'Please, make sure you are on a XenServer/XCP-ng host.'
|
|
||||||
echo
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Basic check: are we on a XS host?
|
|
||||||
if grep -Fxq "XenServer" /etc/issue
|
|
||||||
then
|
|
||||||
printf "\nSorry, it seems you are not on a XenServer/XCP-ng host.\n\n"
|
|
||||||
printf "\n\033[1mThis script is meant to be deployed on XenServer/XCP-ng only.\033[0m\n\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Initial choice on network settings: fixed IP or DHCP? (default)
|
|
||||||
|
|
||||||
printf "Network settings:\n"
|
|
||||||
read -p "IP address? [dhcp] " ip
|
|
||||||
ip=${ip:-dhcp}
|
|
||||||
if [ "$ip" != 'dhcp' ]
|
|
||||||
then
|
|
||||||
read -p "Netmask? [255.255.255.0] " netmask
|
|
||||||
netmask=${netmask:-255.255.255.0}
|
|
||||||
read -p "Gateway? " gateway
|
|
||||||
read -p "dns? [8.8.8.8] " dns
|
|
||||||
dns=${dns:-8.8.8.8}
|
|
||||||
else
|
|
||||||
printf "\nYour XOCE will be started using DHCP\n\n"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Downloading and importing the VM
|
|
||||||
|
|
||||||
printf "Importing XOCE VM…\n"
|
|
||||||
uuid=$(xe vm-import url="$XOCE_URL" 2> /dev/null)
|
|
||||||
|
|
||||||
# If it fails (it means XS < 7.0)
|
|
||||||
# We'll use the curl
|
|
||||||
import=$?
|
|
||||||
if [ $import -ne 0 ]
|
|
||||||
then
|
|
||||||
uuid=$(curl "$XOCE_URL" | xe vm-import filename=/dev/stdin 2>&1)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If it fails again (for any reason), we stop the script
|
|
||||||
import=$?
|
|
||||||
if [ $import -ne 0 ]
|
|
||||||
then
|
|
||||||
printf "\n\nAuto deploy failed. Please contact us at https://github.com/Jarli01/xenorchestra_installer for assistance.\nError:\n\n %s\n\n" "$uuid"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If static IP selected, fill the xenstore
|
|
||||||
|
|
||||||
if [ "$ip" != 'dhcp' ]
|
|
||||||
then
|
|
||||||
xe vm-param-set uuid=$uuid xenstore-data:vm-data/ip=$ip xenstore-data:vm-data/netmask=$netmask xenstore-data:vm-data/gateway=$gateway xenstore-data:vm-data/dns=$dns
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Starting the VM
|
|
||||||
|
|
||||||
printf "Booting XOCE VM…\n"
|
|
||||||
xe vm-start uuid=$uuid
|
|
||||||
sleep 2
|
|
||||||
|
|
||||||
# Waiting for the VM IP from Xen tools for 60 secs
|
|
||||||
|
|
||||||
printf "Waiting for your XOCE to be ready…\n"
|
|
||||||
url=$(xe vm-param-get uuid=$uuid param-name=networks param-key=0/ip 2> /dev/null)
|
|
||||||
wait=0
|
|
||||||
limit=60
|
|
||||||
while [ -z "$url" -a "$wait" -lt "$limit" ]
|
|
||||||
do
|
|
||||||
let wait=wait+1
|
|
||||||
sleep 1
|
|
||||||
url=$(xe vm-param-get uuid=$uuid param-name=networks param-key=0/ip 2> /dev/null)
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
# End of the process. Display the XOCE URL if possible
|
|
||||||
|
|
||||||
# If we use a fixed IP but on a DHCP enabled network
|
|
||||||
# We don't want to get the first IP displayed by the tools
|
|
||||||
# But the fixed one
|
|
||||||
|
|
||||||
if [ "$ip" != 'dhcp' ]
|
|
||||||
then
|
|
||||||
printf "\n\033[1mYour XOCE is ready on https://%s/\033[0m\n" "$ip"
|
|
||||||
# clean the xenstore data
|
|
||||||
xe vm-param-remove param-name=xenstore-data param-key=vm-data/dns param-key=vm-data/ip param-key=vm-data/netmask param-key=vm-data/gateway uuid=$uuid
|
|
||||||
|
|
||||||
# If we can't fetch the IP from tools
|
|
||||||
|
|
||||||
elif [ -z "$url" ]
|
|
||||||
then
|
|
||||||
printf "\n\033[1mYour XOCE booted but we couldn't fetch its IP address\033[0m\n"
|
|
||||||
else
|
|
||||||
printf "\n\033[1mYour XOCE is ready on https://%s/\033[0m\n" "$url"
|
|
||||||
fi
|
|
||||||
printf "\nDefault UI credentials: admin@admin.net/admin\nDefault console credentials: XOCE/XOCE\n"
|
|
||||||
printf "\nVM UUID: %s\n\n" "$uuid"
|
|
Loading…
Reference in New Issue