
#!/bin/sh
# File	: cdot_cluster-vserver-ip_report.sh
# By	: Maarten.deBoer@Atos.net, 240311
# Subject	: Script to report NetApp(cdot) CLutser-vserver/SVM-IP-addresses into CSV
PGM=`basename $0|cut -d\. -f1`
VER="0.1"
TMP="${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
CSV="/tmp/${PGM}.csv"
SSH="/usr/bin/ssh -n"
PREFIX="nlnafs"
HOSTNAME=`hostname | cut -d\. -f1`

CLUSTERS="${HOME}/etc/clusters"
FILTER="[?]*"
MAILTO="maarten.deboer@atos.net"

if [ "${1}" != "" ]; then
  FILTER="${1}"
fi  # $1 <> "" 
if [ "${2}" != "" ]; then
  FILTER="${2}"
fi  # $2 <> "" 

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  CLUSTERS=${CLUSTERS}"
echo "  FILTER(1)=${FILTER}"
echo "  MAILTO(2)=${MAILTO}"
sleep 1

touch ${TMP}
echo "# CLUSTER;VSERVER;LIF;IP_ADDR;" > ${TMP}

cat ${CLUSTERS}|grep -v ^#|while read CLUSTER
do
  ${SSH} ${CLUSTER} "vserver show -field vserver"|grep "${PREFIX}"|grep "${FILTER}"|awk '{print $1}'| while read VSERVER
  do
    echo "  ${CLUSTER}:${VSERVER}"
    ${SSH} ${CLUSTER} "network interface show -vserver ${VSERVER} -field lif,address"|grep ${VSERVER}|awk '{print $2,$3}'|while read LIF IP_ADDR
    do
      echo "${CLUSTER};${VSERVER};${LIF};${IP_ADDR};"|tee -a ${TMP}
    done  # IP_ADDR
  done  # VSERVER
done  # CLUSTER

if [ "${MAILTO}" != "" ]; then
  cp ${TMP} ${CSV}
  echo "`date`" | mailx -a ${CSV} -s ":${HOSTNAME}: Cluster-vserver/SVM-IPaddress report [${PGM} v${VER}]" ${MAILTO}
  echo "  Mailed CSV (${CSV}) to ${MAILTO}"|tee -a ${LOG}
fi  # MAILTO <> "" 

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

