
#!/bin/sh
# File	: ontap-s3_vserver_create.sh
# By	: Maarten.deBoer@Atos.net, 250818
# File	: Script to create ONTAP-S3 vserver/SVM.
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n "

CLUSTER="nltaff8080"
VSERVER="tlenltnl30"
VSERVER=""
AGGR="n02a3801"
IPSPACE="ips-tnl01"
COMMENT="By ${PGM} v${VER}"

LIF="tnl30-25"
DATA_PROT=" nfs,s3"
#DATA_PROT="none"
HOME_NODE="${CLUSTER}-02"
HOME_PORT="a110a-25"
ADDRESS="172.16.25.60"
IP_ROUTE="172.16.25.1"
NETMASK="255.255.255.0"

if [ "${1}" != "" ]; then
  VSERVER="${1}"
fi  # $1
if [ "${2}" != "" ]; then
  ADDRESS="${2}"
fi  # $1

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  CLUSTER=${CLUSTER}"
echo "  VSERVER(1)=${VSERVER}"
echo "  ADDRESS(2)=${ADDRESS}"
sleep 1

if [ "${VSERVER}" != "" ]; then
  ${SSH} ${CLUSTER} "vserver create -vserver ${VSERVER} -rootvolume ${VSERVER}_root -aggregate ${AGGR} -ns-switch file -nm-switch file -rootvolume-security-style unix -language C.UTF-8 -snapshot-policy vserver_root -ipspace ${IPSPACE} -comment \"${COMMENT}\"  -data-services data-s3-server"

  ${SSH} ${CLUSTER} "set -priv advanced; network interface service-policy create -vserver ${VSERVER} -policy sm-custom-service-policy-nas-s3 -services data-core,data-nfs,data-s3-server"

  ${SSH} ${CLUSTER} "network interface create -vserver ${VSERVER} -lif ${LIF} -role data -data-protocol \"${DATA_PROT}\" -home-node ${HOME_NODE} -home-port ${HOME_PORT} -address ${ADDRESS} -netmask ${NETMASK} -status-admin up -firewall-policy data -auto-revert false -service-policy sm-custom-service-policy-nas-s3"

  ${SSH} ${CLUSTER} "network route create -vserver ${VSERVER} -gateway 172.16.25.1"
  
  ${SSH} ${CLUSTER} "vserver object-store-server create -vserver ${VSERVER} -object-store-server ${VSERVER} -comment \"${COMMENT}\" " 
else
  VSERVER="*"
fi  # BUCKET

${SSH} ${CLUSTER} "vserver show -vserver ${VSERVER} "
${SSH} ${CLUSTER} "network interface show -vserver ${VSERVER} -field address,service-policy,lif,home-node,home-port"
${SSH} ${CLUSTER} "vserver object-store-server show -vserver ${VSERVER} "


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

