
#!/bin/sh
# File	: noc_object-server_update.sh
# By	: Maarten.deBoer@Atos.net, 251119
# Subject	: Netapp Ontap Cli script to create/modify (S3) object-server based on RC-file
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"

DATADIR="${HOME}/data"
RCDIR="${DATADIR}/rc"

# NAO defaults
ATOS_CHANGE_NR="CHG123456789"
NAO_CLUSTERNAME="nlnaf999"
NAO_VSERVER_NAME="nlnafsmss99"
NAO_CERT_TYPE="server"
NAO_CERT_NAME=""

# Policy-filter
FILTER="mss"

if [ "${1}" != "" ]; then
  FILTER="${1}"
fi
if [ "${2}" != "" ]; then
  RCDIR="${2}"
fi
echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  FILTER(1)=${FILTER}"
echo "  RCDIR(2)=${RCDIR}"
sleep 1

if [ ! -d ${RCDIR} ]; then
  echo "  NO RCDIR (${RCDIR}) found. Exiting ..."|tee -a ${LOG}
  exit 4
fi  # ! RCDIR

cd ${RCDIR}
ls -1 *object*.rc|grep "${FILTER}"|while read FNAME
do
  echo "FNAME=${FNAME}|"

# Reading VAR's of all RC-files in RCDIR
  if [ "${FNAME}" != "" ] && [ -f ${FNAME} ]; then
    . ${RCDIR}/${FNAME}

    echo "ATOS_CHANGE_NR=${ATOS_CHANGE_NR}|"
    echo "NAO_CLUSTERNAME=${NAO_CLUSTERNAME}|"
    echo "NAO_VSERVER_NAME=${NAO_VSERVER_NAME}|"
    echo "NAO_CERT_TYPE=${NAO_CERT_TYPE}|"
    echo "NAO_CERT_NAME=${NAO_CERT_NAME}|"
    sleep 1

    if [ "${NAO_CERT_NAME}" == "" ]; then
      echo "    security certificate show ..."
      NAO_CERT_NAME=`${SSH} ${NAO_CLUSTERNAME} "set -showseparator \";\" ;security certificate show -vserver ${NAO_VSERVER_NAME} -type ${NAO_CERT_TYPE} -field cert-name"|grep ${NAO_VSERVER_NAME}|awk -F\; '{print $7}'|tail -1`
      echo "    NAO_CERT_NAME=${NAO_CERT_NAME}"
    fi  # NAO_CERT_NAME

    if [ "${NAO_CLUSTERNAME}" != "" ] && [ "${NAO_VSERVER_NAME}" != "" ] && [ "${NAO_CERT_NAME}" != "" ]; then
      echo "  NAO_VSERVER_NAME=${NAO_VSERVER_NAME}"
      ANSW=`${SSH} ${NAO_CLUSTERNAME} "vserver object-store-server show -vserver ${NAO_VSERVER_NAME} -field vserver"|grep ${NAO_VSERVER_NAME}`
      echo "ANSW=${ANSW}"

      if [ "${ANSW}" == "" ]; then
        echo "    vserver object-store-server create -vserver ${VSERVER} ..."
      ${SSH} ${NAO_CLUSTERNAME} "vserver object-store-server create -vserver ${NAO_VSERVER_NAME} -object-store-server ${NAO_VSERVER_NAME} -certificate-name ${NAO_CERT_NAME} -comment \"${ATOS_CHANGE_NR}\" "
      fi  # ANSW}" == ""
    fi  # NAO_CLUSTERNAME}" != ""

    ${SSH} ${NAO_CLUSTERNAME} "vserver object-store-server show -vserver ${NAO_VSERVER_NAME} -instance"

# network interface service-policy 
#ssh ${CLUSTER} "set -privilege advanced; network interface service-policy create -vserver ${VSERVER} -policy ${VSERVER}-custom-s3 -services data-core,data-s3-server"
  ${SSH} ${NAO_CLUSTERNAME} "set -privilege advanced; network interface service-policy create -vserver ${NAO_VSERVER_NAME} -policy ${NAO_VSERVER_NAME}-custom-s3 -services data-core,data-s3-server"
  ${SSH} ${NAO_CLUSTERNAME} "set -privilege advanced; network interface service-policy show -vserver ${NAO_VSERVER_NAME} "|grep s3


  fi  # FNAME}" != "" 

done  # LINE

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

