emqx/scripts/test/influx/start.sh

37 lines
914 B
Bash
Executable File

#!/usr/bin/env bash
NET='emqx.influx.io'
NODE2_FQDN="emqx@emqx_2.$NET"
NODE1_CONTAINER_NAME="emqx_1"
NODE2_CONTAINER_NAME="emqx_2"
INFLUXDB_CONTAINER_NAME="influxdb_server"
export EMQX_IMAGE_TAG="${EMQX_IMAGE_TAG:-latest}"
cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" || exit
docker rm -f "$NODE1_CONTAINER_NAME" "$NODE2_CONTAINER_NAME" "$INFLUXDB_CONTAINER_NAME"
docker-compose up -d
wait_limit=60
wait_for_emqx() {
container="$1"
wait_limit="$2"
wait_sec=0
while ! docker exec "$container" emqx_ctl status >/dev/null 2>&1; do
wait_sec=$(( wait_sec + 1 ))
if [ $wait_sec -gt "$wait_limit" ]; then
echo "timeout wait for EMQX"
exit 1
fi
echo -n '.'
sleep 1
done
}
wait_for_emqx "$NODE1_CONTAINER_NAME" 30
wait_for_emqx "$NODE2_CONTAINER_NAME" 30
echo
docker exec "$NODE1_CONTAINER_NAME" emqx_ctl cluster join "$NODE2_FQDN"