Docs: Change the copyright holder to "The Exim Maintainers"
[exim.git] / test / scripts / 2701-redis-cluster / 2701
1 # Redis lookups and quoting in cluster mode
2 #
3 #
4 echo Setting up 2-node cluster...
5 sudo rm -fr DIR/redis-cluster
6 mkdir -p DIR/redis-cluster/node1 DIR/redis-cluster/node2
7 #
8 echo Starting node1
9 perl
10 system 'redis-server --bind 127.0.0.1 --port 6379 --cluster-enabled yes --cluster-config-file node1.conf --dir DIR/redis-cluster/node1 --logfile node1.log --daemonize yes --pidfile node1.pid --loglevel debug';
11 ****
12 sleep 5
13 echo Starting node2
14 perl
15 system 'redis-server --bind 127.0.0.1 --port 6380 --cluster-enabled yes --cluster-config-file node2.conf --dir DIR/redis-cluster/node2 --logfile node2.log --daemonize yes --pidfile node2.pid --loglevel debug';
16 ****
17 #
18 sleep 5
19 echo Creating slots, node1
20 perl
21 system 'for x in {0..8191}; do echo "CLUSTER ADDSLOTS $x" | redis-cli -p 6379 | egrep -v OK; done';
22 ****
23 sleep 5
24 echo Creating slots, node2
25 perl
26 system 'for x in {8192..16383}; do echo "CLUSTER ADDSLOTS $x" | redis-cli -p 6380 | egrep -v OK; done';
27 ****
28 sleep 5
29 echo Sending CLUSTER MEET
30 perl
31 system 'echo "CLUSTER MEET 127.0.0.1 6380" | redis-cli -p 6379 -c';
32 ****
33 sleep 5
34 exim -be -d-all+expand+lookup
35 ${lookup redis{set ${quote_redis:KEY_100_1001 ABCDEF} ${quote_redis:objvalue plus}}}
36 ${lookup redis{set ${quote_redis:01t67it} ${quote_redis:bfhdkbflks}}}
37 ****
38 sleep 2
39 exim -be -d-all+expand+lookup
40 ${lookup redis{get ${quote_redis:KEY_100_1001 ABCDEF}}}
41 ${lookup redis{get ${quote_redis:01t67it}}}
42 ****
43 #
44 sleep 5
45 perl
46 my @pidfiles = ( "DIR/redis-cluster/node1/node1.pid", "DIR/redis-cluster/node2/node2.pid" );
47 foreach my $pidfile (@pidfiles) {
48   if ( -f $pidfile ) {
49     open (my $fh, "<", $pidfile);
50     while (my $pid = <$fh>) {
51       chomp $pid;
52       kill 'TERM', $pid;
53     }
54   }
55 }
56 ****
57 sudo rm -fr DIR/redis-cluster
58 no_stderr_check