From a7705b5025654ec9adad9aeb29b8c1b188614985 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Fri, 3 Nov 2023 23:08:51 -0500 Subject: [PATCH] update --- esxi-scripts/esxi-shutdown.sh | 6 ++---- powerwall.sh | 25 +++++++++++++++---------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/esxi-scripts/esxi-shutdown.sh b/esxi-scripts/esxi-shutdown.sh index ecc3766f..dfb49bd7 100755 --- a/esxi-scripts/esxi-shutdown.sh +++ b/esxi-scripts/esxi-shutdown.sh @@ -19,8 +19,7 @@ WAIT_TIME=10 # ------ DON'T CHANGE BELOW THIS LINE ------ -validate_shutdown() -{ +validate_shutdown(){ vim-cmd vmsvc/power.getstate $SRVID | grep -i "off\|Suspended" > /dev/null 2<&1 STATUS=$? @@ -49,8 +48,7 @@ if [ $TEST -eq 0 ]; then fi # read each line as a server ID and suspend/shutdown -for SRVID in $SERVERIDS -do +for SRVID in $SERVERIDS; do TRY=0 vim-cmd vmsvc/power.getstate $SRVID | grep -i "off\|Suspended" > /dev/null 2<&1 diff --git a/powerwall.sh b/powerwall.sh index 54113c76..d70cc43b 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -798,7 +798,7 @@ Shutting down all servers" 1 echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER NOMINAL AGAIN" >> ${PW_LOGFILE} SENDNOTICE "OFFSITE POWER NOMINAL AGAIN" "(${datetime}) Normal voltage detected VOLTAGE: ${OFFSITE_VOLTIN}'V" - rm -f ${PW_TMPFOLDER}/power.offsite.ac.low + rm -f ${PW_TMPFOLDER}/power.offsite.* else errtime=$(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) [ ${errtime} -le 300 ] && echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - Offsite Normal Voltage" >> ${PW_LOGPOWER} @@ -817,7 +817,8 @@ VOLTAGE: ${OFFSITE_VOLTIN}'V" 1 if [ ${OFFSITE_BATT} -le 70 ] && [ ! -f ${PW_TMPFOLDER}/power.offsite.off ]; then for host in "${PW_OFFSITEHOSTS[@]}"; do SENDNOTICE "OFFSITE SHUTDOWN - POWER OFF/LOW!!" "(${datetime}) Shutting down '${PW_ESXI_HOST_NAMES[${host}]}'" 1 - # SHUTDOWN_SERVER ${host} & + SHUTDOWN_SERVER ${host} & + touch ${PW_TMPFOLDER}/power.offsite.off done fi fi @@ -1246,14 +1247,18 @@ SHUTDOWN_SERVER(){ [ "${TEST}" != "true" ] && run=$(ssh root@${hostip} 'esxcli system maintenanceMode set -e false -t 0' >/dev/null 2>&1) echo -e "${idsCL[Green]}Done\n" - echo -e "${idsCL[LightCyan]}The host ${host} (${hostip}) will be shutdown momentarily ... \n" - # echo -en "${idsCL[LightCyan]}Waiting for Host ${host} (${hostip}) to shutdown ... " - # if [ "${TEST}" != "true" ]; then - # while ping -qw 10 -c3 "${hostip}">/dev/null 2>&1; do - # sleep 1 - # done - # fi - # echo -e "${idsCL[Green]}Done\n" + if [ "${hostip}" == "10.10.2.10" ]; then + echo -en "${idsCL[LightCyan]}Waiting for Host ${host} (${hostip}) to shutdown ... " + [ "${TEST}" != "true" ] && while ping -qw 10 -c3 "${hostip}">/dev/null 2>&1; do sleep 1; done + echo -e "${idsCL[Green]}Done\n" + + echo -en "${idsCL[LightCyan]}Powering off SAS Enclosure ... " + [ "${TEST}" != "true" ] && [ "$(CHECK_HOST 10.10.2.10)" != "false" ] && snmpset -v 1 -c private 10.10.1.210 .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} (${hostip}) will be shutdown momentarily ... \n" + fi else echo -e "${idsCL[LightRed]}Host cannot be found for '${1}'${idsCL[Default]}"