#!/bin/bash

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
. $SCRIPT_DIR/common.sh "$@"


if [[ $IS_MASTER == 1 ]]; then

    echo "-- INSTALLING CEREBRO ---------------------------------------------------------"

    export ES_VERSION=6.0.0-beta2

    saved_dir=`pwd`
    function returned_to_saved_dir() {
         cd $saved_dir
    }
    trap returned_to_saved_dir 15
    trap returned_to_saved_dir EXIT

    echo " - Changing to temp directory"
    mkdir -p /tmp/cerebro_$SCRIPT_DIR/
    cd /tmp/cerebro_$SCRIPT_DIR/

    echo " - Downloading cerebro-0.6.5"
    wget https://github.com/lmenezes/cerebro/releases/download/v0.6.5/cerebro-0.6.5.tgz > /tmp/cerebro_install_log 2>&1
    if [[ $? != 0 ]]; then
        echo " -> Failed to downolad cerebro-0.6.5 from https://github.com/lmenezes/cerebro. Trying to download from niceideas.ch"
        wget http://niceideas.ch/mes/cerebro-0.6.5.tgz >> /tmp/cerebro_install_log 2>&1
        fail_if_error $? "/tmp/cerebro_install_log" -1
    fi

    echo " - Extracting cerebro-0.6.5"
    tar -xvf cerebro-0.6.5.tgz > /tmp/cerebro_install_log 2>&1
    fail_if_error $? "/tmp/cerebro_install_log" -2

    echo " - Installing Cerebro"
    sudo chown root.staff -R cerebro-0.6.5
    sudo mv cerebro-0.6.5 /usr/local/lib/cerebro-0.6.5
    sudo chmod 777 /usr/local/lib/cerebro-0.6.5/
    
    echo " - Registering test cleaning traps"
    export ES_PROC_ID=-1
    export CEREBRO_PROC_ID=-1
    function check_stop_es_cerebro(){
        if [[ $ES_PROC_ID != -1 ]]; then
            echo " - Stopping ES !!"
            kill -15 $ES_PROC_ID
        fi
        if [[ $CEREBRO_PROC_ID != -1 ]]; then
            echo " - Stopping Cerebro !!"
            kill -15 $CEREBRO_PROC_ID
        fi
    }
    trap check_stop_es_cerebro 15
    trap check_stop_es_cerebro EXIT

    echo " - Starting ElasticSearch"
    export ES_JAVA_OPTS="-Dlog4j2.disable.jmx=true -Xmx1g -Xms800m"
    /usr/local/lib/elasticsearch-$ES_VERSION/bin/elasticsearch > /tmp/es_run_log 2>&1 &
    export ES_PROC_ID=$!

    echo " - Checking Elasticsearch startup"
    sleep 10
    if [[ `ps -e | grep $ES_PROC_ID` == "" ]]; then
        echo " !! Failed to start Elasticsearch !!"
        exit -8
    fi

    echo " - Starting Cerebro"
    /usr/local/lib/cerebro-0.6.5/bin/cerebro > /tmp/cerebro_run_log 2>&1 &
    export CEREBRO_PROC_ID=$!

    echo " - Checking Cerebro startup"
    sleep 10
    if [[ `ps -e | grep $CEREBRO_PROC_ID` == "" ]]; then
        echo " !! Failed to start Cerebro !!"
        exit -8
    fi

    echo " - Stopping Cerebro"
    kill -15 $CEREBRO_PROC_ID
    export CEREBRO_PROC_ID=-1

    echo " - Stopping Elasticsearch"
    kill -15 $ES_PROC_ID
    export ES_PROC_ID=-1

    returned_to_saved_dir
    sudo rm -Rf /tmp/cerebro_$SCRIPT_DIR/


fi





#Download from https://github.com/lmenezes/cerebro/releases
#Extract files
#Run bin/cerebro(or bin/cerebro.bat if on Windows)
#Access on http://localhost:9000




