
#!/bin/sh
# File	: cdot_volume_create.sh
# By	: Maarten.deBoer@Atos.net, 230905, 231218
# Subject	: Script to create netapp ontap export-policy rules
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"

# Policy-filter
FILTER="mss"

CSV="${HOME}/data/nl-fsod-volume-qtree-quota-export_nld.csv"

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
if [ ! -f ${CSV} ]; then
  echo "  NO CSV (${CSV}) file find. Exiting ..."|tee -a ${LOG}
  exit 3
fi  # <> CSV

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

echo "  CSV=${CSV}"
echo "  FILTER=${FILTER}"
sleep 1


# 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)
#nlnaf100;nlnafsenv02;env02_vol02000;n08a3801;gold;1100;gb;DP;CHG002369901;sapshare;1000;unix;env02;C;
#

# CLUSTER ; VSERVER ; POLICY ; CLIENTMATCH ; RULEINDEX; RW;RO;SUPER;ANON;SUID;DEV;
cat ${CSV}|grep -v ^#|grep "${FILTER}"|while read LINE
do
  CLUSTER=`echo ${LINE}|awk -F\; '{print $1}'`
  VSERVER=`echo ${LINE}|awk -F\; '{print $2}'`
  VOLUME=`echo ${LINE}|awk -F\; '{print $3}'`
  AGGREGATE=`echo ${LINE}|awk -F\; '{print $4}'`
  STOR_CLASS=`echo ${LINE}|awk -F\; '{print $5}'|tr [:upper:] [:lower:]|egrep "gold|silver|bronze"`
  VOL_SIZE=`echo ${LINE}|awk -F\; '{print $6}'`
  VOL_SIZE_UNIT=`echo ${LINE}|awk -F\; '{print $7}'|tr [:lower:] [:upper:]|egrep "KB|MB|GB|TB"`
  VOL_TYPE=`echo ${LINE}|awk -F\; '{print $8}'|tr [:lower:] [:upper:]|egrep "RW|DP" `
  ATOS_CHG_NR=`echo ${LINE}|awk -F\; '{print $9}'`

  if [ "${CLUSTER}" != "" ] && [ "${VSERVER}" != "" ] && [ "${VOLUME}" != "" ]; then

    echo "  CLUSTER=${CLUSTER} VSERVER=${VSERVER} VOLUME=${VOLUME} VOL_SIZE=${VOL_SIZE} VOL_SIZE_UNIT=${VOL_SIZE_UNIT} "|tee -a ${LOG}

    ${SSH} ${CLUSTER} "volume create -vserver ${VSERVER} -volume ${VOLUME} -aggregate ${AGGREGATE} -size ${VOL_SIZE}${VOL_SIZE_UNIT} -type ${VOL_TYPE} -qos-policy-group ${VSERVER}_${STOR_CLASS} -junction-path \"/${VOLUME}\" -comment ${ATOS_CHG_NR} -min-autosize 5GB -max-autosize 1024GB -autosize-mode grow_shrink  "

    ${SSH} ${CLUSTER} "volume show -vserver ${VSERVER} -volume ${VOLUME} -field volume,aggregate,size,qos-policy-group"
    sleep 1
  fi  # !=

done  # LINE

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

