3bef84147b
Add support for Redis in the loadbalancer setup. Redis loadbalancing system is particular as it does not provide clustering capabilities yet, hence this pattern[1] will be applied. [1] https://github.com/falsecz/haredis Change-Id: I80a6c284af9eceb6b669a03c5d93256261523331
31 lines
920 B
Plaintext
31 lines
920 B
Plaintext
#!/bin/bash
|
|
HAPROXY="<%= @haproxy_monitor_ip %>:1993"
|
|
CMD="$1"
|
|
ARGS="$2"
|
|
ARG1=`echo $ARGS | awk '{print $1}'`
|
|
|
|
|
|
call_curl () {
|
|
DATA=`echo "s=$1&action=$2&b=%234" | sed -e s/:/%3A/`
|
|
curl --silent -o /dev/null $HAPROXY --data "$DATA"
|
|
echo curl $HAPROXY --data "$DATA"
|
|
return 0
|
|
}
|
|
|
|
|
|
[ "$CMD" = "+odown" ] && [ "$ARG1" = "master" ] && \
|
|
call_curl `echo $ARGS | awk '{print $2 ":" $3 ":" $4}'` 'disable'
|
|
|
|
[ "$CMD" = "+sdown" ] && [ "$ARG1" = "slave" ] && \
|
|
call_curl `echo $ARGS | awk '{print $6 ":" $3 ":" $4}'` 'disable'
|
|
|
|
[ "$CMD" = "+switch-master" ] && \
|
|
call_curl `echo $ARGS | awk '{print $1 ":" $4 ":" $5}'` 'enable' &&
|
|
call_curl `echo $ARGS | awk '{print $1 ":" $2 ":" $3}'` 'disable'
|
|
|
|
[ "$CMD" = "-odown" ] && [ "$ARG1" = "master" ] && \
|
|
call_curl `echo $ARGS | awk '{print $2 ":" $3 ":" $4}'` 'enable'
|
|
|
|
# without exit code, sentinel thinks the script is still running and locks any further execution
|
|
exit 0
|