
#/bin/sh
# File	: noc_vserver_destroy.sh
# By	: Maarten de Boer@Atos.net, 210629
# Subject	: Script to remove SVM from cDOT
#(0.2),220131	: Added USAGE
#(0.3),230120	: Added --force
#(0.4),240124	: Renamed from cdot_vserver_destroy.sh, mod. state
#(0.5),240206	: Mod's
#(0.6),240206	: add --stop1st
PGM=`basename $0|cut -d\. -f1`
VER="0.5"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"
RCFILE="${HOME}/etc/${PGM}.rc"

STOP_1ST=""

CLUSTER="fas8040"
SFILTER="nlttnl99"

USAGE()
{
  echo "Usage: ${PGM} [<options>]"
  echo "  Version: ${VER}"
  echo "  options       :"
  echo "    -c          : Clustername (${CLUSTER})"
  echo "    -s          : Svmname(filter) (${SFILTER})"
  echo "    -h|--help   : this help"
  echo "    --stop_1st  : STOP svm 1st"
  echo "    -V          : Version"
  echo "    -x          : set -x"
  echo "    --force     : to FORCE the remove with entry in the data file"
}
if [ -f ${RCFILE} ]; then
  echo "  RCFILE (${RCFILE}) found. Using it"
  . ${RCFILE}
fi  # RCFILE
while [ $# -gt 0 ]
  do
  case $1 in
    -c) CLUSTER="${2}"; shift ;;
    -s) VSERVER="${2}"; shift ;;
    --stop_1st) STOP_1ST=1 ;;
    -h | --help) USAGE; exit 1 ;;
    -V) echo "${PGM}: v${VER}"; exit 2 ;;
    -x)  set -x ;;
    *)  echo "Option $1 not known."; USAGE; exit 1 ;;
  esac
    shift
done

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  Removing SVMs/vserver (NEED to be stopped 1st):"
echo "  CLUSTER=${CLUSTER}"
echo "  VSERVER=${VSERVER}"
echo "Press [ENTER}"
read INPUT

if [ ${STOP_1ST} ]; then
  echo "  Stopping vserver/SVM ${CLUSTER}:${VSERVER}"|tee -a ${LOG}
  ${SSH} ${CLUSTER} "vserver stop -vserver ${VSERVER} "
fi  # STOP_1ST

${SSH} ${CLUSTER} "vserver show -operational-state stopped -field vserver" |grep "${VSERVER}"|awk '{print $1}'|while read NAO_VSERVER_NAME
do
  echo "  NAO_VSERVER_NAME=${NAO_VSERVER_NAME}"
  sleep 2

  NAO_VSERVER_ROOT_VOLUME=`${SSH} ${CLUSTER} "set -showseparator \";\" ;vserver show -vserver ${NAO_VSERVER_NAME} -field rootvolume"|grep ${NAO_VSERVER_NAME}|awk -F\; '{print $2}'`

# Get & remove volumes from SVM
  ${SSH} ${CLUSTER} "set -showseparator \";\" ;volume show -vserver ${NAO_VSERVER_NAME} -field volume"|grep ${NAO_VSERVER_NAME}|grep -v ${NAO_VSERVER_ROOT_VOLUME}|awk -F\; '{print $2}' | while read NAO_VOLUME
  do
    echo "  ${NAO_VOLUME}"
    sleep 1
    ${SSH} ${CLUSTER} "volume unmount -vserver ${NAO_VSERVER_NAME} -volume ${NAO_VOLUME}"
    sleep 1
    ${SSH} ${CLUSTER} "volume offline -vserver ${NAO_VSERVER_NAME} -volume ${NAO_VOLUME}"
    sleep 1
    ${SSH} ${CLUSTER} "volume destroy -vserver ${NAO_VSERVER_NAME} -volume ${NAO_VOLUME}"
  done  # NA_VOLUME

# Remove ROOT-volume
  ${SSH} ${CLUSTER} "volume offline -vserver ${NAO_VSERVER_NAME} -volume ${NAO_SVM_ROOT_VOLUME}"
    sleep 1
  ${SSH} ${CLUSTER} "volume destroy -vserver ${NAO_VSERVER_NAME} -volume ${NAO_SVM_ROOT_VOLUME}"
  sleep 1

# Remove SVM
  ${SSH} ${CLUSTER} "vserver delete -vserver ${NAO_VSERVER_NAME}"

done  # NAO_VSERVER_NAME

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

