From 622eda7c9e4e766ed3bb475a4818086f45e55c08 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Fri, 22 Dec 2023 08:42:12 -0600 Subject: [PATCH] update --- inc/power.inc.sh | 12 ++++++------ powerwall.sh | 24 +++++++++++++----------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/inc/power.inc.sh b/inc/power.inc.sh index f5fd46c2..6444b03d 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -708,14 +708,14 @@ HOSTPOWER(){ fi 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 on') - # if [ "${current_status}" == "" ]; 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 echo -e "${idsCL[Green]}" ipmitool -I lanplus -H ${idracip} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power ${2,,} - # else - # echo -e "\n${idsCL[LightCyan]}Host is already Powered ON${idsCL[Default]}" - # - # fi + else + echo -e "\n${idsCL[LightCyan]}Host is already Powered ${2^^}${idsCL[Default]}" + + fi else echo -e "\n${idsCL[Yellow]}(TEST MODE)" fi diff --git a/powerwall.sh b/powerwall.sh index e4dc2d87..5fb9b7d6 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -531,9 +531,11 @@ HOSTMGMT(){ shift 1 done [ ${MN} -eq 1 ] && ssppcc=31 || ssppcc=21 + ([ "${ESXI,,}" == "maint" ] || [ "${ESXI,,}" == "maintenance" ] || [ "${ESXI,,}" == "mm" ]) && MM=1 || MM=0 + c=0; spcA=''; spc1=`expr ${ssppcc} - ${#hostname} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${hostname}${spcA}" - if [ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAIN" ] || [ "${ESXI_HOST}" == "SYS" ]; then + if [ ${MN} -eq 1 ]; then echo -e "" else c=0; spcB=''; spc1=`expr ${ssppcc} - 3 - ${#ESXI_HOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done @@ -541,7 +543,7 @@ HOSTMGMT(){ echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${idracip}${idsCL[Default]}" fi DIVIDER . yellow 75 - if [ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAIN" ] || [ "${ESXI_HOST}" == "SYS" ]; then + if [ ${MN} -eq 1 ]; then var=PW_${ESXI_HOST}HOSTS[@]; v=1 for vhost in "${!var}"; do echo -e " ${v})${idsCL[LightCyan]} ${PW_ESXI_HOST_NAMES[${vhost}]} [${vhost}]${idsCL[Default]}" @@ -560,8 +562,8 @@ HOSTMGMT(){ if [ "${MODE}" == "esxi" ]; then - if [ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAIN" ] || [ "${ESXI_HOST}" == "SYS" ]; then - if [ ${MN} -eq 1 ]; then + if [ ${MN} -eq 1 ]; then + if [ ${MM} -eq 1 ]; then echo -e "${idsCL[LightGreen]}PUTTING '${ESXI_HOST}' HOSTS INTO MAINTENANCE MODE${idsCL[Default]}\n" SHUTDOWN_SERVER ${ESXI_HOST,,} -esxi maintenance else @@ -581,7 +583,7 @@ HOSTMGMT(){ fi elif [ "${MODE}" == "power" ]; then - if [ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAIN" ] || [ "${ESXI_HOST}" == "SYS" ]; then + if [ ${MN} -eq 1 ]; then if [ "${POWER^^}" == "ON" ] && ([ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "MAIN" ]) && [ "$(ipmitool -I lanplus -H ${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${PW_MAIN_ISCSI}]}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power status | grep 'Power is on')" == "" ]; then HOSTPOWER ${PW_MAIN_ISCSI} on sleep 60s @@ -592,19 +594,19 @@ HOSTMGMT(){ 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 on')" == "" ]; then + 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} else - echo -e "\n${idsCL[LightCyan]}Host is already Powered ON${idsCL[Default]}" + echo -e "\n${idsCL[LightCyan]}Host is already Powered ${POWER^^}${idsCL[Default]}" fi fi 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 on')" == "" ]; then + 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 "\n${idsCL[LightCyan]}Host is already Powered ON${idsCL[Default]}" - # fi + else + echo -e "\n${idsCL[LightCyan]}Host is already Powered ${POWER^^}${idsCL[Default]}" + fi fi fi echo