Update powerwall.sh
This commit is contained in:
72
powerwall.sh
72
powerwall.sh
@@ -1160,67 +1160,89 @@ MAINT_MODE_VERIFY_SHUTDOWN(){
|
|||||||
done
|
done
|
||||||
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"'
|
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'
|
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||||
|
|
||||||
|
if [ "${ESXIHOST}" == "10.10.2.10" ]; then
|
||||||
|
while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do sleep 1; done
|
||||||
|
"$(CHECK_HOST ${ESXIHOST})" != "false" ] && snmpset -v 1 -c private ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.14 i 2
|
||||||
|
echo -e "${idsCL[Green]}Done\n"
|
||||||
|
|
||||||
|
else
|
||||||
|
echo -e "${idsCL[LightCyan]}The host ${host} (${ESXIHOST}) will be shutdown momentarily ... \n"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
SHUTDOWN_SERVER(){
|
SHUTDOWN_SERVER(){
|
||||||
# TEST=true
|
# TEST=true
|
||||||
if [ "${PW_iDRACHOST_SHORTNAMES[${1}]}" != "" ]; then
|
if [ "${PW_iDRACHOST_SHORTNAMES[${1}]}" != "" ]; then
|
||||||
tmp=${PW_iDRACHOST_SHORTNAMES[${1}]}
|
tmp=${PW_iDRACHOST_SHORTNAMES[${1}]}
|
||||||
hostip=${PW_HOST_ADDRESSES[${tmp}]}
|
ESXIHOST=${PW_HOST_ADDRESSES[${tmp}]}
|
||||||
elif [ "${PW_ESXI_HOST_NAMES[${1}]}" != "" ]; then
|
elif [ "${PW_ESXI_HOST_NAMES[${1}]}" != "" ]; then
|
||||||
hostip=${1}
|
ESXIHOST=${1}
|
||||||
elif [ "${PW_HOST_IDRACS[iDS-vMS-Host${1}]}" != "" ]; then
|
elif [ "${PW_HOST_IDRACS[iDS-vMS-Host${1}]}" != "" ]; then
|
||||||
hostip=${PW_HOST_ADDRESSES[iDS-vMS-Host${1}]}
|
ESXIHOST=${PW_HOST_ADDRESSES[iDS-vMS-Host${1}]}
|
||||||
elif [ "${PW_HOST_IDRACS[${1}]}" != "" ]; then
|
elif [ "${PW_HOST_IDRACS[${1}]}" != "" ]; then
|
||||||
tmp=${PW_HOST_IDRACS[${1}]}
|
tmp=${PW_HOST_IDRACS[${1}]}
|
||||||
hostip=${PW_HOST_ADDRESSES[${tmp}]}
|
ESXIHOST=${PW_HOST_ADDRESSES[${tmp}]}
|
||||||
else
|
else
|
||||||
hostip=''
|
ESXIHOST=''
|
||||||
fi
|
fi
|
||||||
echo -e "\n${idsCL[Yellow]}ESXi Host Powerdown"
|
echo -e "\n${idsCL[Yellow]}ESXi Host Powerdown"
|
||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
|
|
||||||
|
|
||||||
if [ "${hostip}" != "" ]; then
|
if [ "${ESXIHOST}" != "" ]; then
|
||||||
host=${PW_ESXI_HOST_NAMES[${hostip}]}
|
host=${PW_ESXI_HOST_NAMES[${ESXIHOST}]}
|
||||||
c=0; spcA=''; spc1=`expr 21 - ${#host} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done
|
c=0; spcA=''; spc1=`expr 21 - ${#host} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done
|
||||||
c=0; spcB=''; spc1=`expr 18 - ${#hostip} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done
|
c=0; spcB=''; spc1=`expr 18 - ${#ESXIHOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done
|
||||||
echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${host}${spcA}"
|
echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${host}${spcA}"
|
||||||
echo -en "${idsCL[LightCyan]}Host IP: ${idsCL[Green]}${hostip}${spcB}"
|
echo -en "${idsCL[LightCyan]}Host IP: ${idsCL[Green]}${ESXIHOST}${spcB}"
|
||||||
echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${PW_HOST_IDRACS[${host}]}${idsCL[Default]}"
|
echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${PW_HOST_IDRACS[${host}]}${idsCL[Default]}"
|
||||||
DIVIDER . yellow 75
|
DIVIDER . yellow 75
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "(${datetime}) - Shutting down ${host} (${hostip})" >> ${PW_LOGFILE}
|
echo "(${datetime}) - Shutting down ${host} (${ESXIHOST})" >> ${PW_LOGFILE}
|
||||||
|
|
||||||
|
if [ "${ESXIHOST}" == "10.10.2.10" ]; then
|
||||||
|
echo -e "${idsCL[LightCyan]}Since this is the iSCSI-PRI host server, all iSCSI-PRI VM's are being shutdown ... "
|
||||||
|
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||||
|
echo -en "Stopping iSCSI-PRI VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
|
||||||
|
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
|
||||||
|
elif [ "${ESXIHOST}" == "10.10.2.17" ]; then
|
||||||
|
echo -e "${idsCL[LightCyan]}Since this is the iSCSI-SYS host server, all iSCSI-SYS VM's are being shutdown ... "
|
||||||
|
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||||
|
echo -en "Stopping iSCSI-SYS VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
|
||||||
|
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
echo -en "${idsCL[LightCyan]}Enabling maintenance mode & starting iSCSI VM migrations ... "
|
echo -en "${idsCL[LightCyan]}Enabling maintenance mode & starting iSCSI VM migrations ... "
|
||||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${PW_VCENTER_HOST_NAMES[${hostip}]} >/dev/null 2>&1 &
|
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${PW_VCENTER_HOST_NAMES[${ESXIHOST}]} >/dev/null 2>&1 &
|
||||||
[ "${TEST}" != "true" ] && sleep 25s
|
[ "${TEST}" != "true" ] && sleep 25s
|
||||||
echo -e "${idsCL[Green]}Done\n"
|
echo -e "${idsCL[Green]}Done\n"
|
||||||
|
|
||||||
echo -en "${idsCL[LightCyan]}Shutting down remaining VM's ... "
|
echo -en "${idsCL[LightCyan]}Shutting down remaining VM's ... "
|
||||||
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${hostip} >/dev/null 2>&1)
|
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
echo -e "${idsCL[Green]}Done\n"
|
echo -e "${idsCL[Green]}Done\n"
|
||||||
|
|
||||||
# echo -en "${idsCL[LightCyan]}Verifying no VMs remain on the host ... "
|
echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}' ... "
|
||||||
# [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown-verify.ps1 ${hostip} >/dev/null 2>&1)
|
[ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
||||||
# echo -e "${idsCL[Green]}Done\n"
|
|
||||||
|
|
||||||
echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[{hostip}]}' ... "
|
|
||||||
[ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN {hostip} &
|
|
||||||
echo -e "${idsCL[Green]}Continuing in background\n"
|
echo -e "${idsCL[Green]}Continuing in background\n"
|
||||||
|
|
||||||
if [ "${hostip}" == "10.10.2.10" ]; then
|
if [ "${ESXIHOST}" == "10.10.2.10" ]; then
|
||||||
echo -en "${idsCL[LightCyan]}Waiting for Host ${host} (${hostip}) to shutdown ... "
|
echo -en "${idsCL[LightCyan]}Waiting for Host ${host} (${ESXIHOST}) to shutdown ... "
|
||||||
[ "${TEST}" != "true" ] && while ping -qw 10 -c3 "${hostip}">/dev/null 2>&1; do sleep 1; done
|
[ "${TEST}" != "true" ] && while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do sleep 1; done
|
||||||
echo -e "${idsCL[Green]}Done\n"
|
echo -e "${idsCL[Green]}Done\n"
|
||||||
|
|
||||||
echo -en "${idsCL[LightCyan]}Powering off SAS Enclosure ... "
|
echo -en "${idsCL[LightCyan]}Powering off SAS Enclosure ... "
|
||||||
[ "${TEST}" != "true" ] && [ "$(CHECK_HOST 10.10.2.10)" != "false" ] && snmpset -v 1 -c private ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.14 i 2
|
[ "${TEST}" != "true" ] && [ "$(CHECK_HOST 10.10.2.10)" != "false" ] && run=$(snmpset -v 1 -c private ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.14 i 2)
|
||||||
echo -e "${idsCL[Green]}Done\n"
|
echo -e "${idsCL[Green]}Done\n"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[LightCyan]}The host ${host} (${hostip}) will be shutdown momentarily ... \n"
|
echo -e "${idsCL[LightCyan]}The host ${host} (${ESXIHOST}) will be shutdown momentarily ... \n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
@@ -1485,7 +1507,7 @@ fi
|
|||||||
|
|
||||||
logrotate) LOGROTATE;;
|
logrotate) LOGROTATE;;
|
||||||
update)
|
update)
|
||||||
echo -en "${idsCL[LightCyan]}Will reboot monitoring services in the background to apply updates ..."
|
echo -en "${idsCL[LightCyan]}Will reboot monitoring services in the background to apply updates ... "
|
||||||
RESTARTALL_SERVICES >/dev/null 2>&1 &
|
RESTARTALL_SERVICES >/dev/null 2>&1 &
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user