#!/bin/bash
# -----------------------------------------------------------------------------
# Remotely configures & starts Atomix for the first time.
# -----------------------------------------------------------------------------

function _usage () {
cat << _EOF_
usage:
 $(basename $0) [node]

options:
- [node] : The node to configure

summary:
 Remotely configures and starts Atomix for the first time.

 The procedure for configuring a node includes determining base features,
 applications to load at startup, and clustering and logical network view
 configurations, among others.

 If [node] isn't specified, the default target becomes \$OCI.

_EOF_
}

[ "$1" = "-h" ] && _usage && exit 0

[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults

node=${1:-$OCI}
remote=$ONOS_USER@$node

# Generate a default cluster.json from the ON* environment variables
CDEF_FILE=/tmp/${remote}.atomix.json
atomix-gen-config $node $CDEF_FILE
scp -q $CDEF_FILE $remote:$ATOMIX_INSTALL_DIR/atomix.json

ssh -tt $ONOS_USER@$node "
    echo \"cd $ATOMIX_INSTALL_DIR && java -Xms4G -Xmx4G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -cp .:$ATOMIX_INSTALL_DIR/atomix.json:$ATOMIX_INSTALL_DIR/atomix-agent.jar -Datomix.logging.level=DEBUG io.atomix.agent.AtomixAgent\" > $ATOMIX_INSTALL_DIR/atomix && sudo chmod u+x $ATOMIX_INSTALL_DIR/atomix
"
