
#!/bin/sh
# FIle	: cdot_atos_accounting_update.sh
# By	: Maarten.deBoer@Atos.net, 20260330
# Subject	: Script to update FSOD accounting for fg_oss volumes mith storage-class
PGM=`basename $0`
VER="0.1"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"

ACCT_DIR="${HOME}/data/accounting"
FILTER="[?]*"

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

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

cd ${ACCT_DIR}
ls -1 *_v3.csv|grep "${FILTER}"|while read FNAME
do
  echo "    FNAME=${FNAME}"
#    FNAME=20260330_nlnaf102_v3.csv
  CLUSTER=`echo ${FNAME}|cut -d\_ -f2`
  FNAME2="`echo ${FNAME}|cut -d\_ -f1-2`_v3-5.csv"
  echo "    CLUSTER=${CLUSTER} FNAME2=${FNAME2}"
  cat ${FNAME}|grep ^# > ${FNAME2}
sleep 1

  cat ${FNAME}|grep -v ^#|while read LINE
  do
# vserver;volume;aggregate;total;used;percent-used;type;qos-policy-group;qos-adaptive-policy-group;
#    echo "      LINE=${LINE}"
    echo "${LINE}"
    VSERVER=`echo ${LINE}|cut -d\; -f1`
    VOLUME=`echo ${LINE}|cut -d\; -f2`
    AGGREGATE=`echo ${LINE}|cut -d\; -f3`
    TOTAL=`echo ${LINE}|cut -d\; -f4`
    USED=`echo ${LINE}|cut -d\; -f5`
    PERC=`echo ${LINE}|cut -d\; -f6`
    TYPE=`echo ${LINE}|cut -d\; -f7`
    QOS=`echo ${LINE}|cut -d\; -f8`
    AQOS=`echo ${LINE}|cut -d\; -f9`

    if [ "${QOS}" = "-" ] && [ "`echo ${VSERVER}|grep nlnafs`" != "" ]; then
      QOS=`${SSH} ${CLUSTER} "set -showseparator \";\" ; vserver object-store-server bucket show -vserver ${VSERVER} -volume ${VOLUME} -field qos-policy-group"|grep ${VSERVER}|cut -d\; -f3`
      if [ "${QOS}" = "" ]; then
        QOS="-"
      fi
      echo "${VSERVER};${VOLUME};${AGGREGATE};${TOTAL};${USED};${PERC};${TYPE};${QOS};${AQOS};" |tee -a ${FNAME2}
sleep 1
    else
      echo "${VSERVER};${VOLUME};${AGGREGATE};${TOTAL};${USED};${PERC};${TYPE};${QOS};${AQOS};" >> ${FNAME2}
    fi  # SSH

  done  # LINE
done  # FNAME

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

