update
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
VERS='2.4.6-12092023'
|
VERS='2.4.8-12102023'
|
||||||
|
|
||||||
noheader=' update service dailytemp '
|
noheader=' update service dailytemp '
|
||||||
hc_cw=60
|
hc_cw=60
|
||||||
|
|||||||
22
esxi-scripts/iscsi-all-shutdown-verify.ps1
Executable file
22
esxi-scripts/iscsi-all-shutdown-verify.ps1
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
|
||||||
|
. /opt/idssys/powerwall/settings.ps1
|
||||||
|
|
||||||
|
Connect-VIServer -Server $args[0] -Protocol https -User $ESXiUsername -Password $ESXiPassword | Out-Null
|
||||||
|
|
||||||
|
Get-Datastore | Where {$_.Name -like '*iSCSI-*'} | Get-VM | if ($_.PowerState -eq "PoweredOn") {
|
||||||
|
Try{
|
||||||
|
$vm = Get-VM -Name $vmName -ErrorAction Stop
|
||||||
|
switch($vm.PowerState){
|
||||||
|
'poweredon' {
|
||||||
|
sleep 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Catch{
|
||||||
|
Write-Host "VM '$($vmName)' not found!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
271
powerwall.sh
271
powerwall.sh
@@ -1275,6 +1275,7 @@ SHUTDOWN_SERVERS(){
|
|||||||
else
|
else
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
fi
|
fi
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
for ESXIHOST in "${PW_MAINHOSTS[@]}"; do
|
||||||
@@ -1371,7 +1372,7 @@ 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 [ "${2}" == "TEMP" ]; then
|
if [ "${2}" == "TEMP" ] && [ "${2}" != "maintenance" ]; then
|
||||||
MSG="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
|
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}: "
|
||||||
@@ -1383,6 +1384,7 @@ SHUTDOWN_SERVERS(){
|
|||||||
else
|
else
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
fi
|
fi
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||||
@@ -1422,7 +1424,7 @@ SHUTDOWN_SERVERS(){
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||||
MSG="Shutting Down 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
|
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
|
||||||
@@ -1434,35 +1436,40 @@ SHUTDOWN_SERVERS(){
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
if [ "${2}" != "maintenance" ]; then
|
||||||
MSG="Wait for VM's to power off, then shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
|
for ESXIHOST in "${PW_SYSHOSTS[@]}"; do
|
||||||
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
MSG="Wait for VM's to power off, then shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
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}: "
|
||||||
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
if [ "${TEST}" != "true" ]; then
|
||||||
echo -e "${idsCL[Green]}Continuing in background\n"
|
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
||||||
else
|
echo -e "${idsCL[Green]}Continuing in background\n"
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
else
|
||||||
fi
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
done
|
fi
|
||||||
echo
|
done
|
||||||
|
echo
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ "${1^^}" == "ALL" ]; then
|
elif [ "${1^^}" == "ALL" ]; then
|
||||||
if [ ! -f ${PW_FOLDER}/shutdown.all ]; then
|
if [ ! -f ${PW_FOLDER}/shutdown.all ]; then
|
||||||
touch ${PW_FOLDER}/shutdown.all
|
touch ${PW_FOLDER}/shutdown.all
|
||||||
|
|
||||||
MSG="Disabling CLS in vCenter"
|
if [ "${2}" != "maintenance" ]; then
|
||||||
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
MSG="Disabling CLS in vCenter"
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
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-c105105>/{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} "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-c105105>/{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} "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)
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1)
|
||||||
else
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
else
|
||||||
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
||||||
@@ -1490,11 +1497,11 @@ SHUTDOWN_SERVERS(){
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
||||||
MSG="Verifying iSCSI-SYS VM's stopped on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
|
MSG="Verifying iSCSI 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
|
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
|
||||||
run=$(${PW_FOLDER}/esxi-scripts/iscsi-sys-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
run=$(${PW_FOLDER}/esxi-scripts/iscsi-all-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
@@ -1502,7 +1509,7 @@ SHUTDOWN_SERVERS(){
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
||||||
MSG="Shutting Down 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
|
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
|
||||||
@@ -1514,59 +1521,77 @@ SHUTDOWN_SERVERS(){
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
if [ "${2}" != "maintenance" ]; then
|
||||||
MSG="Wait for VM's to power off, then shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
|
for ESXIHOST in "${PW_ALLHOSTS[@]}"; do
|
||||||
|
MSG="Wait for VM's to power off, then 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}: "
|
||||||
|
if [ "${TEST}" != "true" ]; then
|
||||||
|
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
||||||
|
echo -e "${idsCL[Green]}Continuing in background\n"
|
||||||
|
else
|
||||||
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
MSG="Waiting for iSCSI-PRI Host to shutdown"
|
||||||
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
|
||||||
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
while ping -qw 10 -c3 "10.10.2.10">/dev/null 2>&1; do sleep 1; done
|
||||||
echo -e "${idsCL[Green]}Continuing in background\n"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
fi
|
fi
|
||||||
done
|
MSG="Powering OFF the SAS Enclosure"
|
||||||
echo
|
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
||||||
MSG="Waiting for iSCSI-PRI Host to shutdown"
|
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
||||||
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}: "
|
if [ "$(CHECK_HOST 10.10.2.10)" == "false" ]; then
|
||||||
if [ "${TEST}" != "true" ]; 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)
|
||||||
while ping -qw 10 -c3 "10.10.2.10">/dev/null 2>&1; do sleep 1; done
|
sleep 3s
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[LightRed]}'${PW_iDRACHOST_SHORTNAMES[${idracip}]}' is not offline, not powering down\n"
|
||||||
fi
|
fi
|
||||||
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
|
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
|
||||||
if [ "${TEST}" != "true" ]; 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)
|
|
||||||
sleep 3s
|
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[LightRed]}'${PW_iDRACHOST_SHORTNAMES[${idracip}]}' is not offline, not powering down\n"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
fi
|
fi
|
||||||
else
|
echo
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
|
||||||
fi
|
fi
|
||||||
echo
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ "${1^^}" == "MAINSITE" ]; then
|
elif [ "${1^^}" == "MAINSITE" ]; then
|
||||||
if [ ! -f ${PW_FOLDER}/shutdown.mainsite ]; then
|
if [ ! -f ${PW_FOLDER}/shutdown.mainsite ]; then
|
||||||
touch ${PW_FOLDER}/shutdown.mainsite
|
touch ${PW_FOLDER}/shutdown.mainsite
|
||||||
|
|
||||||
MSG="Disabling CLS in vCenter"
|
if [ "${2}" == "TEMP" ] && [ "${2}" != "maintenance" ]; then
|
||||||
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
MSG="Disabling CLS in vCenter"
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
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)
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null & 2>&1" >/dev/null 2>&1)
|
||||||
else
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
else
|
||||||
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
||||||
|
MSG="Stopping iSCSI 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
|
||||||
|
run=$(${PW_FOLDER}/esxi-scripts/iscsi-all-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
|
else
|
||||||
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo
|
||||||
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
||||||
MSG="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
|
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
||||||
@@ -1580,11 +1605,11 @@ SHUTDOWN_SERVERS(){
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
||||||
MSG="Stopping VM's on: ${PW_ESXI_HOST_NAMES[${ESXIHOST}]}"
|
MSG="Verifying iSCSI 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
|
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
|
||||||
run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
run=$(${PW_FOLDER}/esxi-scripts/iscsi-all-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
@@ -1592,57 +1617,75 @@ SHUTDOWN_SERVERS(){
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
||||||
MSG="Wait for VM's to power off, then shutdown '${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
|
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
|
||||||
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
run=$(${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
echo -e "${idsCL[Green]}Continuing in background\n"
|
run=$(${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1)
|
||||||
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
MSG="Waiting for iSCSI-PRI Host to shutdown"
|
if [ "${2}" != "maintenance" ]; then
|
||||||
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
for ESXIHOST in "${PW_MAINSITEHOSTS[@]}"; do
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
MSG="Wait for VM's to power off, then shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
|
||||||
if [ "${TEST}" != "true" ]; then
|
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
||||||
while ping -qw 10 -c3 "10.10.2.10">/dev/null 2>&1; do sleep 1; done
|
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
if [ "${TEST}" != "true" ]; then
|
||||||
else
|
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Continuing in background\n"
|
||||||
fi
|
else
|
||||||
MSG="Powering OFF the SAS Enclosure"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
fi
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
done
|
||||||
if [ "${TEST}" != "true" ]; then
|
echo
|
||||||
if [ "$(CHECK_HOST 10.10.2.10)" == "false" ]; then
|
MSG="Waiting for iSCSI-PRI Host to shutdown"
|
||||||
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)
|
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
||||||
sleep 3s
|
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
||||||
|
if [ "${TEST}" != "true" ]; then
|
||||||
|
while ping -qw 10 -c3 "10.10.2.10">/dev/null 2>&1; do sleep 1; done
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
||||||
else
|
else
|
||||||
echo -e "${idsCL[LightRed]}'${PW_iDRACHOST_SHORTNAMES[${idracip}]}' is not offline, not powering down\n"
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
fi
|
fi
|
||||||
else
|
MSG="Powering OFF the SAS Enclosure"
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
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 [ "$(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)
|
||||||
|
sleep 3s
|
||||||
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}\n"
|
||||||
|
else
|
||||||
|
echo -e "${idsCL[LightRed]}'${PW_iDRACHOST_SHORTNAMES[${idracip}]}' is not offline, not powering down\n"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
echo
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ "${1^^}" == "OFFSITE" ]; then
|
elif [ "${1^^}" == "OFFSITE" ]; then
|
||||||
if [ ! -f ${PW_FOLDER}/shutdown.offsite ]; then
|
if [ ! -f ${PW_FOLDER}/shutdown.offsite ]; then
|
||||||
touch ${PW_FOLDER}/shutdown.offsite
|
touch ${PW_FOLDER}/shutdown.offsite
|
||||||
|
|
||||||
MSG="Disabling CLS in vCenter"
|
if [ "${2}" != "maintenance" ]; then
|
||||||
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
MSG="Disabling CLS in vCenter"
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
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-c105105>/{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-c105105>/{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)
|
||||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
run=$(ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null & 2>&1" >/dev/null 2>&1)
|
||||||
else
|
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
else
|
||||||
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
|
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
|
||||||
@@ -1658,7 +1701,7 @@ SHUTDOWN_SERVERS(){
|
|||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
|
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
|
||||||
MSG="Stopping 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
|
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
|
||||||
@@ -1669,18 +1712,20 @@ SHUTDOWN_SERVERS(){
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
echo
|
echo
|
||||||
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
|
if [ "${2}" != "maintenance" ]; then
|
||||||
MSG="Wait for VM's to power off, then shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
|
for ESXIHOST in "${PW_OFFSITEHOSTS[@]}"; do
|
||||||
c=0; MSG_SPC=''; spc1=`expr ${hc_cw} - ${#MSG}`; until [ ${c} = ${spc1} ]; do MSG_SPC="${MSG_SPC} "; ((c++)); done
|
MSG="Wait for VM's to power off, then shutdown '${PW_ESXI_HOST_NAMES[${ESXIHOST}]}'"
|
||||||
echo -en "${idsCL[LightCyan]}${MSG}${MSG_SPC}: "
|
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}: "
|
||||||
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
if [ "${TEST}" != "true" ]; then
|
||||||
echo -e "${idsCL[Green]}Continuing in background\n"
|
MAINT_MODE_VERIFY_SHUTDOWN ${ESXIHOST} &
|
||||||
else
|
echo -e "${idsCL[Green]}Continuing in background\n"
|
||||||
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
else
|
||||||
fi
|
echo -e "${idsCL[Yellow]}(TEST MODE)${idsCL[Default]}"
|
||||||
done
|
fi
|
||||||
echo
|
done
|
||||||
|
echo
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user