#!/bin/bash

TEMP_OUTPUT=capacity
OUTPUT_CATALOG=output

TEMP_FILE=temp_capacity
SITE=`uname -n`

OUTPUT_FILE=${SITE}_capacity.csv

if [[ ! -d ${TEMP_OUTPUT} ]]
then
        mkdir -p ${TEMP_OUTPUT}
fi

if [[ ! -d ${OUTPUT_CATALOG} ]]
then
        mkdir -p ${OUTPUT_CATALOG}
fi


if [[ -f ${OUTPUT_CATALOG}/${OUTPUT_FILE} ]]
        then
                rm -f ${OUTPUT_CATALOG}/${OUTPUT_FILE}
        else
                touch -f ${OUTPUT_CATALOG}/${OUTPUT_FILE}
fi

if [ "${SITE}" = "rgcctisanla01p" ] || [ "${SITE}" = "fgcctisanla01p" ] || [ "${SITE}" = "cgcsan-mgt1" ]
then
        echo "--> Collecting data from ${SITE}" 
        for array in `/usr/symcli/bin/symcfg list | awk '/VMAX/&&/Local/{print $1}'`
        do 
                /usr/symcli/bin/symcfg -sid $array list -pool -gb | grep -v DEFAULT_POOL >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                echo "Configured Devices" >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                /usr/symcli/bin/symdev -sid $array list -tdev -bound | grep TDEV | grep -v 1078 | wc -l >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                echo "Available Devices" >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                /usr/symcli/bin/symdev -sid $array list -noport -tdev -bound| grep 34526 | grep TDEV | wc -l >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                echo "Mapped storage total"  >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                /usr/symcli/bin/symdev -sid $array list -firstport | awk '$6~/TDEV/{SUM+=$NF};END{print SUM/1024}' >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
        done
elif [ "${SITE}" = "zhcticgs05" ] || [ "${SITE}" = "zhctipgs05" ] 
then
        echo "--> Collecting data from ${SITE}" 
         for array in `/usr/symcli/bin/pbrun symcfg list | awk '/VMAX/&&/Local/{print $1}'`
         do 
                pbrun /usr/symcli/bin/symcfg -sid $array list -pool -gb | grep -v DEFAULT_POOL >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                echo "Configured Devices" >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                pbrun /usr/symcli/bin/symdev -sid $array list -tdev -bound | grep TDEV | grep -v 1078 | wc -l >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                echo "Available Devices" >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                pbrun /usr/symcli/bin/symdev -sid $array list -noport -tdev -bound| grep 34526 | grep TDEV | wc -l >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt 
                echo "Mapped storage total" >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
                pbrun /usr/symcli/bin/symdev -sid $array list -firstport | awk '$6~/TDEV/{SUM+=$NF};END{print SUM/1024}' >> ${TEMP_OUTPUT}/${TEMP_FILE}_${array}.txt
        done
fi

echo "--> Parsing text files" 

echo "ARRAY,Usable GBs,Free GBs,Used GBs,Configured Devices,Available Devices,Mapped Storage Total" >> ${OUTPUT_CATALOG}/${OUTPUT_FILE}

FILE_LIST=`ls $TEMP_OUTPUT`


for FILE in ${FILE_LIST}
do
        ARRAY_SID=`cat ${TEMP_OUTPUT}/${FILE} | grep "Symmetrix ID:" | cut -d':' -f2 | tr -d ' '` 
        #echo ${ARRAY_SID}
        GBS=`cat ${TEMP_OUTPUT}/${FILE} | grep 'GBs[ ]*[0-9]' | awk '{print $2","$3","$4}' | tr -d ' '`
        if [[ -z "$GBS" ]]
        then
                GBS=",,"
        fi
        CONF_DEV=`cat ${TEMP_OUTPUT}/${FILE} | awk '/Configured/{getline; print}' | tr -d ' '`
        #echo ${CONF_DEV}
        AV_DEV=`cat ${TEMP_OUTPUT}/${FILE} | awk '/Available/{getline; print}' | tr -d ' '`
        #echo ${AV_DEV}
        MAP_STORAGE=`cat ${TEMP_OUTPUT}/${FILE} | awk '/Mapped/{getline; print}' | tr -d ' '`
        #echo ${MAP_STORAGE}
        echo ${ARRAY_SID}","${GBS}","${CONF_DEV}","${AV_DEV}","${MAP_STORAGE} >> ${OUTPUT_CATALOG}/${OUTPUT_FILE}
done
cat ${OUTPUT_CATALOG}/${OUTPUT_FILE}|mailx -s "FDC POOL" ashok.kumar1.reddy@citi.com
rm ${TEMP_OUTPUT}/*
