diff options
author | Chayim <chayim@users.noreply.github.com> | 2022-01-26 16:51:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-26 16:51:08 +0200 |
commit | 9292e56a26e90a833763dabd92d0c848eecc6685 (patch) | |
tree | 0b669cf0233363192b0d419c25614561e641fbf5 | |
parent | 26491dc25bfc88ea5c9b26d18daf38e3227db751 (diff) | |
download | redis-py-9292e56a26e90a833763dabd92d0c848eecc6685.tar.gz |
cluster script fixes to support future cluster versions and redis unstable (#1900)
-rw-r--r-- | docker/base/Dockerfile.cluster | 4 | ||||
-rw-r--r-- | docker/base/Dockerfile.unstable_cluster | 4 | ||||
-rw-r--r-- | docker/base/Dockerfile.unstable_sentinel | 17 | ||||
-rw-r--r-- | docker/base/create_cluster.sh | 28 |
4 files changed, 46 insertions, 7 deletions
diff --git a/docker/base/Dockerfile.cluster b/docker/base/Dockerfile.cluster index 5d41980..5c246dc 100644 --- a/docker/base/Dockerfile.cluster +++ b/docker/base/Dockerfile.cluster @@ -6,4 +6,6 @@ RUN chmod +x /create_cluster.sh EXPOSE 16379 16380 16381 16382 16383 16384 -CMD /create_cluster.sh 16379 16384 +ENV START_PORT=16379 +ENV END_PORT=16384 +CMD /create_cluster.sh diff --git a/docker/base/Dockerfile.unstable_cluster b/docker/base/Dockerfile.unstable_cluster index 31e4275..2e3ed55 100644 --- a/docker/base/Dockerfile.unstable_cluster +++ b/docker/base/Dockerfile.unstable_cluster @@ -6,4 +6,6 @@ RUN chmod +x /create_cluster.sh EXPOSE 6372 6373 6374 6375 6376 6377 -CMD /create_cluster.sh 6372 6377 +ENV START_PORT=6372 +ENV END_PORT=6377 +CMD ["/create_cluster.sh"] diff --git a/docker/base/Dockerfile.unstable_sentinel b/docker/base/Dockerfile.unstable_sentinel new file mode 100644 index 0000000..fe6d062 --- /dev/null +++ b/docker/base/Dockerfile.unstable_sentinel @@ -0,0 +1,17 @@ +# produces redisfab/redis-py-sentinel:unstable +FROM ubuntu:bionic as builder +RUN apt-get update +RUN apt-get upgrade -y +RUN apt-get install -y build-essential git +RUN mkdir /build +WORKDIR /build +RUN git clone https://github.com/redis/redis +WORKDIR /build/redis +RUN make + +FROM ubuntu:bionic as runner +COPY --from=builder /build/redis/src/redis-server /usr/bin/redis-server +COPY --from=builder /build/redis/src/redis-cli /usr/bin/redis-cli +COPY --from=builder /build/redis/src/redis-sentinel /usr/bin/redis-sentinel + +CMD ["redis-sentinel", "/sentinel.conf"] diff --git a/docker/base/create_cluster.sh b/docker/base/create_cluster.sh index 7233294..fcb1b1c 100644 --- a/docker/base/create_cluster.sh +++ b/docker/base/create_cluster.sh @@ -1,9 +1,21 @@ #! /bin/bash + mkdir -p /nodes touch /nodes/nodemap -START_NODE=$1 -END_NODE=$2 -for PORT in `seq ${START_NODE} ${END_NODE}`; do +if [ -z ${START_PORT} ]; then + START_PORT=16379 +fi +if [ -z ${END_PORT} ]; then + END_PORT=16384 +fi +if [ ! -z "$3" ]; then + START_PORT=$2 + START_PORT=$3 +fi +echo "STARTING: ${START_PORT}" +echo "ENDING: ${END_PORT}" + +for PORT in `seq ${START_PORT} ${END_PORT}`; do mkdir -p /nodes/$PORT if [[ -e /redis.conf ]]; then cp /redis.conf /nodes/$PORT/redis.conf @@ -17,12 +29,18 @@ daemonize yes logfile /redis.log dir /nodes/$PORT EOF + + set -x redis-server /nodes/$PORT/redis.conf if [ $? -ne 0 ]; then echo "Redis failed to start, exiting." - exit 3 + continue fi echo 127.0.0.1:$PORT >> /nodes/nodemap done -echo yes | redis-cli --cluster create $(seq -f 127.0.0.1:%g ${START_NODE} ${END_NODE}) --cluster-replicas 1 +if [ -z "${REDIS_PASSWORD}" ]; then + echo yes | redis-cli --cluster create `seq -f 127.0.0.1:%g ${START_PORT} ${END_PORT}` --cluster-replicas 1 +else + echo yes | redis-cli -a ${REDIS_PASSWORD} --cluster create `seq -f 127.0.0.1:%g ${START_PORT} ${END_PORT}` --cluster-replicas 1 +fi tail -f /redis.log |