This commit is contained in:
2024-02-06 08:17:28 -06:00
parent e0f3a6a60c
commit 6329317325
3 changed files with 31 additions and 31 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
VERS='2.5.255-02052024' VERS='2.5.257-02062024'
noheader=' update service dailytemp confsync -r -report ' noheader=' update service dailytemp confsync -r -report '

View File

@@ -1,7 +1,7 @@
AVERAGEPOWER(){ AVERAGEPOWER(){
sensorid=${1} sensorid=${1}
daysback=${2} daysback=${2}
if [ "${3}" == "both" ]; then if [ "${3}" = "both" ]; then
logsfound_amp=0; logsfound_amp=0;
logsfound_watt=0; logsfound_watt=0;
total_amp=0 total_amp=0
@@ -60,10 +60,10 @@ CHECKPOWER(){
esac esac
shift 1 shift 1
done done
[ "${avgdays}" == "0" ] && unset avgdays [ "${avgdays}" = "0" ] && unset avgdays
[ "${avgdays}" != "" ] && avgdayshdr="${avgdays}-Day-Avg" || avgdayshdr="" [ "${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 ] && echo
[ ${REPORT} -eq 0 ] && DIVIDER . yellow ${PRI_WIDTH} [ ${REPORT} -eq 0 ] && DIVIDER . yellow ${PRI_WIDTH}
echo -e "${idsCL[Yellow]}Mainsite Power Information ${idsCL[LightYellow]}${avgdayshdr}" 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') [ "${TEST_INPUTACV}" != "" ] && INPUTV=${TEST_INPUTACV} || INPUTV=$(echo ${INVSTATSINFO} | jq '.inputs .inV')
INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'` INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'`
INV_ALARM=`echo ${INVSTATSINFO} | jq '.errors .Alms'` 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=`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=`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_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'` INV_MODE=`echo ${INVSTATSINFO} | jq '.stats .power'`
@@ -97,7 +97,7 @@ CHECKPOWER(){
else else
BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Float Charging" BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Float Charging"
fi 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" BATTA_disp="${idsCL[LightCyan]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Standby"
else else
BATTA_disp="${idsCL[LightRed]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Discharging" BATTA_disp="${idsCL[LightRed]}`IDS_NUMBER_FORMAT ${BATTA}`'amps ${idsCL[LightCyan]}- Discharging"
@@ -206,7 +206,7 @@ CHECKPOWER(){
fi fi
if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "offsite" ]) && [ "${PTYPE}" != "esxi" ]; then if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "offsite" ]) && [ "${PTYPE}" != "esxi" ]; then
DIVIDER . yellow ${PRI_WIDTH} DIVIDER . yellow ${PRI_WIDTH}
echo -e "${idsCL[Yellow]}Offsite Power Information ${idsCL[LightYellow]}${avgdayshdr}" 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' ... " [ ${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 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 if [ "$(echo "${upsinfo}" | grep 'input.voltage:')" != "" ]; then
OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //') OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')
OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //') OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //')
@@ -270,7 +270,7 @@ CHECKPOWER(){
fi fi
for SENSOR in ${PW_SENSOR_ORD[@]}; do for SENSOR in ${PW_SENSOR_ORD[@]}; do
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then 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}' ... " [ ${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') 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 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_disp="${idsCL[LightRed]}Host powered down"
HOST_WATTS=-1 HOST_WATTS=-1
elif [ "${HOST_WATTS}" == "0" ]; then elif [ "${HOST_WATTS}" = "0" ]; then
HOST_WATTS_disp="${idsCL[Yellow]}Host PSU not capable" HOST_WATTS_disp="${idsCL[Yellow]}Host PSU not capable"
HOST_WATTS=-2 HOST_WATTS=-2
else else
HOST_WATTS_disp="${idsCL[LightRed]}Could not pull data" HOST_WATTS_disp="${idsCL[LightRed]}Could not pull data"
fi fi
[ "${HOST_WATTS}" == "" ] && HOST_WATTS=0 [ "${HOST_WATTS}" = "" ] && HOST_WATTS=0
else else
HOST_WATTS_disp="${idsCL[LightRed]}Host offline" HOST_WATTS_disp="${idsCL[LightRed]}Host offline"
@@ -338,7 +338,7 @@ CHECKPOWER(){
average_watt=$(echo ${average} | cut -d'~' -f 2) average_watt=$(echo ${average} | cut -d'~' -f 2)
average_disp="${idsCL[LightYellow]} ${average_amp}'amps - `IDS_NUMBER_FORMAT ${average_watt} 0`'watts" 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}" 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_WATTS_MAINSITE=`echo "scale=2; ${AVERAGE_WATTS_MAINSITE}+${average_watt}" | bc`
AVERAGE_AMPS_MAINSITE=`echo "scale=2; ${AVERAGE_AMPS_MAINSITE}+${average_amp}" | bc` AVERAGE_AMPS_MAINSITE=`echo "scale=2; ${AVERAGE_AMPS_MAINSITE}+${average_amp}" | bc`
else else
@@ -355,11 +355,11 @@ CHECKPOWER(){
fi fi
done done
DIVIDER . lightCyan ${PRI_WIDTH} 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" 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 [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AVERAGE_AMPS_MAINSITE}'amps - `IDS_NUMBER_FORMAT ${AVERAGE_WATTS_MAINSITE} 0`'watts" || echo
fi 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" 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 [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AVERAGE_AMPS_OFFSITE}'amps - `IDS_NUMBER_FORMAT ${AVERAGE_WATTS_OFFSITE} 0`'watts" || echo
fi fi
@@ -563,7 +563,7 @@ OFFSITE_CHECKPOWER_SERVICE(){
PW_OFFSITEHOSTS=$(echo ${PW_OFFSITE_HOSTS} | tr ',' ' ') PW_OFFSITEHOSTS=$(echo ${PW_OFFSITE_HOSTS} | tr ',' ' ')
# TEST=true # TEST=true
# TEST=full TEST=full
if [ "${TEST}" != "" ]; then if [ "${TEST}" != "" ]; then
PW_OFFSITE_SHUTDOWNSERVERS_AT_LOAD=95 #percent PW_OFFSITE_SHUTDOWNSERVERS_AT_LOAD=95 #percent
PW_OFFSITE_SHUTDOWNSERVERS_AFTER=1 #minutes PW_OFFSITE_SHUTDOWNSERVERS_AFTER=1 #minutes
@@ -576,7 +576,7 @@ OFFSITE_CHECKPOWER_SERVICE(){
fi fi
# upsinfo=$(upsc CP1500PFCLCD) # upsinfo=$(upsc CP1500PFCLCD)
upsinfo=$(upsc offsite-ups 2>&1) upsinfo=$(upsc CP1500PFCLCD 2>&1)
if [ "$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')" != "" ]; then if [ "$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')" != "" ]; then
rm -f ${PW_TMPFOLDER}/power.ups.losscomm rm -f ${PW_TMPFOLDER}/power.ups.losscomm
OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //') 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} 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" SENDNOTICE "OFFSITE HOST POWER" "Powering offsite host(s) back ONLINE after power outage"
for host in ${PW_OFFSITEHOSTS_IDRAC}; do 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 & ipmitool -I lanplus -H ${host} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on &
else else
echo "TESTMODE: Powering up '${host}'" echo "TESTMODE: Powering up '${host}'"
@@ -748,7 +748,7 @@ POWERLOGGER_SERVICE(){
fi 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 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 if [ "$(echo "${upsinfo}" | grep 'input.voltage:')" != "" ]; then
OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //') OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //')
OFFSITE_LOAD=$(echo "${upsinfo}" | grep 'ups.load:' | sed 's/.*: //') OFFSITE_LOAD=$(echo "${upsinfo}" | grep 'ups.load:' | sed 's/.*: //')
@@ -818,7 +818,7 @@ HOSTPOWER(){
idracip=${PW_HOST_IDRACS[${tmp}]} idracip=${PW_HOST_IDRACS[${tmp}]}
elif [ "${PW_HOST_IDRACS[iDS-vMS-Host${1}]}" != "" ]; then elif [ "${PW_HOST_IDRACS[iDS-vMS-Host${1}]}" != "" ]; then
idracip=${PW_HOST_IDRACS[iDS-vMS-Host${1}]} 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}]} idracip=${PW_HOST_IDRACS[OFF-vMS-Host${1: -1}]}
elif [ "${PW_HOST_IDRACS[${1}]}" != "" ]; then elif [ "${PW_HOST_IDRACS[${1}]}" != "" ]; then
idracip=${PW_HOST_IDRACS[${1}]} idracip=${PW_HOST_IDRACS[${1}]}
@@ -832,8 +832,8 @@ HOSTPOWER(){
if [ "${idracip}" != "" ]; then if [ "${idracip}" != "" ]; then
if [ "${2^^}" == "ON" ] || [ "${2^^}" == "OFF" ] || [ "${2^^}" == "STATUS" ]; then if [ "${2^^}" = "ON" ] || [ "${2^^}" = "OFF" ] || [ "${2^^}" = "STATUS" ]; then
if [ "${idracip}" == "10.10.2.20" ] && [ "${2^^}" == "ON" ]; then if [ "${idracip}" = "10.10.2.20" ] && [ "${2^^}" = "ON" ]; then
MSG="Powering ON the SAS Enclosure" 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 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}: " 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) 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 sleep 3s
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n" 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" echo -e "${idsCL[Green]}SAS Enclosure Already Powered ON${idsCL[Default]}\n"
fi fi
else else
@@ -853,7 +853,7 @@ HOSTPOWER(){
if [ "${TEST}" != "true" ]; then 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,,}") 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]}" echo -e "${idsCL[Green]}"
ipmitool -I lanplus -H ${idracip} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power ${2,,} ipmitool -I lanplus -H ${idracip} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power ${2,,}
else else
@@ -865,12 +865,12 @@ HOSTPOWER(){
fi fi
echo -e "${idsCL[Default]}" 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" 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 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}: " echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then 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) 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 sleep 3s
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n" echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
@@ -907,9 +907,9 @@ PDUCONTROL(){
DIVIDER . yellow ${PRI_WIDTH} DIVIDER . yellow ${PRI_WIDTH}
echo -e "${idsCL[Yellow]}APC-PDU Power Control" echo -e "${idsCL[Yellow]}APC-PDU Power Control"
DIVIDER true yellow ${PRI_WIDTH} DIVIDER true yellow ${PRI_WIDTH}
until [ "${PORTSEL^^}" == "E" ]; do until [ "${PORTSEL^^}" = "E" ]; do
[ "${PORT_SEL}" != "" ] && PORTSEL=${PORT_SEL} [ "${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_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') 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' IFS=$'\n'
@@ -935,7 +935,7 @@ PDUCONTROL(){
# done # done
fi fi
[ "${PORTSEL^^}" == "E" ] && exit 0 [ "${PORTSEL^^}" = "E" ] && exit 0
[ "${PORTSEL}" != "" ] && tp=$(expr ${PORTSEL} - 1) [ "${PORTSEL}" != "" ] && tp=$(expr ${PORTSEL} - 1)
if [ "${PORTSEL}" != "" ] && [[ "${PORTSEL}" =~ ^[0-9]+$ ]] && [ "${PORT_DESC[${tp}]}" != "" ] && [ ${PORTSEL} -ne 0 ]; then if [ "${PORTSEL}" != "" ] && [[ "${PORTSEL}" =~ ^[0-9]+$ ]] && [ "${PORT_DESC[${tp}]}" != "" ] && [ ${PORTSEL} -ne 0 ]; then
@@ -959,7 +959,7 @@ PDUCONTROL(){
;; ;;
esac esac
[ "${PORT_SEL}" == "" ] && unset PORTSEL [ "${PORT_SEL}" = "" ] && unset PORTSEL
else else
echo -e "\n${idsCL[LightRed]}Not a valid port number${idsCL[Default]}" echo -e "\n${idsCL[LightRed]}Not a valid port number${idsCL[Default]}"
unset PORTSEL unset PORTSEL

View File

@@ -32,7 +32,7 @@ PWO_START(){
fi fi
# upsinfo=$(upsc CP1500PFCLCD) # upsinfo=$(upsc CP1500PFCLCD)
upsinfo=$(upsc offsite-ups 2>&1) upsinfo=$(upsc CP1500PFCLCD 2>&1)
if [ "$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')" != "" ]; then if [ "$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')" != "" ]; then
rm -f ${PW_TMPFOLDER}/power.ups.losscomm rm -f ${PW_TMPFOLDER}/power.ups.losscomm
OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //') OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')