diff --git a/powerwall.sh b/powerwall.sh index 59c62ff5..1ed94323 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -8,7 +8,7 @@ source /opt/idssys/defaults/default.inc source /opt/idssys/powerwall/defaults.inc source ${PW_FOLDER}/shutdown-test.sh -# TEST=true +TEST=true shopt -s lastpipe @@ -1343,7 +1343,7 @@ SHUTDOWN_SERVER(){ hostname=${PW_iDRACHOST_SHORTNAMES[${idracip}]} fi fi - + [ "${2}" == "maintenance" ] && MM=1 || MM=0 while [ $# -gt 0 ]; do case "$1" in -p|-power) POWER=${2}; MODE="power";; @@ -1376,13 +1376,13 @@ SHUTDOWN_SERVER(){ DIVIDER . yellow 75 if [ "${ESXI_HOSTS}" != "" ]; then - if [ "${2}" == "maintenance" ]; then + if [ ${MM} -eq 1 ]; then echo "($(date +'%Y-%m-%d %H:%M:%S')) - Putting ${hostname} into maintenance mode" >> ${PW_LOGFILE} else echo "($(date +'%Y-%m-%d %H:%M:%S')) - Shutting down ${hostname}" >> ${PW_LOGFILE} fi - if [ "${2}" != "maintenance" ] && ([ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAINSITE" ]); then + if [ ${MM} -eq 0 ] && ([ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAINSITE" ]); then if [ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "OFFSITE" ]; then MSG="Disabling CLS for the Offsite Cluster in vCenter" c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done @@ -1525,7 +1525,7 @@ SHUTDOWN_SERVER(){ done echo - if [ "${2}" != "maintenance" ]; then + if [ ${MM} -eq 0 ]; then for ESXIHOST in "${ESXI_HOSTS[@]}"; do MSG="Waiting for VM's, will then shutdown: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}" c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done @@ -1574,6 +1574,17 @@ SHUTDOWN_SERVER(){ echo } +VERIFY_ISCSI_VM_DOWN(){ + if [ "${ESXI_HOST}" == "10.10.2.10" ] || [ "${ESXI_HOST}" == "MAIN" ]; then + ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1 + elif [ "${ESXI_HOST}" == "10.10.2.17" ] || [ "${ESXI_HOST}" == "SYS" ]; then + ${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1 + elif [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "ALL" ]; then + ${PW_FOLDER}/esxi-scripts/iscsi-all-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1 + fi + touch ${PW_TMPFOLDER}/verify.iscsi.${ESXI_HOST}.done +} + HOSTMGMT(){ echo -e "\n${idsCL[Yellow]}Host Controls${idsCL[Default]}" DIVIDER . yellow 75 @@ -1654,7 +1665,7 @@ HOSTMGMT(){ if [ "${MODE}" == "esxi" ]; then if [ "${HOST^^}" == "ALL" ] || [ "${HOST^^}" == "MAINSITE" ] || [ "${HOST^^}" == "OFFSITE" ] || [ "${HOST^^}" == "MAIN" ] || [ "${HOST^^}" == "SYS" ]; then - if [ "${ESXI}" == "maint" ] || [ "${ESXI}" == "maintenance" ] || [ "${ESXI}" == "mm" ]; then + if [ "${ESXI,,}" == "maint" ] || [ "${ESXI,,}" == "maintenance" ] || [ "${ESXI,,}" == "mm" ]; then echo -e "${idsCL[LightGreen]}PUTTING '${ESXI_HOST}' HOSTS INTO MAINTENANCE MODE${idsCL[Default]}\n" # SHUTDOWN_SERVER ${ESXI_HOST,,} maintenance SHUTDOWN_SERVER ${ESXI_HOST,,} maintenance @@ -1665,7 +1676,7 @@ HOSTMGMT(){ fi else - if [ "${ESXI}" == "maint" ] || [ "${ESXI}" == "maintenance" ] || [ "${ESXI}" == "mm" ]; then + if [ "${ESXI,,}" == "maint" ] || [ "${ESXI,,}" == "maintenance" ] || [ "${ESXI,,}" == "mm" ]; then echo -e "${idsCL[LightGreen]}PUTTING '${ESXI_HOST}' HOST INTO MAINTENANCE MODE${idsCL[Default]}\n" # SHUTDOWN_SERVER ${HOST} maintenance SHUTDOWN_SERVER ${HOST} maintenance