#!/bin/bash

echo "Executing deploy.sh"

if [ $# != 4 ]; then 
  echo "argument list need input : "
  echo "  -n nodeName"
  echo "  -i nodePort"
  exit 1
fi

NODE_NAME=
NODE=
while getopts "n:i:" arg 
do
  case $arg in
    n)
      NODE_NAME=$OPTARG
      ;;
    i)
      NODE=$OPTARG
      ;;
    ?)
      echo "unkonw argument"
      ;;
  esac
done

SCRIPT_DIR=`dirname $0`
cd $SCRIPT_DIR/../
SCRIPT_DIR=`pwd`
echo "SCRIPT_DIR: $SCRIPT_DIR" 

IN_TDINTERNAL="community"
if [[ "$SCRIPT_DIR" == *"$IN_TDINTERNAL"* ]]; then
  cd ../../..
else
  cd ../../
fi

TAOS_DIR=`pwd`
TAOSD_DIR=`find . -name "taosd"|grep bin|head -n1`

if [[ "$TAOSD_DIR" == *"$IN_TDINTERNAL"* ]]; then
  BIN_DIR=`find . -name "taosd"|grep bin|head -n1|cut -d '/' --fields=2,3`
else
  BIN_DIR=`find . -name "taosd"|grep bin|head -n1|cut -d '/' --fields=2`
fi

BUILD_DIR=$TAOS_DIR/$BIN_DIR/build

SIM_DIR=$TAOS_DIR/sim

NODE_DIR=$SIM_DIR/$NODE_NAME
EXE_DIR=$BUILD_DIR/bin
CFG_DIR=$NODE_DIR/cfg
LOG_DIR=$NODE_DIR/log
DATA_DIR=$NODE_DIR/data

rm -rf $NODE_DIR

mkdir -p $SIM_DIR
mkdir -p $NODE_DIR
mkdir -p $LOG_DIR
mkdir -p $DATA_DIR

#cp -rf $TAOS_DIR/cfg  $NODE_DIR/
mkdir -p $CFG_DIR

#allow normal user to read/write log
chmod -R 777 $NODE_DIR

TAOS_CFG=$NODE_DIR/cfg/taos.cfg
touch -f $TAOS_CFG

TAOS_FLAG=$SIM_DIR/tsim/flag
if [ -f "$TAOS_FLAG" ] ; then 
  TAOS_CFG=/etc/taos/taos.cfg
  DATA_DIR=/var/lib/taos
  LOG_DIR=/var/log/taos
  sudo rm -f /etc/taos/*.cfg
  sudo cp -rf $TAOS_DIR/cfg/*.cfg /etc/taos
  sudo rm -rf $DATA_DIR
  sudo rm -rf $LOG_DIR
fi

HOSTNAME=`hostname -f`

if [ $NODE -eq 1 ]; then
  NODE=7100
elif [ $NODE -eq 2 ]; then
  NODE=7200
elif [ $NODE -eq 3 ]; then
  NODE=7300
elif [ $NODE -eq 4 ]; then
  NODE=7400
elif [ $NODE -eq 5 ]; then
  NODE=7500
elif [ $NODE -eq 6 ]; then
  NODE=7600  
elif [ $NODE -eq 7 ]; then
  NODE=7700  
elif [ $NODE -eq 8 ]; then
  NODE=7800    
fi

echo " "                                    >> $TAOS_CFG   
echo "first               ${HOSTNAME}:7100" >> $TAOS_CFG
echo "second              ${HOSTNAME}:7200" >> $TAOS_CFG
echo "serverPort          ${NODE}"          >> $TAOS_CFG
echo "dataDir             $DATA_DIR"      >> $TAOS_CFG
echo "logDir              $LOG_DIR"       >> $TAOS_CFG
echo "debugFlag           0"              >> $TAOS_CFG
echo "mDebugFlag          135"            >> $TAOS_CFG
echo "sdbDebugFlag        135"            >> $TAOS_CFG
echo "dDebugFlag          135"            >> $TAOS_CFG
echo "vDebugFlag          135"            >> $TAOS_CFG
echo "tsdbDebugFlag       135"            >> $TAOS_CFG
echo "cDebugFlag          135"            >> $TAOS_CFG
echo "jnidebugFlag        135"            >> $TAOS_CFG
echo "odbcdebugFlag       135"            >> $TAOS_CFG
echo "httpDebugFlag       143"            >> $TAOS_CFG
echo "monitorDebugFlag    135"            >> $TAOS_CFG
echo "mqttDebugFlag       135"            >> $TAOS_CFG
echo "qdebugFlag          135"            >> $TAOS_CFG
echo "rpcDebugFlag        135"            >> $TAOS_CFG
echo "tmrDebugFlag        131"            >> $TAOS_CFG
echo "udebugFlag          143"            >> $TAOS_CFG
echo "sdebugFlag          135"            >> $TAOS_CFG
echo "wdebugFlag          135"            >> $TAOS_CFG
echo "monitor             0"              >> $TAOS_CFG
echo "monitorInterval     1"              >> $TAOS_CFG
echo "http                0"              >> $TAOS_CFG
echo "numOfThreadsPerCore 2.0"            >> $TAOS_CFG
echo "defaultPass         taosdata"       >> $TAOS_CFG
echo "numOfLogLines       20000000"       >> $TAOS_CFG
echo "mnodeEqualVnodeNum  0"              >> $TAOS_CFG
echo "clog                2"              >> $TAOS_CFG
#echo "cache              1"              >> $TAOS_CFG
#echo "block              2"              >> $TAOS_CFG
echo "statusInterval      1"              >> $TAOS_CFG
echo "numOfTotalVnodes    4"              >> $TAOS_CFG
echo "maxVgroupsPerDb     4"              >> $TAOS_CFG
echo "minTablesPerVnode   4"              >> $TAOS_CFG
echo "maxTablesPerVnode   1000"           >> $TAOS_CFG
echo "tableIncStepPerVnode 10000"         >> $TAOS_CFG
echo "asyncLog            0"              >> $TAOS_CFG
echo "numOfMnodes         1"              >> $TAOS_CFG
echo "locale    en_US.UTF-8"              >> $TAOS_CFG
echo "fsync               0"              >> $TAOS_CFG


