This commit is contained in:
2025-06-01 15:54:25 -05:00
parent 5c38710449
commit 4493334866
3 changed files with 28 additions and 29 deletions

View File

@@ -11,7 +11,8 @@ source /opt/idssys/powerwall/inc/power.inc.sh
source /opt/idssys/powerwall/inc/temp.inc.sh
[ "${TESTMODE_ENABLE}" == "true" ] && TEST=true
[ "${TESTMODE_ENABLE^^}" == "TRUE" ] && TESTMODE=1 || TESTMODE=0
shopt -s lastpipe
@@ -280,7 +281,7 @@ SHUTDOWN_SERVER(){
MSG="Increasing DRS CPU-Overcommit to 4"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
${PW_FOLDER}/esxi-scripts/set-drs.ps1 4 >/dev/null 2>&1 &
echo -e "${idsCL[Green]}Command Sent${idsCL[Default]}\n"
else
@@ -298,7 +299,7 @@ SHUTDOWN_SERVER(){
fi
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${idsCL[White]}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
if [ "${ESXI_HOST}" == "${PW_ISCSI_PRI_HOST}" ] || [ "${ESXI_HOST}" == "MAIN" ] || [ "${ESXI_HOST}" == "CONSERVE" ]; then
${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 >/dev/null 2>&1 &
elif [ "${ESXI_HOST}" == "${PW_ISCSI_SYS_HOST}" ] || [ "${ESXI_HOST}" == "SYS" ]; then
@@ -319,7 +320,7 @@ SHUTDOWN_SERVER(){
# MSG="Disabling CLS for the Offsite Cluster in vCenter"
# c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
# echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
# if [ "${TEST}" != "true" ]; then
# if [ ${TESTMODE} -eq 0 ]; then
# run=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_VCENTERHOST} "sed -i '/<domain-c105105>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1)
# echo -e "${idsCL[Green]}Done${idsCL[Default]}"
# touch ${PW_TMPFOLDER}/shutdown.cls.offsite
@@ -331,7 +332,7 @@ SHUTDOWN_SERVER(){
MSG="Disabling CLS for the Primary Cluster in vCenter"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
run=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1)
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
touch ${PW_TMPFOLDER}/shutdown.cls.mainsite
@@ -342,7 +343,7 @@ SHUTDOWN_SERVER(){
MSG="Restarting vCenter CLS Services"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1 && service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null & 2>&1 &
echo -e "${idsCL[Green]}Continuing in background${idsCL[Default]}"
else
@@ -356,7 +357,7 @@ SHUTDOWN_SERVER(){
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG//${PW_ESXI_HOST_NAMES[${ESXIHOST}]}/${idsCL[LightCyan]}${PW_ESXI_HOST_NAMES[${ESXIHOST}]}}${idsCL[White]}${MSG_SPC}: "
[[ "${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${ESXIHOST}]}]}" = "10.6."* ]] && ESXI_PASS=${PW_ESXI_PASS_KP} || ESXI_PASS=${PW_ESXI_PASS}
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
if [ "$(ipmitool -I lanplus -H ${PW_HOST_IDRACS[${PW_ESXI_HOST_NAMES[${ESXIHOST}]}]} -U ${PW_ESXI_USER} -P "${ESXI_PASS}" chassis power status | grep 'Power is on')" != "" ]; then
${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${PW_VCENTER_HOST_NAMES[${ESXIHOST}]} >/dev/null 2>&1 &
sleep 10s
@@ -377,7 +378,7 @@ SHUTDOWN_SERVER(){
MSG="Starting iSCSI migrations"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
sleep 80s # up from 45s, then 60...
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
else
@@ -391,7 +392,7 @@ SHUTDOWN_SERVER(){
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${idsCL[White]}${MSG_SPC}: "
# for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
if [ "${1}" == "${PW_ISCSI_PRI_HOST}" ] || [ "${1}" == "MAIN" ]; then
${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 >/dev/null 2>&1
elif [ "${1}" == "${PW_ISCSI_SYS_HOST}" ] || [ "${1}" == "SYS" ]; then
@@ -410,7 +411,7 @@ SHUTDOWN_SERVER(){
fi
# done
# if [ "${TEST}" != "true" ]; then
# if [ ${TESTMODE} -eq 0 ]; then
# nc_count=0
# until [ -f ${PW_TMPFOLDER}/verify.iscsi.done ]; do
# sleep 1s
@@ -429,7 +430,7 @@ SHUTDOWN_SERVER(){
fi
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
if [ "${ESXI_HOST}" == "${PW_ISCSI_PRI_HOST}" ] || [ "${ESXI_HOST}" == "MAIN" ] || [ "${ESXI_HOST}" == "CONSERVE" ]; then
${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${PW_ISCSI_PRI_HOST} >/dev/null 2>&1 &
elif [ "${ESXI_HOST}" == "${PW_ISCSI_SYS_HOST}" ] || [ "${ESXI_HOST}" == "SYS" ]; then
@@ -448,7 +449,7 @@ SHUTDOWN_SERVER(){
MSG="Shutting down any remaining VM's"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG//${PW_ESXI_HOST_NAMES[${ESXIHOST}]}/${idsCL[LightCyan]}${PW_ESXI_HOST_NAMES[${ESXIHOST}]}}${idsCL[White]}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
for ESXIHOST in "${ESXI_HOSTS[@]}"; do
varvms="${PW_VCENTER_HOST_NAMES[${ESXIHOST}]},${varvms}"
done
@@ -483,7 +484,7 @@ SHUTDOWN_SERVER(){
MSG="Waiting for ${PW_VCENTER_HOST_NAMES[${PW_MAIN_ISCSI}]} to shutdown"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG//${PW_VCENTER_HOST_NAMES[${PW_MAIN_ISCSI}]}/${idsCL[LightCyan]}${PW_VCENTER_HOST_NAMES[${PW_MAIN_ISCSI}]}${idsCL[White]}}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
while ping -qw 10 -c3 "${PW_MAIN_ISCSI}">/dev/null 2>&1; do sleep 1; done
sleep 5s
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
@@ -494,7 +495,7 @@ SHUTDOWN_SERVER(){
MSG="Powering off SAS Enclosure"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ] && [ "$(CHECK_HOST ${PW_MAIN_ISCSI})" == "false" ]; then
if [ ${TESTMODE} -eq 0 ] && [ "$(CHECK_HOST ${PW_MAIN_ISCSI})" == "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)
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
else
@@ -515,7 +516,7 @@ SHUTDOWN_SERVER(){
MSG="Decreasing DRS CPU-Overcommit back down to 2"
c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
if [ "${TEST}" != "true" ]; then
if [ ${TESTMODE} -eq 0 ]; then
{ sleep 60s; ${PW_FOLDER}/esxi-scripts/set-drs.ps1 2 >/dev/null 2>&1; } &
echo -e "${idsCL[Green]}Command Sent${idsCL[Default]}\n"
else
@@ -634,7 +635,7 @@ HOSTMGMT(){
([ "${HOST}" == "" ] || ([ "${POWER}" == "" ] && [ "${ESXI}" == "" ])) && echo -e "Invalid command arguments\n" && exit 1
if [ "${TEST}" != "true" ] && [ "${FORCE}" != "true" ] && ([ "${POWER^^}" == "OFF" ] || [ "${ESXI^^}" == "OFF" ] || [ ${MM} -eq 1 ]); then
if [ ${TESTMODE} -eq 0 ] && [ "${FORCE}" != "true" ] && ([ "${POWER^^}" == "OFF" ] || [ "${ESXI^^}" == "OFF" ] || [ ${MM} -eq 1 ]); then
if [ ${MM} -eq 1 ]; then
read -n 1 -p "Are you sure you wish to put '${ESXI_HOST}' into maintenance mode ? (y/N): " choice
else
@@ -687,7 +688,7 @@ HOSTMGMT(){
# MSG="Decreasing DRS CPU-Overcommit back down to 2"
# c=0; MSG_SPC=''; spc1=`expr ${HC_CW} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
# echo -en "${idsCL[White]}${MSG}${MSG_SPC}: "
# if [ "${TEST}" != "true" ]; then
# if [ ${TESTMODE} -eq 0 ]; then
# ${PW_FOLDER}/esxi-scripts/set-drs.ps1 2 >/dev/null 2>&1 &
# echo -e "${idsCL[Green]}Command Sent${idsCL[Default]}\n"
# else