From 355b42c6236d8031cce628e5ce45003d3d28ce40 Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Fri, 9 Apr 2021 07:30:37 +0000 Subject: [PATCH] chore(CI): cts support redis sentinel --- .../docker-compose-redis-cluster-tcp.yaml | 2 +- .../docker-compose-redis-cluster-tls.yaml | 2 +- .../docker-compose-redis-sentinel-tcp.yaml | 2 +- .ci/docker-compose-file/redis/redis-tls.conf | 1 + .ci/docker-compose-file/redis/redis.conf | 1 + .ci/docker-compose-file/redis/redis.sh | 15 +++++++++++---- .ci/docker-compose-file/redis/sentinel.conf | 4 ---- .github/workflows/run_cts_tests.yaml | 12 ++++++++++++ 8 files changed, 28 insertions(+), 11 deletions(-) delete mode 100644 .ci/docker-compose-file/redis/sentinel.conf diff --git a/.ci/docker-compose-file/docker-compose-redis-cluster-tcp.yaml b/.ci/docker-compose-file/docker-compose-redis-cluster-tcp.yaml index 7ecc686bc..997388aa5 100644 --- a/.ci/docker-compose-file/docker-compose-redis-cluster-tcp.yaml +++ b/.ci/docker-compose-file/docker-compose-redis-cluster-tcp.yaml @@ -1,7 +1,7 @@ version: '3.9' services: - redis_cluster: + redis_server: image: redis:${REDIS_TAG} container_name: redis volumes: diff --git a/.ci/docker-compose-file/docker-compose-redis-cluster-tls.yaml b/.ci/docker-compose-file/docker-compose-redis-cluster-tls.yaml index 9f41e7fed..78b655946 100644 --- a/.ci/docker-compose-file/docker-compose-redis-cluster-tls.yaml +++ b/.ci/docker-compose-file/docker-compose-redis-cluster-tls.yaml @@ -1,7 +1,7 @@ version: '3.9' services: - redis_cluster: + redis_server: container_name: redis image: redis:${REDIS_TAG} volumes: diff --git a/.ci/docker-compose-file/docker-compose-redis-sentinel-tcp.yaml b/.ci/docker-compose-file/docker-compose-redis-sentinel-tcp.yaml index 2c391be04..1cdd28726 100644 --- a/.ci/docker-compose-file/docker-compose-redis-sentinel-tcp.yaml +++ b/.ci/docker-compose-file/docker-compose-redis-sentinel-tcp.yaml @@ -1,7 +1,7 @@ version: '3.9' services: - redis_cluster: + redis_server: container_name: redis image: redis:${REDIS_TAG} volumes: diff --git a/.ci/docker-compose-file/redis/redis-tls.conf b/.ci/docker-compose-file/redis/redis-tls.conf index 8e146f9e7..30559e487 100644 --- a/.ci/docker-compose-file/redis/redis-tls.conf +++ b/.ci/docker-compose-file/redis/redis-tls.conf @@ -5,3 +5,4 @@ tls-cert-file /tls/redis.crt tls-key-file /tls/redis.key tls-ca-cert-file /tls/ca.crt requirepass public +masterauth public diff --git a/.ci/docker-compose-file/redis/redis.conf b/.ci/docker-compose-file/redis/redis.conf index d6f158971..6181925db 100644 --- a/.ci/docker-compose-file/redis/redis.conf +++ b/.ci/docker-compose-file/redis/redis.conf @@ -2,3 +2,4 @@ daemonize yes bind 0.0.0.0 :: logfile /var/log/redis-server.log requirepass public +masterauth public diff --git a/.ci/docker-compose-file/redis/redis.sh b/.ci/docker-compose-file/redis/redis.sh index b03eca7c6..faa9e37e0 100755 --- a/.ci/docker-compose-file/redis/redis.sh +++ b/.ci/docker-compose-file/redis/redis.sh @@ -61,19 +61,19 @@ REDIS_LOAD_FLG=true; while $REDIS_LOAD_FLG; do sleep 1; - redis-cli -p 7000 info 1> /data/conf/r7000i.log 2> /dev/null; + redis-cli --pass public --no-auth-warning -p 7000 info 1> /data/conf/r7000i.log 2> /dev/null; if [ -s /data/conf/r7000i.log ]; then : else continue; fi - redis-cli -p 7001 info 1> /data/conf/r7001i.log 2> /dev/null; + redis-cli --pass public --no-auth-warning -p 7001 info 1> /data/conf/r7001i.log 2> /dev/null; if [ -s /data/conf/r7001i.log ]; then : else continue; fi - redis-cli -p 7002 info 1> /data/conf/r7002i.log 2> /dev/null; + redis-cli --pass public --no-auth-warning -p 7002 info 1> /data/conf/r7002i.log 2> /dev/null; if [ -s /data/conf/r7002i.log ]; then : else @@ -82,7 +82,14 @@ do if [ "${node}" = "cluster" ] ; then yes "yes" | redis-cli --cluster create "$LOCAL_IP:7000" "$LOCAL_IP:7001" "$LOCAL_IP:7002" --pass public --no-auth-warning; elif [ "${node}" = "sentinel" ] ; then - cp /data/conf/sentinel.conf /_sentinel.conf + tee /_sentinel.conf>/dev/null << EOF +port 26379 +bind 0.0.0.0 :: +daemonize yes +logfile /var/log/redis-server.log +dir /tmp +sentinel monitor mymaster $LOCAL_IP 7000 1 +EOF redis-server /_sentinel.conf --sentinel; fi REDIS_LOAD_FLG=false; diff --git a/.ci/docker-compose-file/redis/sentinel.conf b/.ci/docker-compose-file/redis/sentinel.conf deleted file mode 100644 index 146ad80fe..000000000 --- a/.ci/docker-compose-file/redis/sentinel.conf +++ /dev/null @@ -1,4 +0,0 @@ -port 26379 -dir /tmp -sentinel monitor mymaster 172.16.239.10 7000 1 -logfile /var/log/redis-server.log diff --git a/.github/workflows/run_cts_tests.yaml b/.github/workflows/run_cts_tests.yaml index eed4247d4..5b5cad892 100644 --- a/.github/workflows/run_cts_tests.yaml +++ b/.github/workflows/run_cts_tests.yaml @@ -301,10 +301,13 @@ jobs: - tcp node_type: - single + - sentinel - cluster exclude: - redis_tag: 5 connect_type: tls + - node_type: sentinel + connect_type: tls steps: - uses: actions/checkout@v1 @@ -355,6 +358,15 @@ jobs: EMQX_AUTH__REDIS__TYPE=single EMQX_AUTH__REDIS__SERVER=${redis_${{ matrix.network_type }}_address}:6380 EOF + - name: setup + if: matrix.node_type == 'sentinel' + run: | + cat <<-EOF >> "$GITHUB_ENV" + EMQX_AUTH__REDIS__TYPE=sentinel + EMQX_AUTH__REDIS__SERVER=${redis_${{ matrix.network_type }}_address}:26379 + EMQX_AUTH__REDIS__SENTINEL=mymaster + EMQX_AUTH__REDIS__POOL=1 + EOF - name: setup if: matrix.node_type == 'cluster' && matrix.connect_type == 'tcp' run: |