
#!/bin/sh
# File	: cdot_get_dev-disc.sh
# By	: Maarten.deBoer@Atos.net, 230125
# Subject	: Script to get all device discoveries of all ports in CSV
#(0.2),230125	: Add ${1} = MAILTO
PGM=`basename $0|cut -d\. -f1`
VER="0.2"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"
MAILTO="maarten.deboer@Atos.net"
HOSTNAME=`hostname |cut -d\. -f1`

CLUSTERS="${HOME}/etc/clusters"
CFILTER="[?]*"

CSV="/tmp/${PGM}.csv"


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

echo "# node;protocol;port;discovered-device;interface;version" > ${TMP}

cat ${CLUSTERS}|grep -v ^#|grep "${CFILTER}"|awk -F\; '{print $1}'|while read CLUSTER
do
  ${SSH} ${CLUSTER} "set -showseparator \";\" ;node show -field node"|grep "${CLUSTER}"|awk -F\; '{print $1}'|while read NODE
  do
    echo "  ${CLUSTER}/${NODE} ..."

#    ${SSH} ${CLUSTER} "set -showseparator \";\" ;network port show -port e* -field port"|grep "${CLUSTER}"|awk -F\; '{print $2}'|while read PORT
#    do
#      echo "  ${CLUSTER}/${NODE}-${PORT} ..."
# ssh nlnaf100 'set -showseparator ";" ; network device-discovery show -port e0M -field node;protocol;port'
      ${SSH} ${CLUSTER} "set -showseparator \";\" ; network device-discovery show -node ${NODE} -port e* -protocol lldp -field node,protocol,port,discovered-device,interface,version" |grep "${CLUSTER}"|tee -a ${TMP}
#    done  # PORT

  done  # NODE

done  # CLUSTER


if [ "${MAILTO}" != "" ]; then
  cp ${TMP} ${CSV}
  echo "${PGM} v${VER} CFILTER=${CFILTER}"|mailx -a ${CSV} -s "@${HOSTNAME}: Device-Discovery [${PGM} v${VER}]" ${MAILTO}
  echo "  Mailed to ${MAILTO}"|tee -a ${LOG}
fi

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

