
#!/bin/sh
# File	: cdot_create_intercluster_lifs.sh
# By	: Maarten.deBoer@Atos.net, 221206
# Subject	: Script to create NetApp cDOT InterCluster LIFs for at NL-FSOD
#(0.2),221206	: Added RCFILE
PGM=`basename $0|cut -d\. -f1` 
VER="0.2"
SSH="/usr/bin/ssh -n"
RCFILE="${HOME}/etc/${PGM}.rc"

CLUSTER="nlnaf103"
PORTA="a108a"
PORTB="a108b"
NODE1="nlnaf103-09"
NODE2="nlnaf103-10"
PORT1="e0c"
PORT2="e0e"
VLAN="1530"
BRO_DOMAIN="fg-108-1530"
#nlnaf103-09_ic1=10.217.255.178
#nlnaf103-09_ic2=10.217.255.179
#nlnaf103-10_ic1=10.217.255.180
#nlnaf103-10_ic2=10.217.255.181
IPADDR1="10.217.255.178"
IPADDR2="10.217.255.179"
IPADDR3="10.217.255.180"
IPADDR4="10.217.255.181"
NETMASK="255.255.255.192"

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
if [ -f ${RCFILE} ]; then
  echo "  RCFILE (${RCFILE}) found. Reading it"|tee -a ${LOG}
  . ${RCFILE}
  sleep 1
fi

echo "  0. Before :"|tee -a ${LOG}
${SSH} ${CLUSTER} "network interface show *ic*"|tee -a ${LOG}

echo "  1. Creating InterFaceGroups at ${CLUSTER} for ${NODE1}, ${NODE2}"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp create -node ${NODE1} -ifgrp ${PORTA} -distr-func port -mode multimode"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp create -node ${NODE1} -ifgrp ${PORTB} -distr-func port -mode multimode"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp create -node ${NODE2} -ifgrp ${PORTA} -distr-func port -mode multimode"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp create -node ${NODE2} -ifgrp ${PORTB} -distr-func port -mode multimode"|tee -a ${LOG}

${SSH} ${CLUSTER} "ifgrp show -node ${NODE1}"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp show -node ${NODE2}"|tee -a ${LOG}


echo "  2. Removing ports (${PORT1} & ${PORT2}) from Default (broadcast)domain"|tee -a ${LOG}

${SSH} ${CLUSTER} "network port broadcast-domain remove-ports -broadcast-domain Default -ports ${NODE1}:${PORT1}"|tee -a ${LOG}
${SSH} ${CLUSTER} "network port broadcast-domain remove-ports -broadcast-domain Default -ports ${NODE1}:${PORT2}"|tee -a ${LOG}
${SSH} ${CLUSTER} "network port broadcast-domain remove-ports -broadcast-domain Default -ports ${NODE2}:${PORT1}"|tee -a ${LOG}
${SSH} ${CLUSTER} "network port broadcast-domain remove-ports -broadcast-domain Default -ports ${NODE2}:${PORT2}"|tee -a ${LOG}

echo "  3. Adding ports to (broadcast)domain (${BRO_DOMAIN})"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp add-port -node ${NODE1} -ifgrp ${PORTA} -port ${PORT1}"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp add-port -node ${NODE1} -ifgrp ${PORTB} -port ${PORT2}"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp add-port -node ${NODE2} -ifgrp ${PORTA} -port ${PORT1}"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp add-port -node ${NODE2} -ifgrp ${PORTB} -port ${PORT2}"|tee -a ${LOG}

${SSH} ${CLUSTER} "ifgrp show -node ${NODE1}"|tee -a ${LOG}
${SSH} ${CLUSTER} "ifgrp show -node ${NODE2}"|tee -a ${LOG}


echo "  4. Adding VLAN (${VLAN}) to interface-ports (${PORTA} & ${PORTB})"|tee -a ${LOG}
${SSH} ${CLUSTER} "vlan create -node ${NODE1} -vlan-name ${PORTA}-${VLAN}"|tee -a ${LOG}
${SSH} ${CLUSTER} "vlan create -node ${NODE1} -vlan-name ${PORTB}-${VLAN}"|tee -a ${LOG}
${SSH} ${CLUSTER} "vlan create -node ${NODE2} -vlan-name ${PORTA}-${VLAN}"|tee -a ${LOG}
${SSH} ${CLUSTER} "vlan create -node ${NODE2} -vlan-name ${PORTB}-${VLAN}"|tee -a ${LOG}
${SSH} ${CLUSTER} "vlan show -node ${NODE1}"|tee -a ${LOG}
${SSH} ${CLUSTER} "vlan show -node ${NODE2}"|tee -a ${LOG}


echo "  5. Creating & adding ports to Broadcast Domain (${BRO_DOMAIN})"|tee -a ${LOG}
${SSH} ${CLUSTER} "broadcast-domain create -broadcast-domain ${BRO_DOMAIN} -mtu 1500 -ports ${NODE1}:${PORTA}-${VLAN}"|tee -a ${LOG}
${SSH} ${CLUSTER} "broadcast-domain add-ports -broadcast-domain ${BRO_DOMAIN} -ports ${NODE1}:${PORTB}-${VLAN}"|tee -a ${LOG}
${SSH} ${CLUSTER} "broadcast-domain add-ports -broadcast-domain ${BRO_DOMAIN} -ports ${NODE2}:${PORTA}-${VLAN}"|tee -a ${LOG}
${SSH} ${CLUSTER} "broadcast-domain add-ports -broadcast-domain ${BRO_DOMAIN} -ports ${NODE2}:${PORTB}-${VLAN}"|tee -a ${LOG}
 
${SSH} ${CLUSTER} "broadcast-domain show -broadcast-domain ${BRO_DOMAIN}"|tee -a ${LOG}


echo "  6. Configuring IP-addresses (${IPADDR1}, ${IPADDR2}, ${IPADDR3}, ${IPADDR4}) to the IC interfaces"|tee -a ${LOG}
${SSH} ${CLUSTER} "network interface create -lif ${NODE1}_ic1 -vserver ${CLUSTER} -role intercluster -address ${IPADDR1} -netmask ${NETMASK} -status-admin up -failover-policy local-only -firewall-policy intercluster -auto-revert true -failover-group ${BRO_DOMAIN} -home-node ${NODE1} -home-port ${PORTB}-${VLAN}"|tee -a ${LOG}

${SSH} ${CLUSTER} "network interface create -lif ${NODE1}_ic2 -vserver ${CLUSTER} -role intercluster -address ${IPADDR2} -netmask ${NETMASK} -status-admin up -failover-policy local-only -firewall-policy intercluster -auto-revert true -failover-group ${BRO_DOMAIN} -home-node ${NODE1} -home-port ${PORTB}-${VLAN}"|tee -a ${LOG}

${SSH} ${CLUSTER} "network interface create -lif ${NODE2}_ic1 -vserver ${CLUSTER} -role intercluster -address ${IPADDR3} -netmask ${NETMASK} -status-admin up -failover-policy local-only -firewall-policy intercluster -auto-revert true -failover-group ${BRO_DOMAIN} -home-node ${NODE2} -home-port ${PORTA}-${VLAN}"|tee -a ${LOG}

${SSH} ${CLUSTER} "network interface create -lif ${NODE2}_ic2 -vserver ${CLUSTER} -role intercluster -address ${IPADDR4} -netmask ${NETMASK} -status-admin up -failover-policy local-only -firewall-policy intercluster -auto-revert true -failover-group ${BRO_DOMAIN} -home-node ${NODE2} -home-port ${PORTB}-${VLAN}"|tee -a ${LOG}

${SSH} ${CLUSTER} "network interface show *ic*"|tee -a ${LOG}

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

