
#!/bin/sh
# File	: upd_dc-rack-view.sh
# By	: Maarten.deBoer@Atos.net, 2507xx
#(0.2),250731	: Upd.
PGM=`basename $0|cut -d\. -f1`
VER="0.2"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
RCFILE="${HOME}/etc/${PGM}.rc"

HOSTS="/etc/hosts"
IDRAC_NETW="172.16.22"

WEBDIR="/var/www/html/techlab/racks"
HTML="${WEBDIR}/index.html"
#HTML="${WEBDIR}/index.html"
FONTSIZE1=2
FONTSIZE2=5
EXTURL="http://172.16.10.13/techlab/racks/"
TITLE="TechLab: Rack overview"
DIR=""
MAX_U=42

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

if [ -f ${RCFILE} ]; then
  echo "  RCFILE (${RCFILE}) found. Reading ..."|tee -a ${LOG}
  . ${RCFILE}
fi  # RCFILE
echo "  CHK_SRV=${CHK_SRV}"
echo "  CSV=${CSV}"
echo "  MAILTO=${MAILTO}"
echo "  WEBDIR=${WEBDIR}"
echo "  EXTURL=${EXTURL}"
echo "  TITLE=${TITLE}"
sleep 1

if [ ! -d ${WEBDIR} ]; then
  echo "  NO WEBDIR (${WEBDIR}) found. Exiting ..."|tee -a ${LOG}
  exit 4
fi


# ---------------------------------------------------------
# Header
TITLE2="${TITLE} based on /etc/hosts :"
echo "<!DOCTYPE html>" > ${HTML}
echo "<HTML>" >> ${HTML}
echo "<HEAD>" >> ${HTML}
echo "<META charset='UTF-8'>" >> ${HTML}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${HTML}
echo "<TITLE> ${DIR} </TITLE>" >> ${HTML}
echo "<basefont face='verdana'>" >> ${HTML}
echo "</HEAD>" >> ${HTML}
echo "<BODY aLink=red bgColor=#D3D0D3 link=red text=#000000 vLink=#ff0000>" >> ${HTML} 

echo "<TABLE BORDER=0 WIDTH='100%' cellspacing='0'>" >> ${HTML}
echo "<TR WIDTH=100% HEIGHT=40px>" >> ${HTML}
echo "  <TD bgColor=#0066A1>" >> ${HTML}
echo "    <FONT COLOR=white face='verdana' size='6'> ${TITLE2} <BR> </FONT>" >> ${HTML}
echo "    <DIV align=right>" >> ${HTML}
echo "      <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos `date +%Y` </B> </FONT>" >> ${HTML}
echo "    </DIV>" >> ${HTML}
echo "  </TD>" >> ${HTML}
echo "</TR>" >> ${HTML}
echo "</TABLE>" >> ${HTML}

#----------------------------------------------------------------
echo "<TABLE BORDER=1 WIDTH='100%' cellspacing='0'>" >> ${HTML}

echo "  <TR WIDTH=100% >" >> ${HTML}
RACKS="01 02 03 04 05 06 07 08 09"

# 1st Rack-Row
for RACK in ${RACKS}
do
  echo -n "  ${RACK}"
  echo "    <TH><FONT SIZE=${FONTSIZE2}> Rack: ${RACK} </TH>" >> ${HTML}
done  # RACK
echo "  </TR>" >> ${HTML}
echo ""

RU=${MAX_U}
while [ ${RU} -ge 0 ]
do
  RU_STR="${RU}"
  if [ ${RU} -le 9 ]; then
    RU_STR="0${RU}"
  fi  # RU
  echo "  <TR WIDTH=100% >" >> ${HTML}
# 1st Rack-Row
  for RACK in ${RACKS}
  do
    echo -n "  ${RACK}:${RU}"

    echo "    <TD>" >> ${HTML}
    HOST_INFO=`grep "R${RACK}U${RU_STR}" ${HOSTS}|awk '{print $2}'`
    if [ "${HOST_INFO}" != "" ]; then
      echo "      <FONT SIZE=${FONTSIZE1}>${HOST_INFO} </FONT>" >> ${HTML}
    fi  # HOST_INFO <> ""
    echo "    </TD>" >> ${HTML}

  done  # RACK
  echo ""
  echo "  </TR>" >> ${HTML}

  RU=`expr ${RU} - 1`

done   # R_U
echo "  </TR>" >> ${HTML}

# ----------------------------------------------------------
echo "  <TR WIDTH=100% >" >> ${HTML}
RACKS="00 00 00 10 11 12 13 14 15"
# 2nd Rack-Row
for RACK in ${RACKS}
do
  echo -n "  ${RACK}"
  echo "    <TH><FONT SIZE=${FONTSIZE2}> Rack: ${RACK} </TH>" >> ${HTML}
done  # RACK
echo "  </TR>" >> ${HTML}
echo ""

RU=${MAX_U}
while [ ${RU} -ge 0 ]
do
  RU_STR="${RU}"
  if [ ${RU} -le 9 ]; then
    RU_STR="0${RU}"
  fi  # RU
  echo "  <TR WIDTH=100% >" >> ${HTML}
# 1st Rack-Row
  for RACK in ${RACKS}
  do
    echo -n "  ${RACK}:${RU}"

    echo "    <TD>" >> ${HTML}
    HOST_INFO=`grep "R${RACK}U${RU_STR}" ${HOSTS}|awk '{print $2}'`
    if [ "${HOST_INFO}" != "" ]; then
      echo "      <FONT SIZE=${FONTSIZE1}>${HOST_INFO} </FONT>" >> ${HTML}
    fi  # HOST_INFO <> ""
    echo "    </TD>" >> ${HTML}

  done  # RACK
  echo ""
  echo "  </TR>" >> ${HTML}

  RU=`expr ${RU} - 1`

done   # RU
echo "  </TR>" >> ${HTML}

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



#cat ${HOSTS}|grep -v ^#|grep ^1|awk '{print $2}'|grep "^R[0-9][0-9]U[0-9][0-9]*"|cut -d\U -f1|sort -u|while read LINE
#do
#  echo ${LINE}
#
##  IP_ADDR=`echo ${LINE}|grep "${IDRAC_NETW}"|grep "R[0-9][0-9]U[0-9][0-9]*"|awk '{print $1}'`
##  if [ "${IP_ADDR}" != "" ]; then
##    HOSTNAME=`echo ${LINE}|grep "${IDRAC_NETW}"|grep "R[0-9][0-9]U[0-9][0-9]*"|awk '{print $2}'`
##    RU=`echo ${LINE}|grep "${IDRAC_NETW}"|grep "R[0-9][0-9]U[0-9][0-9]*"|awk '{print $2}'|cut -d\- -f1`
###    RACK=`echo ${LINE}|grep "${IDRAC_NETW}"|grep "R[0-9][0-9]U[0-9][0-9]*"|awk '{print $2}'|cut -d\- -f1|grep "R"|cut -d\U -f1|cut -d\R -f2`
##    UHIGH=`echo ${LINE}|grep "${IDRAC_NETW}"|grep "R[0-9][0-9]U[0-9][0-9]*"|awk '{print $2}'|cut -d\- -f1|grep "R"|cut -d\U -f2`
##
##    while `echo ${LINE}|grep "${IDRAC_NETW}"|grep "R[0-9][0-9]U[0-9][0-9]*"|awk '{print $2}'|cut -d\- -f1|grep "R"|cut -d\U -f1|cut -d\R -f2` read RACK
##    do
##      echo "  RACK=${RACK} UHIGH=${UHIGH} RU=${RU} IP_ADDR=${IP_ADDR} HOSTNAME=${HOSTNAME}"
##
##    done  # RACK
#
#
##  fi  # IP_ADDR<>""
#
#
#
#done  # LINE

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

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



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


exit 0

