This commit is contained in:
2023-12-09 22:29:08 -06:00
parent 8fadbe844b
commit dcae6e588a
2 changed files with 103 additions and 60 deletions

View File

@@ -142,9 +142,9 @@ PW_iDRACHOST_SHORTNAMES['10.10.2.27']='iDS-vMS-Host7'
PW_iDRACHOST_SHORTNAMES['10.2.1.21']='OFF-vMS-Host1' PW_iDRACHOST_SHORTNAMES['10.2.1.21']='OFF-vMS-Host1'
PW_VCENTERHOST=10.10.1.30 PW_VCENTERHOST=10.10.1.30
PW_MAINHOSTS=10.10.2.10,10.10.2.11 PW_MAIN_HOSTS=10.10.2.10,10.10.2.11
PW_SYSHOSTS=10.10.2.16,10.10.2.17 PW_SYS_HOSTS=10.10.2.16,10.10.2.17
PW_OFFSITEHOSTS=10.2.1.11 PW_OFFSITE_HOSTS=10.2.1.11
PW_MAINSITE_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS}" PW_MAINSITE_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS}"
PW_ALL_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS},${PW_OFFSITEHOSTS}" PW_ALL_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS},${PW_OFFSITEHOSTS}"
@@ -154,10 +154,10 @@ PW_UPS_IP=10.10.1.205
PW_APCPDU_IP=10.10.1.210 PW_APCPDU_IP=10.10.1.210
IFS=, IFS=,
PW_MAINSITE_HOSTS=(${PW_MAINSITE_HOSTS}) PW_MAINSITEHOSTS=(${PW_MAINSITE_HOSTS})
PW_MAINHOSTS=(${PW_MAINHOSTS}) PW_MAINHOSTS=(${PW_MAIN_HOSTS})
PW_SYSHOSTS=(${PW_SYSHOSTS}) PW_SYSHOSTS=(${PW_SYS_HOSTS})
PW_OFFSITEHOSTS=(${PW_OFFSITEHOSTS}) PW_OFFSITEHOSTS=(${PW_OFFSITE_HOSTS})
PW_ALLHOSTS=(${PW_ALL_HOSTS}) PW_ALLHOSTS=(${PW_ALL_HOSTS})
unset IFS unset IFS

View File

@@ -8,7 +8,7 @@ source /opt/idssys/defaults/default.inc
source /opt/idssys/powerwall/defaults.inc source /opt/idssys/powerwall/defaults.inc
source ${PW_FOLDER}/settings.conf source ${PW_FOLDER}/settings.conf
# TEST=true TEST=true
shopt -s lastpipe shopt -s lastpipe
@@ -1263,41 +1263,53 @@ SHUTDOWN_SERVERS(){
if [ ! -f ${PW_FOLDER}/shutdown.main ]; then if [ ! -f ${PW_FOLDER}/shutdown.main ]; then
touch ${PW_FOLDER}/shutdown.main touch ${PW_FOLDER}/shutdown.main
echo -en "Disabling CLS in vCenter ... " MSG="Disabling CLS in vCenter"
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 [ "${TEST}" != "true" ]; then
run=$(ssh 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) run=$(ssh 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)
run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1) run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null & 2>&1" >/dev/null 2>&1) run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null & 2>&1" >/dev/null 2>&1)
fi fi
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
echo -en "Stopping iSCSI-PRI VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Stopping iSCSI-PRI VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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}: "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
echo -en "Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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}: "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
# sleep 1m # sleep 1m
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
echo -en "Verifying iSCSI-PRI VM's stopped on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Verifying iSCSI-PRI VM's stopped on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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}: "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
echo -en "Stopping Remaining VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Stopping Remaining VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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 [ "${TEST}" != "true" ]; then
run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1) run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
run=$(${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1) run=$(${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
fi fi
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}' ... " MSG="Waiting for VM's to shutdown on '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
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}: "
[ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} & [ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
echo -e "${idsCL[Green]}Continuing in background\n" echo -e "${idsCL[Green]}Continuing in background\n"
done done
@@ -1309,47 +1321,59 @@ SHUTDOWN_SERVERS(){
if [ ! -f ${PW_FOLDER}/shutdown.sys ]; then if [ ! -f ${PW_FOLDER}/shutdown.sys ]; then
touch ${PW_FOLDER}/shutdown.sys touch ${PW_FOLDER}/shutdown.sys
if [ "${1^^}" == "SYS" ]; then MSG="Disabling CLS in vCenter"
echo -en "Disabling CLS in vCenter ... " c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
if [ "${TEST}" != "true" ]; then echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
run=$(ssh 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) if [ "${TEST}" != "true" ]; then
run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1) run=$(ssh 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)
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1) run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
fi run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
echo "Done"
fi fi
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
echo -en "Stopping iSCSI-SYS VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Stopping iSCSI-SYS VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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}: "
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 [ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
echo -en "Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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}: "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
# sleep 1m echo
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
echo -en "Verifying iSCSI-SYS VM's stopped on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Verifying iSCSI-SYS VM's stopped on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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}: "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
echo -en "Shutting Down VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " MSG="Shutting Down VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
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 [ "${TEST}" != "true" ]; then
${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 ${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 ${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
fi fi
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}' ... " MSG="${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
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}: "
[ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} & [ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
echo -e "${idsCL[Green]}Continuing in background\n" echo -e "${idsCL[Green]}Continuing in background\n"
done done
echo
fi fi
elif [ "${1^^}" == "ALL" ]; then elif [ "${1^^}" == "ALL" ]; then
@@ -1362,39 +1386,41 @@ SHUTDOWN_SERVERS(){
run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1) run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1) run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
fi fi
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
echo -en "Stopping all iSCSI VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " echo -en "Stopping all iSCSI VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-all-vm-shutdown.ps1 ${ESXIHOST} & >/dev/null 2>&1 [ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/iscsi-all-vm-shutdown.ps1 ${ESXIHOST} & >/dev/null 2>&1
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
echo -en "Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " echo -en "Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
# sleep 1m echo
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
echo -en "Verifying iSCSI-SYS VM's stopped on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " echo -en "Verifying iSCSI-SYS VM's stopped on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
echo -en "Shutting Down VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " echo -en "Shutting Down VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
if [ "${TEST}" != "true" ]; then if [ "${TEST}" != "true" ]; then
${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} & >/dev/null 2>&1 ${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} & >/dev/null 2>&1
${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} & >/dev/null 2>&1 ${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} & >/dev/null 2>&1
fi fi
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do
echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}' ... " echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}' ... "
[ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} & [ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
echo -e "${idsCL[Green]}Continuing in background\n" echo -e "${idsCL[Green]}Continuing in background\n"
done done
echo
fi fi
elif [ "${1^^}" == "OFFSITE" ]; then elif [ "${1^^}" == "OFFSITE" ]; then
@@ -1407,23 +1433,26 @@ SHUTDOWN_SERVERS(){
run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1) run=$(ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null & 2>&1" >/dev/null 2>&1) run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null & 2>&1" >/dev/null 2>&1)
fi fi
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
echo -en "Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " echo -en "Enabling Maintenance Mode on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXIHOST} & >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
echo -en "Stopping VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... " echo -en "Stopping VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]} ... "
[ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1) [ "${TEST}" != "true" ] && run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
echo "Done" echo -e "${idsCL[Green]}Done${idsCL[Default]}"
done done
echo
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}' ... " echo -en "${idsCL[LightCyan]}Waiting for VM's to power off to shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}' ... "
[ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} & [ "${TEST}" != "true" ] && MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
echo -e "${idsCL[Green]}Continuing in background\n" echo -e "${idsCL[Green]}Continuing in background\n"
done done
echo
fi fi
fi fi
} }
@@ -1589,7 +1618,6 @@ SHUTDOWN_SERVER(){
} }
HOSTMGMT(){ HOSTMGMT(){
TEST=true
echo -e "\n${idsCL[Yellow]}Host Controls${idsCL[Default]}" echo -e "\n${idsCL[Yellow]}Host Controls${idsCL[Default]}"
DIVIDER . yellow 75 DIVIDER . yellow 75
@@ -1604,12 +1632,12 @@ HOSTMGMT(){
ESXIHOST=${PW_HOST_ADDRESSES[iDS-vMS-Host${HOST}]} ESXIHOST=${PW_HOST_ADDRESSES[iDS-vMS-Host${HOST}]}
elif [ "${PW_HOST_ADDRESSES[${HOST}]}" != "" ]; then elif [ "${PW_HOST_ADDRESSES[${HOST}]}" != "" ]; then
ESXIHOST=${PW_HOST_ADDRESSES[${HOST}]} ESXIHOST=${PW_HOST_ADDRESSES[${HOST}]}
elif [ "${1^^}" == "ALL" ] || [ "${1^^}" == "MAIN" ] || [ "${1^^}" == "SYS" ] || [ "${1^^}" == "OFFSITE" ]; then
ESXIHOST=${1^^}
else else
ESXIHOST='' ESXIHOST=''
fi fi
[ "${ESXIHOST}" == "" ] && echo -e "Invalid host\n" && exit 1 [ "${ESXIHOST}" == "" ] && echo -e "Invalid host\n" && exit 1
tmp=${PW_ESXI_HOST_NAMES[${ESXIHOST}]}
idracip=${PW_HOST_IDRACS[${tmp}]}
fi fi
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
@@ -1628,8 +1656,11 @@ HOSTMGMT(){
esac esac
shift 1 shift 1
done done
tmp=${PW_ESXI_HOST_NAMES[${ESXIHOST}]}
idracip=${PW_HOST_IDRACS[${tmp}]}
hostname=${PW_iDRACHOST_SHORTNAMES[${idracip}]} hostname=${PW_iDRACHOST_SHORTNAMES[${idracip}]}
c=0; spcA=''; spc1=`expr 21 - ${#hostname} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done c=0; spcA=''; spc1=`expr 21 - ${#hostname} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done
c=0; spcB=''; spc1=`expr 18 - ${#ESXIHOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done c=0; spcB=''; spc1=`expr 18 - ${#ESXIHOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done
echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${hostname}${spcA}" echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${hostname}${spcA}"
@@ -1641,12 +1672,24 @@ HOSTMGMT(){
([ "${HOST}" == "" ] || ([ "${POWER}" == "" ] && [ "${ESXI}" == "" ])) && echo -e "Invalid command arguments\n" && exit 1 ([ "${HOST}" == "" ] || ([ "${POWER}" == "" ] && [ "${ESXI}" == "" ])) && echo -e "Invalid command arguments\n" && exit 1
if [ "${MODE}" == "esxi" ]; then if [ "${MODE}" == "esxi" ]; then
if [ "${ESXI}" == "maint" ] || [ "${ESXI}" == "maintenance" ] || [ "${ESXI}" == "mm" ]; then if [ "${ESXIHOST}" == "ALL" ] || [ "${ESXIHOST}" == "MAIN" ] || [ "${ESXIHOST}" == "SYS" ] || [ "${ESXIHOST}" == "OFFSITE" ]; then
echo -e "${idsCL[LightGreen]}PUTTING HOST INTO MAINTENANCE MODE${idsCL[Default]}\n" if [ "${ESXI}" == "maint" ] || [ "${ESXI}" == "maintenance" ] || [ "${ESXI}" == "mm" ]; then
SHUTDOWN_SERVER ${HOST} maintenance echo -e "${idsCL[LightGreen]}PUTTING '${ESXIHOST}' HOSTS INTO MAINTENANCE MODE${idsCL[Default]}\n"
SHUTDOWN_SERVERS ${ESXIHOST,,} maintenance
else
echo -e "${idsCL[LightGreen]}SHUTTING DOWN '${ESXIHOST}' HOSTS${idsCL[Default]}\n"
SHUTDOWN_SERVERS ${ESXIHOST,,}
fi
else else
echo -e "${idsCL[LightGreen]}SHUTTING DOWN HOST${idsCL[Default]}\n" if [ "${ESXI}" == "maint" ] || [ "${ESXI}" == "maintenance" ] || [ "${ESXI}" == "mm" ]; then
SHUTDOWN_SERVER ${HOST} echo -e "${idsCL[LightGreen]}PUTTING HOST INTO MAINTENANCE MODE${idsCL[Default]}\n"
SHUTDOWN_SERVER ${HOST} maintenance
else
echo -e "${idsCL[LightGreen]}SHUTTING DOWN HOST${idsCL[Default]}\n"
SHUTDOWN_SERVER ${HOST}
fi
fi fi
elif [ "${MODE}" == "power" ]; then elif [ "${MODE}" == "power" ]; then