diff --git a/defaults.inc b/defaults.inc index 473197ae..f0c8c150 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,10 +1,11 @@ #!/usr/bin/env bash -VERS='2.5.221-01312024' +VERS='2.5.225-01312024' noheader=' update service dailytemp confsync -r -report ' HC_CW=60 +PRI_WIDTH=75 PW_FOLDER='/opt/idssys/powerwall' PW_INCFOLDER=${PW_FOLDER}/inc diff --git a/esxi-scripts/set-drs.ps1 b/esxi-scripts/set-drs.ps1 index 53667316..e71d70b9 100755 --- a/esxi-scripts/set-drs.ps1 +++ b/esxi-scripts/set-drs.ps1 @@ -5,7 +5,7 @@ Write-Progress -Activity "Connecting to vCenter [$VCENTERHOST] ..." -PercentComp Connect-VIServer -Server $VCENTERHOST -Protocol https -User $VCENTERUSER -Password $VCENTERPASS | Out-Null -Write-Progress -Activity "Connected! Setting the new DRS Max vCPU ..." -PercentComplete 70 +Write-Progress -Activity "Connected! Setting the new DRS Max vCPU ..." -PercentComplete ${PRI_WIDTH} $spec = New-Object VMware.Vim.ClusterConfigSpecEx $spec.DrsConfig = New-Object VMware.Vim.ClusterDrsConfigInfo diff --git a/inc/power.inc.sh b/inc/power.inc.sh index 42945b1c..8c59eb51 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -65,9 +65,9 @@ CHECKPOWER(){ if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "mainsite" ]) && [ "${PTYPE}" != "esxi" ]; then [ ${REPORT} -eq 0 ] && echo - [ ${REPORT} -eq 0 ] && DIVIDER . yellow 75 + [ ${REPORT} -eq 0 ] && DIVIDER . yellow ${PRI_WIDTH} echo -e "${idsCL[Yellow]}Mainsite Power Information ${idsCL[LightYellow]}${avgdayshdr}" - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} [ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'Powerwall' ... " @@ -128,7 +128,7 @@ CHECKPOWER(){ echo -e "${idsCL[White]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}" # echo - DIVIDER . lightCyan 75 + DIVIDER . lightCyan ${PRI_WIDTH} [ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'ServerRoom' ... " @@ -173,7 +173,7 @@ CHECKPOWER(){ echo -en "${idsCL[White]}ServerRack Wattage ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${APCPDU_WATT} 0`'watts ${idsCL[Default]}~ est" [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${APCPDU_WATT_avg} 0`'watts${idsCL[Default]}" || echo -e " ${idsCL[LightCyan]}(`IDS_NUMBER_FORMAT ${APCPDU_WATT2}` watts)${idsCL[Default]}" - DIVIDER . lightCyan 75 + DIVIDER . lightCyan ${PRI_WIDTH} if [ "${avgdays}" != "" ]; then echo -en "${idsCL[Yellow]}Calculating NetworkRack Averages ... " NETRK_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['network-rack']} ${avgdays} both) @@ -186,7 +186,7 @@ CHECKPOWER(){ echo -en "${idsCL[White]}NetworkRack Wattage ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${NETRK_WATT} 0`'watts ${idsCL[Default]}~ est" [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${NETRK_WATT_avg} 0`'watts${idsCL[Default]}" || echo -e " ${idsCL[LightCyan]}(`IDS_NUMBER_FORMAT ${NETRK_WATT2} 0` watts) ${idsCL[Default]}~ est${idsCL[Default]}" - DIVIDER . lightCyan 75 + DIVIDER . lightCyan ${PRI_WIDTH} fi if [ "${avgdays}" != "" ]; then echo -en "${idsCL[Yellow]}Calculating Server Room Total Averages ... " @@ -208,9 +208,9 @@ CHECKPOWER(){ if ([ "${STYPE}" == "" ] || [ "${STYPE}" == "offsite" ]) && [ "${PTYPE}" != "esxi" ]; then - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} echo -e "${idsCL[Yellow]}Offsite Power Information ${idsCL[LightYellow]}${avgdayshdr}" - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} [ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'Offsite' ... " @@ -254,9 +254,9 @@ CHECKPOWER(){ fi if [ "${PTYPE}" != "power" ]; then - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} echo -e "${idsCL[Yellow]}ESXi Host Power Information ${avgdayshdr}" - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} SENSOR_TOTAL_WATTS_MAINSITE=0 SENSOR_TOTAL_AMPS_MAINSITE=0 SENSOR_TOTAL_WATTS_OFFSITE=0 @@ -353,7 +353,7 @@ CHECKPOWER(){ fi fi done - DIVIDER . lightCyan 75 + DIVIDER . lightCyan ${PRI_WIDTH} 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 @@ -691,7 +691,7 @@ HOSTPOWER(){ echo -e "\n${idsCL[Yellow]}POWERING ${2^^} '${PW_iDRACHOST_SHORTNAMES[${idracip}]}'" - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} if [ "${idracip}" != "" ]; then @@ -767,9 +767,9 @@ PDUCONTROL(){ shift 1 done echo - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} echo -e "${idsCL[Yellow]}APC-PDU Power Control" - DIVIDER true yellow 75 + DIVIDER true yellow ${PRI_WIDTH} until [ "${PORTSEL^^}" == "E" ]; do [ "${PORT_SEL}" != "" ] && PORTSEL=${PORT_SEL} if [ "${PORTSEL}" == "" ]; then diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index ea7b76e5..706ac56f 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -68,13 +68,13 @@ CHECKTEMP(){ fi if [ "${temptype}" != "esxi" ]; then - DIVIDER . yellow 70 + DIVIDER . yellow ${PRI_WIDTH} if [ "${avgdays}" != "noavg" ]; then echo -e "${idsCL[LightYellow]}SENSOR TEMPERATURE(S) Current / ${idsCL[LightYellow]}${avgdays_disp}AVG ${idsCL[Yellow]}warning${idsCL[Default]} / ${idsCL[LightRed]}critical${idsCL[Default]}" else echo -e "${idsCL[LightYellow]}SENSOR TEMPERATURE(S) Current ${idsCL[Yellow]}warning${idsCL[Default]} / ${idsCL[LightRed]}critical${idsCL[Default]}" fi - DIVIDER . yellow 70 + DIVIDER . yellow ${PRI_WIDTH} for SENSOR in ${PW_SENSOR_ORD[@]}; do if ([ "${search}" == "" ] || [[ "${SENSOR,,}" = *"${search,,}"* ]]) && [ "${PW_SENSOR_TYPE[${SENSOR}]}" != "esxi" ] && ([ "${temptype}" != "fans" ] || ([ "${temptype}" == "fans" ] && [[ "${SENSOR}" = *"Room"* ]])); then [ "${last_sensor}" == "${SENSOR%%-*}" ] && echo -en "\033[1A" @@ -104,17 +104,17 @@ CHECKTEMP(){ last_sensor=${SENSOR%%-*} fi done - DIVIDER . yellow 70 + DIVIDER . yellow ${PRI_WIDTH} fi if [ "${temptype}" != "sensors" ]; then - DIVIDER . yellow 70 + DIVIDER . yellow ${PRI_WIDTH} if [ "${avgdays}" != "noavg" ]; then echo -e "${idsCL[LightYellow]}ESXI HOST TEMPERATURE(S) Current / ${idsCL[LightYellow]}${avgdays_disp}AVG ${idsCL[Yellow]}warning${idsCL[Default]} / ${idsCL[LightRed]}critical${idsCL[Default]}" else echo -e "${idsCL[LightYellow]}ESXI HOST TEMPERATURE(S) Current ${idsCL[Yellow]}warning${idsCL[Default]} / ${idsCL[LightRed]}critical${idsCL[Default]}" fi - DIVIDER . yellow 70 + DIVIDER . yellow ${PRI_WIDTH} for SENSOR in ${PW_SENSOR_ORD[@]}; do if ([ "${search}" == "" ] || [[ "${SENSOR,,}" = *"${search,,}"* ]]) && [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "esxi" ]; then vHOSTiDRACIP=${PW_HOST_IDRACS[${SENSOR}]} @@ -151,7 +151,7 @@ CHECKTEMP(){ echo -e "${idsCL[Default]}" fi # if [ "${temptype}" != "fans" ]; then - DIVIDER . lightCyan 70 + DIVIDER . lightCyan ${PRI_WIDTH} echo -en "${idsCL[Yellow]}Pulling data for '${SENSOR}' ... " # if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] && [ "$(CHECK_HOST ${vHOSTIP})" != "false" ]; then @@ -910,7 +910,7 @@ ESXI_FANSPEED_MGMT(){ fi echo -e "${idsCL[Yellow]}Setting new FanSpeeds for the following ESXi Hosts:" - DIVIDER . yellow + DIVIDER . yellow ${PRI_WIDTH} if [ "${PW_iDRACHOST_SHORTNAMES[${HOST}]}" != "" ]; then tmp=${PW_iDRACHOST_SHORTNAMES[${HOST}]} @@ -951,7 +951,7 @@ ESXI_FANSPEED_MGMT(){ [ -f ${PW_TMPFOLDER}/${PW_iDRACHOST_SHORTNAMES[${host}]}.down ] && echo " - Offline, skipping" || echo fi done - DIVIDER true yellow + DIVIDER true yellow ${PRI_WIDTH} for host in ${PW_ESXI_FANSPEEDCONTROLHOSTS[@]}; do tmp=temp diff --git a/powerwall.sh b/powerwall.sh index f5cf2058..ca5f45cb 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -67,7 +67,7 @@ STOP_SERVICE(){ CHECK_SERVICES(){ echo echo -e "${idsCL[Yellow]}PowerWall Monitor Service Status" - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} for srvc in "${PW_POWERWALL_SERVICES[@]}"; do c=0; spc=''; spc1=`expr 25 - ${#srvc}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done @@ -229,10 +229,10 @@ SHUTDOWN_SERVER(){ fi echo - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} [ ${MM} -eq 1 ] && smsg="Entering Maintenance Mode" || smsg="Shutting down" echo -e "${idsCL[LightYellow]}${hostname}${idsCL[Yellow]} - ${smsg}${idsCL[Default]}" - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} echo if [ "${ESXI_HOSTS}" != "" ]; then @@ -490,7 +490,7 @@ VERIFY_ISCSI_VM_DOWN(){ HOSTMGMT(){ echo -e "\n${idsCL[Yellow]}Host Controls${idsCL[Default]}" - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} HOST=${1} if [ "${HOST}" != "-s" ] && [ "${HOST,,}" != "-status" ] && [ "${HOST}" != "-h" ] && [ "${HOST,,}" != "-help" ] && [ "${HOST}" != "" ]; then @@ -567,14 +567,14 @@ HOSTMGMT(){ echo -en "${idsCL[LightCyan]}Host IP: ${idsCL[Green]}${ESXI_HOST}${spcB}" echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${idracip}${idsCL[Default]}" fi - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} 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]}" ((v++)) done - DIVIDER . yellow 75 + DIVIDER . yellow ${PRI_WIDTH} fi echo @@ -711,7 +711,7 @@ LOGROTATE(){ GET_SNAPSHOTS(){ echo -e "\n${idsCL[Yellow]}LISTING ALL VM SNAPHOTS IN VCENTER ${idsCL[Default]}(minus offsite replicas)" - DIVIDER . lightGreen 70 + DIVIDER . lightGreen ${PRI_WIDTH} ${PW_FOLDER}/esxi-scripts/get-snapshots.ps1 echo @@ -756,11 +756,11 @@ TEST(){ ######################################################### if [[ "${1}" != *"_service" ]] && [[ "${noheader}" != *" ${1} "* ]] && [[ "${noheader}" != *" ${2} "* ]] && [[ "${noheader}" != *" ${3} "* ]] && [[ "${noheader}" != *" ${4} "* ]] && [[ "${noheader}" != *" ${5} "* ]]; then echo - DIVIDER . lightGreen 75 + DIVIDER . lightGreen ${PRI_WIDTH} msg="|| PowerWall Management ${idsCL[Default]}" c=0; spc=''; spc1=`expr 77 - ${#msg} - ${#VERS}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done echo -e "${idsCL[LightGreen]}${msg}${spc}${idsCL[LightGray]}v${VERS} ${idsCL[LightGreen]}||${idsCL[Default]}" - DIVIDER . lightGreen 75 + DIVIDER . lightGreen ${PRI_WIDTH} fi # if [ ${PW_ACTION-x} ]; then case ${PW_ACTION} in