#!/bin/bash
set -e

DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
ZK_CONF_FILE="/opt/zookeeper/conf/zoo.cfg"
ZK_ID_FILE="/opt/zookeeper/data/myid"

#Get this server id
SVR_ID=$(cpsvc zookeeper server-id)
echo $SVR_ID > $ZK_ID_FILE
echo "Wrote ZooKeeper id to $ZK_ID_FILE"

#Wait for all ZK instances to be launched
cpsvc zookeeper server-launch-wait

SERVERS=$(cpsvc zookeeper server-config-ensemble)

cat <<- EOF > $ZK_CONF_FILE
tickTime=2000
initLimit=10
syncLimit=5

dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/log

clientPort=2181
quorumListenOnAllIPs=true

autopurge.purgeInterval=1
autopurge.snapRetainCount=3

${SERVERS}
EOF

echo "Wrote ZooKeeper config to $ZK_CONF_FILE"
echo "$(cat $ZK_CONF_FILE)"

exec /opt/zookeeper/bin/zkServer.sh start-foreground
