
#!/bin/sh
# File	: netapp_ha-pair_failover-giveback.sh
# By	: Maarten.deBoer@Atos.net, 240522
# Subject	: Script to do HA-pair_failover & giveback (when ready) (for testing purpose)
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"
WAIT=20

CLUSTER="nltfas8040"
NODE="${CLUSTER}-01"

if [ "${1}" != "" ]; then
  NODE="${1}"
fi

echo ""
echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  CLUSTER=${CLUSTER}"
echo "  NODE(1)=${NODE}"
sleep 1

echo "For THIS test should auto-giveback be false"

${SSH} ${CLUSTER} "storage failover show -field auto-giveback, auto-giveback-after-panic"
sleep 2

##${SSH} ${CLUSTER} "system node autosupport invoke -node ${NODE} -type all -message 'Starting Failover-Giveback-TEST' "

echo "`date` Starting takeover of ${NODE} to other node."|tee -a ${LOG}
${SSH} ${CLUSTER} "storage failover takeover -ofnode ${NODE}"

echo "ssh ${CLUSTER} 'storage failover show'"
${SSH} ${CLUSTER} "storage failover show"

LOOP=1
while [ ${LOOP} ]
do
  PARTNER_STATE=`${SSH} ${CLUSTER} "storage failover show -node ${NODE} -field partner-state"|grep ${NODE}|cut -d" " -f2-`
  STATE_DESCRIPTION=`${SSH} ${CLUSTER} "storage failover show -node ${NODE} -field state-description"|grep ${NODE}|cut -d" " -f2-`
  echo "  PARTNER_STATE=${PARTNER_STATE} STATE_DESCRIPTION=${STATE_DESCRIPTION}"

  ANSW=`echo ${STATE_DESCRIPTION}|grep "Waiting for giveback"`
  if [ "${ANSW}" != ""  ]; then
    LOOP=""
  else 
    echo "Waiting for ${WAIT} sec."
    sleep ${WAIT}
  fi
done  # while LOOP

echo "`date` Giveback of ${NODE} started."|tee -a ${LOG}
${SSH} ${CLUSTER} "storage failover giveback -ofnode ${NODE}"
# -override-vetoes true


echo "ssh ${CLUSTER} 'storage failover show'"
LOOP=1
while [ ${LOOP} ]
do
  ${SSH} ${CLUSTER} "storage failover show"
done  # while LOOP


echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

