1# #-- redis_replica.pre--# 2# source the master var file when it's there 3[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master 4# use .tpkg.var.test for in test variable passing 5[ -f .tpkg.var.test ] && source .tpkg.var.test 6 7PRE="../.." 8. ../common.sh 9 10if grep "define USE_REDIS 1" $PRE/config.h; then echo test enabled; else skip_test "test skipped"; fi 11 12get_random_port 2 13UNBOUND_PORT=$RND_PORT 14CONTROL_PORT=$(($RND_PORT + 1)) 15echo "UNBOUND_PORT=$UNBOUND_PORT" >> .tpkg.var.test 16echo "CONTROL_PORT=$CONTROL_PORT" >> .tpkg.var.test 17 18REDIS_SOCKET=server.sock 19REDIS_REPLICA_SOCKET=replica.sock 20echo "REDIS_SOCKET=$REDIS_SOCKET" >> .tpkg.var.test 21echo "REDIS_REPLICA_SOCKET=$REDIS_REPLICA_SOCKET" >> .tpkg.var.test 22 23# start redis 24sed -e 's/@SOCKET\@/'$REDIS_SOCKET'/' -e 's/@LOGFILE\@/server.log/' < redis.conf > server.conf 25redis-server server.conf & 26REDIS_PID=$! 27echo "REDIS_PID=$REDIS_PID" >> .tpkg.var.test 28 29# start redis replica 30sed -e 's/@SOCKET\@/'$REDIS_REPLICA_SOCKET'/' -e 's/@LOGFILE\@/replica.log/' < redis.conf > replica.conf 31redis-server replica.conf & 32REDIS_REPLICA_PID=$! 33echo "REDIS_REPLICA_PID=$REDIS_REPLICA_PID" >> .tpkg.var.test 34 35# Copy initial zonefile 36cp before.zone redis.zone 37 38# make config file 39sed -e 's/@PORT\@/'$UNBOUND_PORT'/' -e 's/@REDIS_SOCKET\@/'$REDIS_SOCKET'/' -e 's/@REDIS_REPLICA_SOCKET\@/'$REDIS_REPLICA_SOCKET'/' -e 's/@CONTROL_PORT\@/'$CONTROL_PORT'/' < redis_replica.conf > ub.conf 40# start unbound in the background 41$PRE/unbound -d -c ub.conf >unbound.log 2>&1 & 42UNBOUND_PID=$! 43echo "UNBOUND_PID=$UNBOUND_PID" >> .tpkg.var.test 44 45cat .tpkg.var.test 46wait_unbound_up unbound.log 47