mirror of
https://github.com/flynx/proxmox-utils.git
synced 2025-10-28 10:40:07 +00:00
87 lines
1.8 KiB
Bash
Executable File
87 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/bash
|
|
#----------------------------------------------------------------------
|
|
|
|
cd $(dirname $0)
|
|
PATH=$PATH:$(dirname "$(pwd)")
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
source ../.pct-helpers
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
CT_PATH=/etc/pve/lxc/
|
|
|
|
readConfig
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
makeReserveCT(){
|
|
local ID=$1
|
|
local RESERVE_ID=$2
|
|
local TEMPLATE_ID=$3
|
|
local HOSTNAME=$(ct2hostname $ID)
|
|
|
|
@ pct shutdown $ID
|
|
|
|
@ pct destroy $RESERVE_ID --purge
|
|
@ pct clone $ID $RESERVE_ID --hostname ${HOSTNAME}
|
|
|
|
@ pct start $ID
|
|
|
|
if [ $TEMPLATE_ID ] ; then
|
|
@ pct destroy $TEMPLATE_ID --purge
|
|
@ pct clone $RESERVE_ID $TEMPLATE_ID --hostname ${HOSTNAME}
|
|
@ pct template $TEMPLATE_ID
|
|
fi
|
|
|
|
# XXX sould this get into the template...
|
|
@ pct set $RESERVE_ID -onboot 0
|
|
}
|
|
|
|
startReserveCT(){
|
|
local ID=$1
|
|
local RESERVE_ID=$2
|
|
local TEMPLATE_ID=$3
|
|
local HOSTNAME=$(ct2hostname $ID)
|
|
|
|
@ pct shutdown $ID
|
|
@ pct set $ID -onboot 0
|
|
|
|
# XXX check if a reserve is already up then recreate it from template...
|
|
|
|
@ pct start $RESERVE_ID
|
|
@ pct set $RESERVE_ID -onboot 1
|
|
}
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
xread "Gate ID:" GATE_ID
|
|
xread "Gate reserve ID:" RESERVE_GATE_ID
|
|
xread "Gate template ID:" TEMPLATE_GATE_ID
|
|
|
|
xread "NS ID:" NS_ID
|
|
xread "NS reserve ID:" RESERVE_NS_ID
|
|
xread "NS template ID:" TEMPLATE_NS_ID
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
makeReserveCT $GATE_ID $RESERVE_GATE_ID $TEMPLATE_GATE_ID
|
|
|
|
makeReserveCT $NS_ID $RESERVE_NS_ID $TEMPLATE_NS_ID
|
|
|
|
saveLastRunConfig
|
|
|
|
showNotes
|
|
echo "# Done."
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
# vim:set ts=4 sw=4 :
|