
#!/bin/sh
# File	:
# By	: Maarten.deBoer@Atos.net, 230908
# Subject	: Script to process (convert) (PRIM) storage config to SNapVault config fo Ansible
#
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"

# FilenameFILTER
FFILTER="[?]*"
#FFILTER="ajp"
# VolumeFILTER
#VFILTER="[?]*"
VFILTER="_vol01"


BASEDIR="${HOME}/automation"
INDIR="${BASEDIR}/data/done"
OUTDIR="${BASEDIR}/data/out"

# SnapMirror (xDP) DEST ... SOURC
# 1st part also for 'volume create'
# (1)NAO_CLUSTERNAME;(2)NAO_SVM_NAME;(3)NAO_VOL_NAME;(4)NAO_VOL_AGGR_NAME;(5)NAO _VOL_STOR_CLASS;(6)NAO_VOL_SIZE;(7)NAO_VOL_SIZE_UNIT;(8)NAO_VOL_TYPE("[X]DP");(9)ATOS_CHANGE_NR;(10)NAO_QTREE_NAME;
# 2nd part for SnapMirror config
# (11)SOURE:CLUSTER;(12)SOURCE:SVM;SOURCE:VOLUME;[SOURCE:QTREE];
#
#(1)NAO_CLUSTERNAME;(2)NAO_SVM_NAME;(3)NAO_VOL_NAME;(4)NAO_VOL_AGGR_NAME;(5)NAO_ VOL_STOR_CLASS;(6)NAO_VOL_SIZE;(7)NAO_VOL_SIZE_UNIT;(8)NAO_VOL_TYPE("[X]DP");(9) ATOS_CHANGE_NR;(10)NAO_QTREE_NAME;(11)SOURE:CLUSTER;(12)SOURCE:SVM;SOURCE:(13)VOLUME ;[SOURCE:QTREE];
#

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  INDIR=${INDIR}"
echo "  OUTDIR=${OUTDIR}"
echo "  FFILTER=${FFILTER}"
echo "  VFILTER=${VFILTER}"

sleep 1

touch ${TMP}

cd ${INDIR}
ls -1 *.csv|grep "${FFILTER}"|while read IN_FNAME
do
  OUT_FNAME=`echo ${IN_FNAME}|cut -d\_ -f2-`
#  echo "  ${IN_FNAME}"
  echo "  ${IN_FNAME} => ${OUT_FNAME}"
  echo "# ${IN_FNAME} => ${OUT_FNAME} by ${PGM} v${VER} `date`" > ${OUTDIR}/${OUT_FNAME}
  echo "#(1)NAO_CLUSTERNAME;(2)NAO_SVM_NAME;(3)NAO_VOL_NAME;(4)NAO_VOL_AGGR_NAME;(5)NAO_ VOL_STOR_CLASS;(6)NAO_VOL_SIZE;(7)NAO_VOL_SIZE_UNIT;(8)NAO_VOL_TYPE("[X]DP");(9) ATOS_CHANGE_NR;(10)NAO_QTREE_NAME;(11)SOURE:CLUSTER;(12)SOURCE:SVM;SOURCE:(13)VOLUME ;[SOURCE:QTREE];" >> ${OUTDIR}/${OUT_FNAME}

# Sort on Volume
  cat ${IN_FNAME}|grep -v ^#|awk -F\; '{print $3}'|grep "${VFILTER}"|sort -u|while read IN_VOLUME
  do
    echo "    ${IN_VOLUME}"
# nlnaf100;nlnafsavi02;avi02_vol01344;n07a3801;gold;90;gb;RW;CHG002197966;db2archlog_ajp;20;unix;ajp;
    LINE=`grep "${IN_VOLUME}" ${IN_FNAME}|grep -v ^#`

#    echo ${LINE}
    CLUSTER=`echo ${LINE}|awk -F\; '{print $1}'`
    VSERVER=`echo ${LINE}|awk -F\; '{print $2}'`
    VOLUME=`echo ${LINE}|awk -F\; '{print $3}'`
    AGGR=`echo ${LINE}|awk -F\; '{print $4}'`
    STOR_CLASS=`echo ${LINE}|awk -F\; '{print $5}'`
    VOL_SIZE=`echo ${LINE}|awk -F\; '{print $6}'`
    VOL_SIZE_UNIT=`echo ${LINE}|awk -F\; '{print $7}'`
    VOL_TYPE=`echo ${LINE}|awk -F\; '{print $8}'`
    ATOS_CHNR=`echo ${LINE}|awk -F\; '{print $9}'`
    QTREENAME=`echo ${LINE}|awk -F\; '{print $10}'`

    if [ "${CLUSTER}" != "" ] && [ "${VSERVER}" != "" ] && [ "${VOLUME}" != "" ] && [ "${AGGR}" != "" ] && [ "${STOR_CLASS}" != "" ] && [ "${VOL_SIZE}" != "" ] && [ "${VOL_SIZE_UNIT}" != "" ] && [ "${VOL_TYPE}" != "" ] && [ "${ATOS_CHNR}" != "" ] && [ "${QTREENAME}" != "" ]; then
      echo "      ${CLUSTER}:${VSERVER}:/${VOLUME} ${VOL_SIZE} ${VOL_SIZE_UNIT} "
# "Translate" source to Dest_
      case ${CLUSTER} in
        nlnaf100) D_CLUSTER="nlnaf101" ;;
        nlnaf101) D_CLUSTER="nlnaf100" ;;
        *) D_CLUSTER="${CLUSTER}"
      esac
      case ${VSERVER} in
        nlnafsavi01) 
          D_VSERVER="nlnafsavi04"
          D_VOLUME=`echo ${VOLUME}|sed 's/avi01_/avi04_/g'|sed 's/_vol0/_vol1/g'`
        ;;
        nlnafsavi02) 
          D_VSERVER="nlnafsavi03" 
          D_VOLUME=`echo ${VOLUME}|sed 's/avi02_/avi03_/g'|sed 's/_vol0/_vol2/g'`
        ;;
        *) 
          D_VSERVER="${VSERVER}" ;;
      esac

      case ${AGGR} in
       n07a3801)
         D_AGGR="n14a9001"
         D_STOR_CLASS="bronze"
       ;; 
       *) 
         D_AGGR="${AGGR}" 
         D_STOR_CLASS="${STOR_CLASS}"
       ;;
      esac
      D_VOL_TYPE="XDP"


      echo "${D_CLUSTER};${D_VSERVER};${D_VOLUME};${D_AGGR};${D_STOR_CLASS};${VOL_SIZE};${VOL_SIZE_UNIT};${D_VOL_TYPE};${ATOS_CHNR};#QTREE;${CLUSTER};${VSERVER};${VOLUME};#QTREE;" | tee -a ${OUTDIR}/${OUT_FNAME}


#(1)NAO_CLUSTERNAME;(2)NAO_SVM_NAME;(3)NAO_VOL_NAME;(4)NAO_VOL_AGGR_NAME;(5)NAO_ VOL_STOR_CLASS;(6)NAO_VOL_SIZE;(7)NAO_VOL_SIZE_UNIT;(8)NAO_VOL_TYPE("[X]DP");(9) ATOS_CHANGE_NR;(10)NAO_QTREE_NAME;(11)SOURE:CLUSTER;(12)SOURCE:SVM;(13)SOURCE:VOLUME ;[SOURCE:QTREE];


    fi  # != "" ...

  done  # LINE
  echo "  OUTput in ${OUTDIR}/${OUT_FNAME}"

done  # ls -1



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

