diff --git a/defaults.inc b/defaults.inc index d59d90a9..8fa8e15c 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,5 +1,5 @@ -VERS='2.5.157-01252024' +VERS='2.5.158-01252024' noheader=' update service dailytemp confsync -r -report ' diff --git a/inc/power.inc.sh b/inc/power.inc.sh index 7793386b..eea2245c 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -227,20 +227,6 @@ CHECKPOWER(){ OFFSITE_BATT_RUNTIME=`echo "scale=2; ${OFFSITE_BATT_RUNTIME}/60" | bc` OFFSITE_BATT_CAP=$(echo "${upsinfo}" | grep 'battery.charge:' | sed 's/.*: //') - # vHOSTFAN=$(ssh -q -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${PW_RACADM_ACCESS} racadm -r 10.2.1.21 -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Fan3" 2>&1) - # FanSpeed=$(echo ${vHOSTFAN} | awk '/ / {print $8}' | sed -e 's/%//g') - - # OFFSITE_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.3.2.1.0 | sed 's/.*: //') - # OFFSITE_VOLTIN=`echo "scale=2; ${OFFSITE_VOLTIN}/10" | bc` - # OFFSITE_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.1.0 | sed 's/.*: //') - # OFFSITE_VOLTOUT=`echo "scale=2; ${OFFSITE_VOLTOUT}/10" | bc` - # OFFSITE_LOAD=$(snmpwalk -t 1 -r 0 -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.3.0 | sed 's/.*: //') - # OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | bc` - # OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*900" | bc` - # OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc` - # OFFSITE_BATT_RUNTIME=$(snmpwalk -t 1 -r 0 -v 1 -c public 10.2.1.100 iso.3.6.1.2.1.33.1.2.3.0 | sed 's/.*: //') - # OFFSITE_BATT_CAP=$(snmpwalk -t 1 -r 0 -v 1 -c public 10.2.1.100 iso.3.6.1.2.1.33.1.2.4.0 | sed 's/.*: //') - fi [ ${REPORT} -eq 0 ] && echo -en "\r\033[K" @@ -265,8 +251,6 @@ CHECKPOWER(){ echo -en "${idsCL[White]}Total Wattage ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${OFFSITE_WATTS} 0`'watts ${idsCL[Default]}~ est" [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${OFFSITE_WATT_avg} 0`'watts" || echo -e "${idsCL[Default]}\n" - # echo -e "${idsCL[LightCyan]}Current Fan Speed ${idsCL[Default]}: ${idsCL[Green]}${FanSpeed}'%${idsCL[Default]}" - # echo fi if [ "${PTYPE}" != "power" ]; then @@ -562,58 +546,6 @@ Shutting down main servers" 1 sleep 20s fi - ######offsite check - -# if [ "$(CHECK_HOST 10.2.1.1)" != "false" ]; then -# upsinfo=$(ssh -q -o ConnectTimeout=1 -o ConnectionAttempts=1 admin@10.2.1.1 'upsc CP1500PFCLCD') -# OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //') -# OFFSITE_BATT_RUNTIME=$(echo "${upsinfo}" | grep 'battery.runtime:' | sed 's/.*: //') -# OFFSITE_BATT_RUNTIME=`echo "scale=2; ${OFFSITE_BATT_RUNTIME}/60" | bc` -# OFFSITE_BATT_CAP=$(echo "${upsinfo}" | grep 'battery.charge:' | sed 's/.*: //') -# -# if (( $(bc <<<"${OFFSITE_VOLTIN} >= ${min_acvolt}") )); then -# if [ -f ${PW_TMPFOLDER}/power.offsite.ac.low ]; then -# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - Offsite Back to Normal Voltage" >> ${PW_LOGPOWER} -# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - OFFSITE POWER NOMINAL AGAIN" >> ${PW_LOGFILE} -# SENDNOTICE "OFFSITE POWER NOMINAL AGAIN" "Normal voltage detected -# VOLTAGE: ${OFFSITE_VOLTIN}'volts" -# rm -f ${PW_TMPFOLDER}/power.offsite.ac.* -# fi -# if [ -f ${PW_TMPFOLDER}/shutdown.OFFSITE ]; then -# if [ ! -f ${PW_TMPFOLDER}/power.offsite.restored ]; then -# touch ${PW_TMPFOLDER}/power.offsite.restored -# -# elif [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.restored)) -ge 60 ]; then -# SENDNOTICE "OFFSITE HOST POWER" "Powering offsite host(s) back on after power was restored" -# for offsite_host in "${PW_OFFSITEHOSTS[@]}"; do -# HOSTPOWER ${offsite_host} on >/dev/null 2>&1 -# done -# rm -f ${PW_TMPFOLDER}/power.offsite.* -# fi -# -# else -# [ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -le 300 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - Offsite Normal Voltage" >> ${PW_LOGPOWER} -# fi -# else -# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGPOWER} -# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGFILE} -# -# if [ ! -f ${PW_TMPFOLDER}/power.offsite.ac.low ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.ac.low)) -ge 240 ]; then -# SENDNOTICE "OFFSITE POWER ALERT - POWER OFF/LOW!!" "Power off or low voltage detected -# BATT CAPACITY: ${OFFSITE_BATT_CAP}'% -# BATT RUNTIME: ${OFFSITE_BATT_RUNTIME}'Mins" 1 -# touch ${PW_TMPFOLDER}/power.offsite.ac.low -# fi -# -# if (( $(bc <<<"${OFFSITE_BATT_CAP} <= 95") )) && [ ! -f ${PW_TMPFOLDER}/shutdown.OFFSITE ]; then -# SENDNOTICE "OFFSITE HOST POWER" "Powering DOWN offsite host(s) due to power outage" 1 -# SHUTDOWN_OFFSITE & -# touch ${PW_TMPFOLDER}/shutdown.OFFSITE -# fi -# fi -# -# -# fi end=`date +%s`; runtime=$((end-start)) # echo -e "runtime: ${runtime}s"; [ ${runtime} -lt ${runEvery} ] && echo "Sleeping for $(expr ${runEvery} - ${runtime})s" [ ${runtime} -lt ${runEvery} ] && sleep $(expr ${runEvery} - ${runtime})s ###|| echo "Not sleeping, ran for ${runtime}s previsoulsy" @@ -705,16 +637,6 @@ POWERLOGGER_SERVICE(){ [[ "${PW_MAIN_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]] && rm -f ${PW_TMPFOLDER}/shutdown.MAIN [[ "${PW_SYS_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]] && rm -f ${PW_TMPFOLDER}/shutdown.SYS - # for s in {1..5}; do - # if [[ "$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1.${s} | sed 's/.*: //')" = *"System Board"* ]]; then - # HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //') - # if [[ "${HOST_WATTS}" != *"Timeout"* ]] && [ "${HOST_WATTS}" != "0" ]; then - # QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`watt\`) VALUES ('${PW_POWERSENSOR_ID[${SENSOR}]}','${LogDataTime}','${HOST_WATTS}')" - # ${mysql_conn} -e "USE servermonitor; ${QRY}" - # fi - # break - # fi - # done PS1='0.0'; PS2='0.0'; HOST_WATTS=0 for s in {1..5}; do @@ -766,37 +688,11 @@ HOSTPOWER(){ idracip='' fi - # if [ "${PW_iDRACHOST_SHORTNAMES[${1}]}" != "" ]; then - # tmp=${PW_iDRACHOST_SHORTNAMES[${1}]} - # ESXI_HOST=${PW_HOST_ADDRESSES[${tmp}]} - # elif [ "${PW_ESXI_HOST_NAMES[${1}]}" != "" ]; then - # ESXI_HOST=${1} - # elif [ "${PW_HOST_ADDRESSES[iDS-vMS-Host${1}]}" != "" ]; then - # ESXI_HOST=${PW_HOST_ADDRESSES[iDS-vMS-Host${1}]} - # elif ([ "${1::1}" == "o" ] || [ "${1::1}" == "O" ]) && [ "${PW_HOST_ADDRESSES[OFF-vMS-Host${1: -1}]}" != "" ]; then - # ESXI_HOST=${PW_HOST_ADDRESSES[OFF-vMS-Host${1: -1}]} - # elif [ "${PW_HOST_ADDRESSES[${1}]}" != "" ]; then - # ESXI_HOST=${PW_HOST_ADDRESSES[${1}]} - # elif [ "${1^^}" == "ALL" ] || [ "${1^^}" == "MAINSITE" ] || [ "${1^^}" == "OFFSITE" ] || [ "${1^^}" == "MAIN" ] || [ "${1^^}" == "SYS" ]; then - # ESXI_HOST=${HOST^^} - # MN=1 - # else - # ESXI_HOST='' - # fi - # [ "${ESXI_HOST}" != "" ] && idracip=${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${ESXI_HOST}]}]} || idracip='' echo -e "\n${idsCL[Yellow]}POWERING ${2^^} '${PW_iDRACHOST_SHORTNAMES[${idracip}]}'" DIVIDER . yellow 75 if [ "${idracip}" != "" ]; then - # host=${PW_iDRACHOST_SHORTNAMES[${idracip}]} - # 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 - ${#PW_HOST_ADDRESSES[${host}]} - 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 IP: ${idsCL[Green]}${PW_HOST_ADDRESSES[${host}]}${spcB}" - # echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${idracip}${idsCL[Default]}" - # DIVIDER . yellow 75 - # echo if [ "${2^^}" == "ON" ] || [ "${2^^}" == "OFF" ] || [ "${2^^}" == "STATUS" ]; then if [ "${idracip}" == "10.10.2.20" ] && [ "${2^^}" == "ON" ]; then diff --git a/powerwall.sh b/powerwall.sh index 356b1e5f..a6e433ac 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -11,7 +11,7 @@ source /opt/idssys/powerwall/inc/power.inc.sh source /opt/idssys/powerwall/inc/temp.inc.sh -TEST=true +# TEST=true shopt -s lastpipe @@ -340,10 +340,9 @@ SHUTDOWN_SERVER(){ fi done echo - if [ ${MM} -eq 0 ] && ([ "${ESXI_HOST}" == "ALL" ] || [[ "${PW_OFFSITE_HOSTS}" = *"${ESXI_HOST}"* ]] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "10.2.1.11" ] || ([ "${ESXI_HOST}" == "SYS" ] && [ -f ${PW_TMPFOLDER}/shutdown.MAIN ])); then + if [ ${MM} -eq 0 ] && ([ "${ESXI_HOST}" == "ALL" ] || [[ "${PW_OFFSITE_HOSTS}" = *"${ESXI_HOST}"* ]] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [[ "${PW_OFFSITE_HOSTS}" = *"${ESXI_HOST}"* ]] || ([ "${ESXI_HOST}" == "SYS" ] && [ -f ${PW_TMPFOLDER}/shutdown.MAIN ])); then tmp=tmp - # elif [ "${ESXI_HOST}" != "OFFSITE" ] && [ "${ESXI_HOST}" != "ALL" ] && [ "${ESXI_HOST}" != "MAINSITE" ]; then else MSG="Starting iSCSI migrations" c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done @@ -627,24 +626,12 @@ HOSTMGMT(){ var=PW_${ESXI_HOST}HOSTS[@]; v=1 for vhost in "${!var}"; do - # if [ "${POWER^^}" == "ON" ] && [ "${vhost}" == "${PW_MAIN_ISCSI}" ] && ([ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "MAIN" ]); then - # tmp='' - # else - # if [ "$(ipmitool -I lanplus -H ${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${vhost}]}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power status | grep Power is ${POWER,,})" == "" ]; then - HOSTPOWER ${vhost} ${POWER} - sleep 3s - # else - # echo -e "\n${idsCL[LightCyan]}Host is already Powered ${POWER^^}${idsCL[Default]}" - # fi - # fi - + HOSTPOWER ${vhost} ${POWER} + sleep 3s done + else - # if [ "$(ipmitool -I lanplus -H ${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${ESXI_HOST}]}]} -U ${PW_ESXI_USER} -P '${PW_ESXI_PASS}' chassis power status | grep 'Power is ${POWER,,}')" == "" ]; then - HOSTPOWER ${ESXI_HOST} ${POWER} - # else - # echo -e "${idsCL[LightCyan]}Host is already Powered ${POWER^^}${idsCL[Default]}\n" - # fi + HOSTPOWER ${ESXI_HOST} ${POWER} fi fi echo