From 63293173254c2573112840b743d6959d90aaddfd Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Tue, 6 Feb 2024 08:17:28 -0600 Subject: [PATCH] update --- defaults.inc | 2 +- inc/power.inc.sh | 58 +++++++++++++++++++++--------------------- offsite-power-check.sh | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/defaults.inc b/defaults.inc index 1117e5c1..00222471 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.5.255-02052024' +VERS='2.5.257-02062024' noheader=' update service dailytemp confsync -r -report ' diff --git a/inc/power.inc.sh b/inc/power.inc.sh index a9b71a6c..56947528 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -1,7 +1,7 @@ AVERAGEPOWER(){ sensorid=${1} daysback=${2} - if [ "${3}" == "both" ]; then + if [ "${3}" = "both" ]; then logsfound_amp=0; logsfound_watt=0; total_amp=0 @@ -60,10 +60,10 @@ CHECKPOWER(){ esac shift 1 done - [ "${avgdays}" == "0" ] && unset avgdays + [ "${avgdays}" = "0" ] && unset avgdays [ "${avgdays}" != "" ] && avgdayshdr="${avgdays}-Day-Avg" || avgdayshdr="" - if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "mainsite" ]) && [ "${PTYPE}" != "esxi" ]; then + if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "mainsite" ]) && [ "${PTYPE}" != "esxi" ]; then [ ${REPORT} -eq 0 ] && echo [ ${REPORT} -eq 0 ] && DIVIDER . yellow ${PRI_WIDTH} echo -e "${idsCL[Yellow]}Mainsite Power Information ${idsCL[LightYellow]}${avgdayshdr}" @@ -76,9 +76,9 @@ CHECKPOWER(){ [ "${TEST_INPUTACV}" != "" ] && INPUTV=${TEST_INPUTACV} || INPUTV=$(echo ${INVSTATSINFO} | jq '.inputs .inV') INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'` INV_ALARM=`echo ${INVSTATSINFO} | jq '.errors .Alms'` - [ "${INV_ALARM}" == "0" ] && INV_ALARM_disp="${idsCL[Green]}No Alarms (${INV_ALARM})" || INV_ALARM_disp="${idsCL[LightRed]}${PW_INVERTER_ALARMS[${INV_ALARM}]}" + [ "${INV_ALARM}" = "0" ] && INV_ALARM_disp="${idsCL[Green]}No Alarms (${INV_ALARM})" || INV_ALARM_disp="${idsCL[LightRed]}${PW_INVERTER_ALARMS[${INV_ALARM}]}" INV_ERROR=`echo ${INVSTATSINFO} | jq '.errors .Err'` - [ "${INV_ERROR}" == "0" ] && INV_ERROR_disp="${idsCL[Green]}No Errors (${INV_ERROR})" || INV_ERROR_disp="${idsCL[LightRed]}${PW_INVERTER_ERRORS[${INV_ERROR}]}" + [ "${INV_ERROR}" = "0" ] && INV_ERROR_disp="${idsCL[Green]}No Errors (${INV_ERROR})" || INV_ERROR_disp="${idsCL[LightRed]}${PW_INVERTER_ERRORS[${INV_ERROR}]}" INV_STATE=`echo ${INVSTATSINFO} | jq '.stats .invSTATES'` [ "${INV_STATE}" != "0" ] && INV_STATE_disp="${idsCL[Green]}${PW_INVERTER_STATES[${INV_STATE}]}" || INV_STATE_disp="${idsCL[LightRed]}${PW_INVERTER_STATES[${INV_STATE}]}" INV_MODE=`echo ${INVSTATSINFO} | jq '.stats .power'` @@ -97,7 +97,7 @@ CHECKPOWER(){ else BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Float Charging" fi - elif [ "${BATTA}" == "-0.1" ] || [ "${BATTA}" == "-0.2" ] || [ "${BATTA}" == "-0.3" ]; then + elif [ "${BATTA}" = "-0.1" ] || [ "${BATTA}" = "-0.2" ] || [ "${BATTA}" = "-0.3" ]; then BATTA_disp="${idsCL[LightCyan]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Standby" else BATTA_disp="${idsCL[LightRed]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Discharging" @@ -206,7 +206,7 @@ CHECKPOWER(){ fi - if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "offsite" ]) && [ "${PTYPE}" != "esxi" ]; then + if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "offsite" ]) && [ "${PTYPE}" != "esxi" ]; then DIVIDER . yellow ${PRI_WIDTH} echo -e "${idsCL[Yellow]}Offsite Power Information ${idsCL[LightYellow]}${avgdayshdr}" @@ -215,7 +215,7 @@ CHECKPOWER(){ [ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'Offsite' ... " # upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 admin@10.2.1.1 'upsc CP1500PFCLCD') - upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_OFFSITE_MONITOR} 'upsc offsite-ups') + upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_OFFSITE_MONITOR} 'upsc CP1500PFCLCD') if [ "$(echo "${upsinfo}" | grep 'input.voltage:')" != "" ]; then OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //') OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //') @@ -270,7 +270,7 @@ CHECKPOWER(){ fi for SENSOR in ${PW_SENSOR_ORD[@]}; do if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then - if [ "${STYPE}" == "" ] || ([ "${STYPE}" == "mainsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]) || ([ "${STYPE}" == "offsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]); then + if [ "${STYPE}" = "" ] || ([ "${STYPE}" = "mainsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]) || ([ "${STYPE}" = "offsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]); then [ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ... " HOST_WATT_SENSORS=$(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 -O vq 2> /dev/null | sed -e 's/"//g') @@ -304,14 +304,14 @@ CHECKPOWER(){ elif [ "$(ipmitool -I lanplus -H ${PW_HOST_IDRACS[${SENSOR}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power status | grep off)" != "" ]; then HOST_WATTS_disp="${idsCL[LightRed]}Host powered down" HOST_WATTS=-1 - elif [ "${HOST_WATTS}" == "0" ]; then + elif [ "${HOST_WATTS}" = "0" ]; then HOST_WATTS_disp="${idsCL[Yellow]}Host PSU not capable" HOST_WATTS=-2 else HOST_WATTS_disp="${idsCL[LightRed]}Could not pull data" fi - [ "${HOST_WATTS}" == "" ] && HOST_WATTS=0 + [ "${HOST_WATTS}" = "" ] && HOST_WATTS=0 else HOST_WATTS_disp="${idsCL[LightRed]}Host offline" @@ -338,7 +338,7 @@ CHECKPOWER(){ average_watt=$(echo ${average} | cut -d'~' -f 2) average_disp="${idsCL[LightYellow]} ${average_amp}'amps - `IDS_NUMBER_FORMAT ${average_watt} 0`'watts" echo -en "\r\033[K"; echo -en "${MSG}${idsCL[LightYellow]}${average_disp}" - if [[ "${PW_MAINSITE_HOSTS}" == *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]]; then + if [[ "${PW_MAINSITE_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]]; then AVERAGE_WATTS_MAINSITE=`echo "scale=2; ${AVERAGE_WATTS_MAINSITE}+${average_watt}" | bc` AVERAGE_AMPS_MAINSITE=`echo "scale=2; ${AVERAGE_AMPS_MAINSITE}+${average_amp}" | bc` else @@ -355,11 +355,11 @@ CHECKPOWER(){ fi done DIVIDER . lightCyan ${PRI_WIDTH} - if [ "${STYPE}" == "" ] || [ "${STYPE}" == "mainsite" ]; then + if [ "${STYPE}" = "" ] || [ "${STYPE}" = "mainsite" ]; then echo -en "${idsCL[LightCyan]}Mainsite Total ${idsCL[Default]}: ${idsCL[LightGreen]}${SENSOR_TOTAL_AMPS_MAINSITE}'amps - `IDS_NUMBER_FORMAT ${SENSOR_TOTAL_WATTS_MAINSITE} 0`'watts" [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AVERAGE_AMPS_MAINSITE}'amps - `IDS_NUMBER_FORMAT ${AVERAGE_WATTS_MAINSITE} 0`'watts" || echo fi - if [ "${STYPE}" == "" ] || [ "${STYPE}" == "offsite" ]; then + if [ "${STYPE}" = "" ] || [ "${STYPE}" = "offsite" ]; then echo -en "${idsCL[LightCyan]}Offsite Total ${idsCL[Default]}: ${idsCL[LightGreen]}${SENSOR_TOTAL_AMPS_OFFSITE}'amps - `IDS_NUMBER_FORMAT ${SENSOR_TOTAL_WATTS_OFFSITE} 0`'watts" [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AVERAGE_AMPS_OFFSITE}'amps - `IDS_NUMBER_FORMAT ${AVERAGE_WATTS_OFFSITE} 0`'watts" || echo fi @@ -563,7 +563,7 @@ OFFSITE_CHECKPOWER_SERVICE(){ PW_OFFSITEHOSTS=$(echo ${PW_OFFSITE_HOSTS} | tr ',' ' ') # TEST=true - # TEST=full + TEST=full if [ "${TEST}" != "" ]; then PW_OFFSITE_SHUTDOWNSERVERS_AT_LOAD=95 #percent PW_OFFSITE_SHUTDOWNSERVERS_AFTER=1 #minutes @@ -576,7 +576,7 @@ OFFSITE_CHECKPOWER_SERVICE(){ fi # upsinfo=$(upsc CP1500PFCLCD) - upsinfo=$(upsc offsite-ups 2>&1) + upsinfo=$(upsc CP1500PFCLCD 2>&1) if [ "$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')" != "" ]; then rm -f ${PW_TMPFOLDER}/power.ups.losscomm OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //') @@ -631,7 +631,7 @@ $(date)" echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_BATT_CAP}'% Battery - Powering Hosts ON After Power Outage" >> ${PW_LOGFILE} SENDNOTICE "OFFSITE HOST POWER" "Powering offsite host(s) back ONLINE after power outage" for host in ${PW_OFFSITEHOSTS_IDRAC}; do - if [ "${TEST}" == "" ] || [ "${TEST}" == "full" ]; then + if [ "${TEST}" = "" ] || [ "${TEST}" = "full" ]; then ipmitool -I lanplus -H ${host} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on & else echo "TESTMODE: Powering up '${host}'" @@ -748,7 +748,7 @@ POWERLOGGER_SERVICE(){ fi # upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 admin@10.2.1.1 'upsc CP1500PFCLCD') - upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_OFFSITE_MONITOR} 'upsc offsite-ups') + upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_OFFSITE_MONITOR} 'upsc CP1500PFCLCD') if [ "$(echo "${upsinfo}" | grep 'input.voltage:')" != "" ]; then OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //') OFFSITE_LOAD=$(echo "${upsinfo}" | grep 'ups.load:' | sed 's/.*: //') @@ -818,7 +818,7 @@ HOSTPOWER(){ idracip=${PW_HOST_IDRACS[${tmp}]} elif [ "${PW_HOST_IDRACS[iDS-vMS-Host${1}]}" != "" ]; then idracip=${PW_HOST_IDRACS[iDS-vMS-Host${1}]} - elif ([ "${1::1}" == "o" ] || [ "${1::1}" == "O" ]) && [ "${PW_HOST_ADDRESSES[OFF-vMS-Host${1: -1}]}" != "" ]; then + elif ([ "${1::1}" = "o" ] || [ "${1::1}" = "O" ]) && [ "${PW_HOST_ADDRESSES[OFF-vMS-Host${1: -1}]}" != "" ]; then idracip=${PW_HOST_IDRACS[OFF-vMS-Host${1: -1}]} elif [ "${PW_HOST_IDRACS[${1}]}" != "" ]; then idracip=${PW_HOST_IDRACS[${1}]} @@ -832,8 +832,8 @@ HOSTPOWER(){ if [ "${idracip}" != "" ]; then - if [ "${2^^}" == "ON" ] || [ "${2^^}" == "OFF" ] || [ "${2^^}" == "STATUS" ]; then - if [ "${idracip}" == "10.10.2.20" ] && [ "${2^^}" == "ON" ]; then + if [ "${2^^}" = "ON" ] || [ "${2^^}" = "OFF" ] || [ "${2^^}" = "STATUS" ]; then + if [ "${idracip}" = "10.10.2.20" ] && [ "${2^^}" = "ON" ]; then MSG="Powering ON the SAS Enclosure" c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done echo -en "\n${idsCL[LightCyan]}${MSG}${MSG_SPC}: " @@ -843,7 +843,7 @@ HOSTPOWER(){ 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 1 >/dev/null 2>&1) sleep 3s echo -e "${idsCL[Green]}Done${idsCL[Default]}\n" - elif [ "${current_status}" == "1" ]; then + elif [ "${current_status}" = "1" ]; then echo -e "${idsCL[Green]}SAS Enclosure Already Powered ON${idsCL[Default]}\n" fi else @@ -853,7 +853,7 @@ HOSTPOWER(){ if [ "${TEST}" != "true" ]; then current_status=$(ipmitool -I lanplus -H ${idracip} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power status | grep "Power is ${2,,}") - if [ "${current_status}" == "" ]; then + if [ "${current_status}" = "" ]; then echo -e "${idsCL[Green]}" ipmitool -I lanplus -H ${idracip} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power ${2,,} else @@ -865,12 +865,12 @@ HOSTPOWER(){ fi echo -e "${idsCL[Default]}" - if [ "${idracip}" == "10.10.2.20" ] && [ "${2^^}" == "OFF" ]; then + if [ "${idracip}" = "10.10.2.20" ] && [ "${2^^}" = "OFF" ]; then MSG="Powering OFF the SAS Enclosure" c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: " if [ "${TEST}" != "true" ]; then - if [ "$(CHECK_HOST 10.10.2.10)" == "false" ]; then + if [ "$(CHECK_HOST 10.10.2.10)" = "false" ]; then 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 >/dev/null 2>&1) sleep 3s echo -e "${idsCL[Green]}Done${idsCL[Default]}\n" @@ -907,9 +907,9 @@ PDUCONTROL(){ DIVIDER . yellow ${PRI_WIDTH} echo -e "${idsCL[Yellow]}APC-PDU Power Control" DIVIDER true yellow ${PRI_WIDTH} - until [ "${PORTSEL^^}" == "E" ]; do + until [ "${PORTSEL^^}" = "E" ]; do [ "${PORT_SEL}" != "" ] && PORTSEL=${PORT_SEL} - if [ "${PORTSEL}" == "" ]; then + if [ "${PORTSEL}" = "" ]; then PORT_DESC=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.2 -O vq 2> /dev/null | sed -e 's/"//g') PORT_POWER=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4 -O vq 2> /dev/null | sed -e 's/"//g') IFS=$'\n' @@ -935,7 +935,7 @@ PDUCONTROL(){ # done fi - [ "${PORTSEL^^}" == "E" ] && exit 0 + [ "${PORTSEL^^}" = "E" ] && exit 0 [ "${PORTSEL}" != "" ] && tp=$(expr ${PORTSEL} - 1) if [ "${PORTSEL}" != "" ] && [[ "${PORTSEL}" =~ ^[0-9]+$ ]] && [ "${PORT_DESC[${tp}]}" != "" ] && [ ${PORTSEL} -ne 0 ]; then @@ -959,7 +959,7 @@ PDUCONTROL(){ ;; esac - [ "${PORT_SEL}" == "" ] && unset PORTSEL + [ "${PORT_SEL}" = "" ] && unset PORTSEL else echo -e "\n${idsCL[LightRed]}Not a valid port number${idsCL[Default]}" unset PORTSEL diff --git a/offsite-power-check.sh b/offsite-power-check.sh index e1c5ccf5..9c89f98b 100755 --- a/offsite-power-check.sh +++ b/offsite-power-check.sh @@ -32,7 +32,7 @@ PWO_START(){ fi # upsinfo=$(upsc CP1500PFCLCD) - upsinfo=$(upsc offsite-ups 2>&1) + upsinfo=$(upsc CP1500PFCLCD 2>&1) if [ "$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')" != "" ]; then rm -f ${PW_TMPFOLDER}/power.ups.losscomm OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')