test: add support of ipv6 in start-two-nodes-in-docker.sh
This commit is contained in:
parent
e7e696cd66
commit
2c13a26cac
|
@ -16,6 +16,7 @@ NET='emqx.io'
|
|||
NODE1="node1.$NET"
|
||||
NODE2="node2.$NET"
|
||||
COOKIE='this-is-a-secret'
|
||||
IPV6=0
|
||||
|
||||
cleanup() {
|
||||
docker rm -f haproxy >/dev/null 2>&1 || true
|
||||
|
@ -24,31 +25,61 @@ cleanup() {
|
|||
docker network rm "$NET" >/dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
while getopts ":Pc" opt
|
||||
show_help() {
|
||||
echo "Usage: $0 [options] EMQX_IMAGE1 [EMQX_IAMGE2]"
|
||||
echo ""
|
||||
echo "Specifiy which docker image to run with EMQX_IMAGE1"
|
||||
echo "EMQX_IMAGE2 is the same as EMQX_IMAGE1 if not set"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " -h, --help Show this help message and exit."
|
||||
echo " -P Add -p options for docker run to expose more HAProxy container ports."
|
||||
echo " -6 Test with IPv6"
|
||||
echo " -c Cleanup: delete docker network, force delete the containers."
|
||||
}
|
||||
|
||||
while getopts "hc6P:" opt
|
||||
do
|
||||
case $opt in
|
||||
# -P option is treated similarly to docker run -P:
|
||||
# publish ports to random available host ports
|
||||
P) HAPROXY_PORTS=(-p 18083 -p 8883 -p 8084);;
|
||||
c) cleanup; exit 0;;
|
||||
h) show_help; exit 0;;
|
||||
6) IPV6=1;;
|
||||
*) ;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
IMAGE1="${1}"
|
||||
IMAGE1="${1:-}"
|
||||
IMAGE2="${2:-${IMAGE1}}"
|
||||
|
||||
if [ -z "${IMAGE1:-}" ] || [ -z "${IMAGE2:-}" ]; then
|
||||
show_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
docker network create "$NET"
|
||||
if [ ${IPV6} = 1 ]; then
|
||||
docker network create --ipv6 --subnet 2001:0DB8::/112 "$NET"
|
||||
RPC_ADDRESS="::"
|
||||
PROTO_DIST='inet6_tls'
|
||||
else
|
||||
docker network create "$NET"
|
||||
RPC_ADDRESS="0.0.0.0"
|
||||
PROTO_DIST='inet_tls'
|
||||
fi
|
||||
|
||||
docker run -d -t --restart=always --name "$NODE1" \
|
||||
--net "$NET" \
|
||||
-e EMQX_LOG__CONSOLE_HANDLER__LEVEL=debug \
|
||||
-e EMQX_NODE_NAME="emqx@$NODE1" \
|
||||
-e EMQX_NODE_COOKIE="$COOKIE" \
|
||||
-e EMQX_CLUSTER__PROTO_DIST='inet_tls' \
|
||||
-e EMQX_CLUSTER__PROTO_DIST="${PROTO_DIST}" \
|
||||
-e EMQX_RPC__LISTEN_ADDRESS="${RPC_ADDRESS}" \
|
||||
-e EMQX_RPC__IPV6_ONLY="true" \
|
||||
-e EMQX_listeners__ssl__default__enable=false \
|
||||
-e EMQX_listeners__wss__default__enable=false \
|
||||
-e EMQX_listeners__tcp__default__proxy_protocol=true \
|
||||
|
@ -60,7 +91,9 @@ docker run -d -t --restart=always --name "$NODE2" \
|
|||
-e EMQX_LOG__CONSOLE_HANDLER__LEVEL=debug \
|
||||
-e EMQX_NODE_NAME="emqx@$NODE2" \
|
||||
-e EMQX_NODE_COOKIE="$COOKIE" \
|
||||
-e EMQX_CLUSTER__PROTO_DIST='inet_tls' \
|
||||
-e EMQX_CLUSTER__PROTO_DIST="${PROTO_DIST}" \
|
||||
-e EMQX_RPC__LISTEN_ADDRESS="${RPC_ADDRESS}" \
|
||||
-e EMQX_RPC__IPV6_ONLY="true" \
|
||||
-e EMQX_listeners__ssl__default__enable=false \
|
||||
-e EMQX_listeners__wss__default__enable=false \
|
||||
-e EMQX_listeners__tcp__default__proxy_protocol=true \
|
||||
|
|
Loading…
Reference in New Issue