Update powerwall.sh
This commit is contained in:
103
powerwall.sh
103
powerwall.sh
@@ -8,6 +8,7 @@ source /opt/idssys/defaults/default.inc
|
||||
source /opt/idssys/powerwall/defaults.inc
|
||||
source ${FOLDER}/powerwall.conf
|
||||
|
||||
TEST+true
|
||||
|
||||
shopt -s lastpipe
|
||||
|
||||
@@ -361,98 +362,116 @@ SHUTDOWN_SERVERS(){
|
||||
if [ "${1}" = "MAIN" ]; then
|
||||
touch $FOLDER/shutdown.main
|
||||
echo -en "Disabling CLS in vCenter ... "
|
||||
ssh root@${VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1
|
||||
ssh root@${VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1
|
||||
ssh root@${VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1
|
||||
[ $TEST = true ] && ssh root@${VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1
|
||||
[ $TEST = true ] && ssh root@${VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1
|
||||
[ $TEST = true ] && ssh root@${VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1
|
||||
echo "Done"
|
||||
|
||||
for ESXIHOST in "${ESXIHOSTS[@]}"; do
|
||||
echo -en "Stopping iSCSI VM's on: ${ESXIHOST} ... "
|
||||
${FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
[ $TEST = true ] && ${FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
echo "Done"
|
||||
done
|
||||
for ESXIHOST in "${ESXIHOSTS[@]}"; do
|
||||
echo -en "Verifying iSCSI VM's stopped on: ${ESXIHOST} ... "
|
||||
${FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
[ $TEST = true ] && ${FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
echo "Done"
|
||||
done
|
||||
# sleep 1m
|
||||
for ESXIHOST in "${MAINHOSTS[@]}"; do
|
||||
echo -en "Stopping Remaining VM's on: ${ESXIHOST} ... "
|
||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0' &
|
||||
${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
if [ $TEST = true ]; then
|
||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0' &
|
||||
${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
sleep 1m
|
||||
for ESXIHOST in "${MAINHOSTS[@]}"; do
|
||||
echo -en "Shutting down host: ${ESXIHOST} ..."
|
||||
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"'
|
||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||
if [ $TEST = true ]; then
|
||||
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"'
|
||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
|
||||
for ESXIHOST in "${MAINHOSTS[@]}"; do
|
||||
echo -en "Waiting for Host (${ESXIHOST}) to shutdown... "
|
||||
while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do
|
||||
sleep 1
|
||||
done
|
||||
if [ $TEST = true ]; then
|
||||
while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
|
||||
elif [ "${1}" = "SYS" ]; then
|
||||
[ ! -f $FOLDER/shutdown.main ] && [ "${2}" == "TEMP" ] && SHUTDOWN_SERVERS MAIN
|
||||
touch $FOLDER/shutdown.sys
|
||||
[ ! -f $FOLDER/shutdown.main ] && [ "${2}" == "TEMP" ] && [ $TEST != true ] && SHUTDOWN_SERVERS MAIN
|
||||
[ $TEST = true ] && touch $FOLDER/shutdown.sys
|
||||
|
||||
for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||
echo -en "Suspending DB, PiHole & vCenter VM's on: ${ESXIHOST} ... "
|
||||
${FOLDER}/esxi-scripts/sys-suspend.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
[ $TEST = true ] && ${FOLDER}/esxi-scripts/sys-suspend.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
echo "Done"
|
||||
done
|
||||
for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||
echo -en "Shutting Down VM's on: ${ESXIHOST} ... "
|
||||
if [ $TEST = true ]; then
|
||||
${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||
echo -en "Shutting Down Host: ${ESXIHOST} ... "
|
||||
if [ $TEST = true ]; then
|
||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0'
|
||||
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' &
|
||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
|
||||
for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||
echo -en "Waiting for Host (${ESXIHOST}) to shutdown ... "
|
||||
if [ $TEST = true ]; then
|
||||
while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
echo "Done"
|
||||
done
|
||||
# for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||
# echo -en "Shutting Down VM's on: ${ESXIHOST} ... "
|
||||
# ${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
# ${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||
# echo "Done"
|
||||
# done
|
||||
# for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||
# echo -en "Shutting Down Host: ${ESXIHOST} ... "
|
||||
# ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0'
|
||||
# ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' &
|
||||
# ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||
# echo "Done"
|
||||
# done
|
||||
#
|
||||
# for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||
# echo -en "Waiting for Host (${ESXIHOST}) to shutdown ... "
|
||||
# while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do
|
||||
# sleep 1
|
||||
# done
|
||||
# echo "Done"
|
||||
# done
|
||||
|
||||
fi
|
||||
}
|
||||
SHUTDOWN_SERVER(){
|
||||
echo -en "Enabling Maintenance mode and will wait for iSCSI VM's to begin migrating ... "
|
||||
${FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXI_HOST_NAMES[${1}]} & >/dev/null 2>&1
|
||||
[ $TEST = true ] && ${FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXI_HOST_NAMES[${1}]} & >/dev/null 2>&1
|
||||
sleep 45s
|
||||
echo "Done"
|
||||
|
||||
echo -en "Shutting Down VM's on: ${1} ... "
|
||||
${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${1} >/dev/null 2>&1
|
||||
${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${1} >/dev/null 2>&1
|
||||
if [ $TEST = true ]; then
|
||||
${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${1} >/dev/null 2>&1
|
||||
${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${1} >/dev/null 2>&1
|
||||
fi
|
||||
echo "Done"
|
||||
|
||||
echo -en "Shutting Down Host: ${1} ... "
|
||||
ssh root@${1} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' & >/dev/null 2>&1
|
||||
ssh root@${1} 'esxcli system maintenanceMode set -e false -t 0' >/dev/null 2>&1
|
||||
if [ $TEST = true ]; then
|
||||
ssh root@${1} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' & >/dev/null 2>&1
|
||||
ssh root@${1} 'esxcli system maintenanceMode set -e false -t 0' >/dev/null 2>&1
|
||||
fi
|
||||
echo "Done"
|
||||
|
||||
echo -en "Waiting for Host (${1}) to shutdown ... "
|
||||
if [ $TEST = true ]; then
|
||||
while ping -qw 10 -c3 "${1}">/dev/null 2>&1; do
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
echo "Done"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user