
#!/bin/ksh
# File	: upd_overview.ksh
# By	: Maarten.deBoer@Atos.net, 2015-03-14
# Subject	: Script to process dashbord page
# set -x
#(0.2)	: Mod layout
#(0.1)	: From proc_dashboard.ksh
#(0.2)	: Mod. layout
#(0.3)	: Add ${COUNTRY} @header
#(0.4)	: Add EOS & Legenda
#(0.5)	: Div update
#(0.6)	: [info] -> [?]
#(0.7)	: Added disk-firmware
#(0.8)	: Added Availability & dfm-filer-name-loc-model-os-fw-sn-partner.csv -> filer-name-loc-model-os-fw-sn-partner.csv
#set -x
PGM="`basename $0|cut -d\. -f1`"
VER="0.8"
TMP="/tmp/${PGM}.$$"

BASEDIR="`pwd | sed 's/scripts//'|sed 's/bin//'`"
LOG="${BASEDIR}/log/${PGM}.log"
FLU="${BASEDIR}/etc/filer-location-usage.csv"
#OUT="${BASEDIR}/html/overview.html"

IN="${BASEDIR}/data/model-version/filer-name-loc-model-os-fw-sn-partner.csv"

COUNTRY="`echo ${BASEDIR}| cut -d\/ -f6`"
OUT="/appl/mdr/www/afsp/${COUNTRY}-overview.html"

# Filer End Of Support
FILEREOS="/appl/mdr/mdrglob/afsp/glob/etc/filer-end-of-hw-support.csv"

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

echo "<!DOCTYPE html>" > ${OUT}
echo "<HTML>" >> ${OUT}
echo "<HEAD>" >> ${OUT}
echo "<META charset='UTF-8'>" >> ${OUT}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${OUT}
echo "<TITLE> overview </TITLE>" >> ${OUT}
echo "<basefont face='verdana'>" >> ${OUT}
echo "</HEAD>" >> ${OUT}

echo "<BODY aLink=red bgColor=#D3D0D3 link=red text=#000000 vLink=#ff0000>" >> ${OUT}

# --- Header

echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${OUT}

echo "<TR HEIGHT=40px>" >> ${OUT}
echo "  <TD bgColor=#0066A1>" >> ${OUT}
echo "    <FONT COLOR=white face='verdana' size='5'> <B> <A HREF="index.html">Filer</A> overview of ${COUNTRY}</B> </FONT>" >> ${OUT}
echo "    <BR>" >> ${OUT}
echo "    <DIV align=right>" >> ${OUT}
echo "    <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos BTN 2015 </B> </FONT>" >> ${OUT}
echo "    </DIV>" >> ${OUT}
echo "  <TD>" >> ${OUT}
echo "</TR>" >> ${OUT}
echo "</TABLE>" >> ${OUT}

# ----------- MAIN


#echo "  <TABLE BORDER=1 WIDTH='100%'>" >> ${OUT}

echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${OUT}
echo "<TR>" >> ${OUT}

#echo "<TD WIDTH='33%'>" >> ${OUT}
echo "<TD>" >> ${OUT}
echo "  <TABLE BORDER=1>" >> ${OUT}
#echo "  <TR>" >> ${OUT}

echo "  <TR>" >> ${OUT}
echo "    <TD><FONT face='verdana' size=3><U><B>Live cycle<BR> management</TD>" >> ${OUT}
echo "    <TD></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

# --- Models
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT face='verdana' size=1><B><A HREF="${COUNTRY}/models.html">Model</A>:</B></TD>" >> ${OUT}
echo "    <TD><FONT face='verdana' size=1><B>#:</B></TD>" >> ${OUT}
TTLROWS=0
TTLCNT=0
echo "IN = ${IN}"
cat ${IN}|grep -v ^#|awk -F\; '{print $3}'|sort -u|while read LINE
do
  echo ${LINE}|while read MODEL
  do
    echo "      <TR>" >> ${OUT}
    CNT=`grep ";${MODEL}" ${IN}|wc -l`
    let "TTLROWS= ${TTLROWS} + 1"
    let "TTLCNT= ${TTLCNT} + ${CNT}"

# -- Coloring
    MODELCOL=""
    THISYEAR=`date +%Y`
    EOSYEAR="`grep ${MODEL} ${FILEREOS}|grep -v ^#|awk -F\; '{print $2}'|cut -d\- -f1`"
    let "SUPYEARS= ${EOSYEAR} - ${THISYEAR}"
    if [ "${EOSYEAR}" != "" ] && [ ${SUPYEARS} -lt 1 ]; then
      MODELCOL="red"
    fi
    if [ ${SUPYEARS} -ge 1 ]; then
      MODELCOL="orange"
    fi
    if [ ${SUPYEARS} -ge 2 ]; then
      MODELCOL="yellow"
    fi
    if [ ${SUPYEARS} -ge 3 ]; then
      MODELCOL="green"
    fi
    if [ ${SUPYEARS} -ge 4 ]; then
      MODELCOL="lightgreen"
    fi

    echo "${MODEL} = ${CNT} (${TTLCNT}). EndOfSupport=${EOSYEAR}. Support Years=${SUPYEARS} "

    echo "        <TD BGCOLOR=${MODELCOL}><FONT face='verdana' size=1>${MODEL}</TD>" >> ${OUT}
    echo "        <TD><FONT face='verdana' size=1>${CNT}</TD>" >> ${OUT}
    echo "      </TR>" >> ${OUT}
  done  # MODEL
done # LINE
echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B>Total (${TTLROWS})</B></TD>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><A HREF="${COUNTRY}/models.html">${TTLCNT}</A></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}

echo "    </TR>" >> ${OUT}

#echo "  </TABLE>" >> ${OUT}

#echo "  <TABLE BORDER=1>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><U>Legenda</U></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B>End of Support after</B></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1>unkown</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='red'><FONT face='verdana' size=1> < 1 yr</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='orange'><FONT face='verdana' size=1> >= 1 yr</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='yellow'><FONT face='verdana' size=1> >= 2 yr</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='green'><FONT face='verdana' size=1> >= 3 yr</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='lightgreen'><FONT face='verdana' size=1> >= 4 yr</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}

echo "  </TABLE>" >> ${OUT}

echo "</TD>" >> ${OUT}



echo "<TD>" >> ${OUT}
echo "  <TABLE BORDER=1>" >> ${OUT}
# --- OS versions
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT face='verdana' size=3><U><B>Release<BR> management</TD>" >> ${OUT}
echo "    <TD></TD>" >> ${OUT}
echo "  </TR>" >> ${OUT}

echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B><A HREF="${COUNTRY}/versions.html">OS version</A>:</B></TD>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B>#:</B></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
TTLROWS=0
TTLCNT=0
cat ${IN}|grep -v ^#|awk -F\; '{print $4}'|sort -u|while read LINE
do
  echo ${LINE}|while read OSVERSION
  do
    echo "      <TR>" >> ${OUT}
    CNT=`grep ";${OSVERSION}" ${IN}|wc -l`
    let "TTLROWS= ${TTLROWS} + 1"
    let "TTLCNT= ${TTLCNT} + ${CNT}"
    echo "${OSVERSION} = ${CNT} (${TTLCNT})"

# -- Coloring
  OSCOL=""
  OSPART="`echo ${OSVERSION}|cut -d' ' -f1|cut -d'P' -f1|cut -d\. -f1,2`"
  case ${OSPART} in
    "7.2") OSCOL="red" ;;
    "7.3") OSCOL="orange" ;;
    "8.3") OSCOL="lighblue" ;;
    "8.2") OSCOL="green" ;;
    "8.1") OSCOL="yellow" ;;
    "8.0") OSCOL="orange" ;;
  esac
  OSMODE="`echo ${OSVERSION}| cut -d' ' -f2`"
  case ${OSMODE} in
    "Cluster-Mode") OSCOL="lightblue" ;;
  esac
  echo ${OSVERSION}|grep 'RC' 1> /dev/null
  RC=${?}
  if [ ${RC} -eq 0 ]; then
    OSCOL="red"
  fi

    echo "        <TD BGCOLOR=${OSCOL}><FONT face='verdana' size=1>${OSVERSION}</TD>" >> ${OUT}
    echo "        <TD><FONT face='verdana' size=1>${CNT}</TD>" >> ${OUT}
    echo "      </TR>" >> ${OUT}
  done  # OSVERSION
done # LINE
echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B>Total (${TTLROWS})</B></TD>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><A HREF="${COUNTRY}/versions.html"> ${TTLCNT}</A> </TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}

echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><U>Legenda</U></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B>OS versions</B></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='red'><FONT face='verdana' size=1>Old (7.2) / RC</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='orange'><FONT face='verdana' size=1>Older (8.0 / 7.3)</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='yellow'><FONT face='verdana' size=1>Previous (8.1)</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='green'><FONT face='verdana' size=1>Latest (8.2)</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}
echo "      <TR>" >> ${OUT}
echo "        <TD BGCOLOR='lightblue'><FONT face='verdana' size=1>Clustered Ontap (cDOT)</TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}


echo "  </TABLE>" >> ${OUT}
echo "</TD>" >> ${OUT}



# --- Patches / FirmWare
IN="${BASEDIR}/data/firmware/disk-model-firmware-vendor-more.csv"

echo "<TD>" >> ${OUT}
echo "  <TABLE BORDER=1>" >> ${OUT}
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT face='verdana' size=3><U><B>Patch<BR> management</TD>" >> ${OUT}

echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B><A HREF="${COUNTRY}/disk-firmware.html">Disk firmware</A>:</B></TD>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B>#:</B></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}

# NOT ok (to be) 
cat ${IN}|grep -v ^#|awk -F\; '{print $8";"$7}'|sort -u -r|while read LINE
do
  STATUSNR="`echo ${LINE}|cut -d\; -f1`"
  STATUS="`echo ${LINE}|cut -d\; -f2`"
  CNT="`grep "${STATUS}" ${IN}|wc -l`"
  echo "${LINE} ${STATUS} ${CNT}"
 
  case ${STATUSNR} in
   2) STATUSCOL="red" ;;
   1) STATUSCOL="yellow" ;;
   0) STATUSCOL="green" ;;
  esac

  echo "      <TR>" >> ${OUT}
  echo "        <TD BGCOLOR=${STATUSCOL}> <FONT face='verdana' size=1>${STATUS}" >> ${OUT}
  echo "        <TD BGCOLOR=${STATUSCOL}> <FONT face='verdana' size=1>${CNT}" >> ${OUT}
  echo "      </TR>" >> ${OUT}

done  # cat

echo "  </TR>" >> ${OUT}
echo "  </TABLE>" >> ${OUT}
echo "</TD>" >> ${OUT}



# --- Availability
TTLCNT=0
IN="${BASEDIR}/data/uptime/controllers-uptime.csv"

echo "<TD>" >> ${OUT}
echo "  <TABLE BORDER=1>" >> ${OUT}
echo "  <TR>" >> ${OUT}
echo "    <TD><FONT face='verdana' size=3><U><B>Availability<BR> management</TD>" >> ${OUT}

echo "      <TR>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B><A HREF="${COUNTRY}/uptime.html">Uptime</A>:</B></TD>" >> ${OUT}
echo "        <TD><FONT face='verdana' size=1><B>#:</B></TD>" >> ${OUT}
echo "      </TR>" >> ${OUT}

echo "    </TD>" >> ${OUT}

UPCNTRED=0
UPCNTGREEN=0
UPCNTYELLOW=0
UPCNTORANGE=0
cat ${IN}|grep -v ^#|awk -F\; '{print $2}'|cut -d' ' -f1|sort -u -n|while read UPTIMEDAYS
do
  CNT="`grep \";${UPTIMEDAYS} day\" ${IN}|wc -l`"
  let "TTLCNT= ${TTLCNT} + ${CNT}"

  if [ ${UPTIMEDAYS} -le 28 ]; then
    let "UPCNTRED= ${UPCNTRED} + ${CNT}"
  fi
  if [ ${UPTIMEDAYS} -gt 28 ] && [ ${UPTIMEDAYS} -le 365 ]; then
    let "UPCNTGREEN= ${UPCNTGREEN} + ${CNT}"
  fi
  if [ ${UPTIMEDAYS} -gt 365 ] && [ ${UPTIMEDAYS} -le 730 ]; then
    let "UPCNTYELLOW= ${UPCNTYELLOW} + ${CNT}"
  fi
  if [ ${UPTIMEDAYS} -gt 730 ]; then
    let "UPCNTORANGE= ${UPCNTORANGE} + ${CNT}"
  fi

  echo "${UPTIMEDAYS} (${CNT})"

done  # cat

  echo "      <TR>" >> ${OUT}
  echo "        <TD BGCOLOR=red> <FONT face='verdana' size=1> < 28 days" >> ${OUT}
  echo "        <TD> <FONT face='verdana' size=1>${UPCNTRED}" >> ${OUT}
  echo "      </TR>" >> ${OUT}
  echo "      <TR>" >> ${OUT}
  echo "        <TD BGCOLOR=green> <FONT face='verdana' size=1> < 365 days" >> ${OUT}
  echo "        <TD> <FONT face='verdana' size=1>${UPCNTGREEN}" >> ${OUT}
  echo "      </TR>" >> ${OUT}
  echo "      <TR>" >> ${OUT}
  echo "        <TD BGCOLOR=yellow> <FONT face='verdana' size=1> > 365 days" >> ${OUT}
  echo "        <TD> <FONT face='verdana' size=1>${UPCNTYELLOW}" >> ${OUT}
  echo "      </TR>" >> ${OUT}
  echo "      <TR>" >> ${OUT}
  echo "        <TD BGCOLOR=orange> <FONT face='verdana' size=1> > 730 days" >> ${OUT}
  echo "        <TD> <FONT face='verdana' size=1>${UPCNTORANGE}" >> ${OUT}
  echo "      </TR>" >> ${OUT}
  echo "      <TR>" >> ${OUT}
  echo "        <TD> <FONT face='verdana' size=1><B>Total</B>" >> ${OUT}
  echo "        <TD> <FONT face='verdana' size=1><A HREF="${COUNTRY}/uptime.html">${TTLCNT}</A></TD>" >> ${OUT}
  echo "      </TR>" >> ${OUT}




echo "  </TR>" >> ${OUT}
echo "  </TABLE>" >> ${OUT}
echo "</TD>" >> ${OUT}


# ----- END

#echo "  </TR>" >> ${OUT}

echo "  </TABLE>" >> ${OUT}


echo "</TR>" >> ${OUT}
echo "</TABLE>" >> ${OUT}



# ----- Footer

echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${OUT}
echo "<TR> " >> ${OUT}
echo "  <TD bgColor=#0066A1 > " >> ${OUT}
echo "    <FONT COLOR=white face='Verdana' size='1'>" >> ${OUT}
echo "      <CENTER>" >> ${OUT}
echo "Contact: |Content Owner: <A HREF="mailto:Maarten.deBoer@Atos.net">Maarten de Boer</A> |Last Update: `date`<BR>" >> ${OUT}
echo "For internal use (c) Atos S.A. 2015 all rights reserved. Reproduction in whole or in part is prohibited without the written consent of Atos SA." >> ${OUT}
echo "      </CENTER>" >> ${OUT}
echo "    </FONT>" >> ${OUT}
echo "  </TD>" >> ${OUT}
echo "</TR>" >> ${OUT}
echo "</TABLE>" >> ${OUT}

echo "</BODY>" >> ${OUT}
echo "</HTML>" >> ${OUT}

# Copy the overview to global

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

