
#!/bin/sh
# File	: cdot_cre_snapmirror.sh
# By	: Maarten.deBoer@Atos.net, 230628
# Subject	: Script to create SnapMirror (vault) from CSV-file
#(0.2),230629	: Mod. CSV, etc
#(0.3),230725	: Mod. CSV-layout (a bit)
#(0.4),230911	: Add LOG, Mod's DATADIR
PGM=`basename $0| cut -d\. -f1`
VER="0.4"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log"
SSH="/bin/ssh -n"

#DATADIR="${HOME}/data"
DATADIR="${HOME}/data"
#CSV="${DATADIR}/nl-fsod-volume-snapmirror_mss-ppc.csv"
#CSV="${DATADIR}/nl-fsod-volume-snapvaults_avi_v2.csv"
#CSV="${DATADIR}/nl-fsod-volume-snapmirror_asd-new2.csv"
#CSV="${DATADIR}/nl-fsod-volume-snapmirror_dep-deq.csv"
#CSV="${DATADIR}/nl-fsod-volume-snapmirror_dsm-asd.csv"
CSV="${DATADIR}/nl-fsod-volume-snapmirror_dsm2avi-asq.csv"

# SnapMirror (xDP) DEST ... SOURC
# 1st part also for 'volume create'
# NAO_CLUSTERNAME(1);NAO_SVM_NAME(2);NAO_VOL_NAME(3);NAO_VOL_AGGR_NAME(4);NAO_VOL_STOR_CLASS(5);NAO_VOL_SIZE(6);NAO_VOL_SIZE_UNIT(7);NAO_VOL_TYPE(8);ATOS_CHANGE_NR(9);NAO_QTREE_NAME(10);NAO_QUOTA_DISK_LIMIT(11);NAO_QTREE_SECURITY_STYLE(12);NAO_QTREE_EXPORT_POLICY(13);NAO_VOL_LANG(14);
#
# 2nd part for SnapMirror config
# SOURE:CLUSTER(15);SOURCE:SVM(16);SOURCE:VOLUME(17);[SOURCE:QTREE](18);
#

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

SM_POLICY="MirrorAllSnapshots"
cat ${CSV}|grep -v ^#| while read LINE
do
  echo "LINE=${LINE}"
  DST_CLSTR=`echo ${LINE}|awk -F\; '{print $1}'`
  DST_SVM=`echo ${LINE}|awk -F\; '{print $2}'`
  DST_VOL=`echo ${LINE}|awk -F\; '{print $3}'`
  SM_TYPE=`echo ${LINE}|awk -F\; '{print $8}'`
  DST_QT=`echo ${LINE}|awk -F\; '{print $10}'`

  SRC_CLSTR=`echo ${LINE}|awk -F\; '{print $15}'`
  SRC_SVM=`echo ${LINE}|awk -F\; '{print $16}'`
  SRC_VOL=`echo ${LINE}|awk -F\; '{print $17}'`
  SRC_QT=`echo ${LINE}|awk -F\; '{print $18}'`

  echo "  SRC_CLSTR=${SRC_CLSTR} SRC_SVM=${SRC_SVM} SRC_VOL=${SRC_VOL} SRC_QT=${SRC_QT} "
  echo "    DST_CLSTR=${DST_CLSTR} DST_SVM=${DST_SVM} DST_VOL=${DST_VOL} DST_QT=${DST_QT} "
  echo "      SM_TYPE=${SM_TYPE}"

  if [ "${SRC_CLSTR}" != "" ] && [ "${SRC_SVM}" != "" ] && [ "${SRC_VOL}" != "" ]; then
    echo ""
    ${SSH} ${DST_CLSTR} "snapmirror create -source-path ${SRC_SVM}:${SRC_VOL} -destination-path ${DST_SVM}:${DST_VOL} -type ${SM_TYPE} -policy ${SM_POLICY}"
    ${SSH} ${DST_CLSTR} "snapmirror initialize -destination-path ${DST_SVM}:${DST_VOL}"
  fi  # SRC_CLSTR}" != ""  ...

  echo "  SnapMirror show (dest-)vserver/volume :${DST_SVM}/${DST_VOL}"
  ${SSH} ${DST_CLSTR} "snapmirror show -destination-vserver ${DST_SVM} -destination-volume ${DST_VOL} -field lag,state,unhealthy-reason,last-transfer-error"|tee -a ${LOG}
done  # LINE



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

