summaryrefslogtreecommitdiff
path: root/sentinel.conf
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2012-08-02 18:40:30 +0200
committerantirez <antirez@gmail.com>2012-08-02 18:40:30 +0200
commit6275004ca6c5a127c84158a290e9524c5ef5c410 (patch)
tree1e8a654bd2cf8e02ec6731a63283823439cbf700 /sentinel.conf
parent2990c366e8286a057fb016b078b00af2476c6be1 (diff)
downloadredis-6275004ca6c5a127c84158a290e9524c5ef5c410.tar.gz
Sentinel: client reconfiguration script execution.
This commit adds support to optionally execute a script when one of the following events happen: * The failover starts (with a slave already promoted). * The failover ends. * The failover is aborted. The script is called with enough parameters (documented in the example sentinel.conf file) to provide information about the old and new ip:port pair of the master, the role of the sentinel (leader or observer) and the name of the master. The goal of the script is to inform clients of the configuration change in a way specific to the environment Sentinel is running, that can't be implemented in a genereal way inside Sentinel itself.
Diffstat (limited to 'sentinel.conf')
-rw-r--r--sentinel.conf37
1 files changed, 37 insertions, 0 deletions
diff --git a/sentinel.conf b/sentinel.conf
index 367b3de45..34d185c4b 100644
--- a/sentinel.conf
+++ b/sentinel.conf
@@ -91,4 +91,41 @@ sentinel failover-timeout mymaster 900000
#
# sentinel notification-script mymaster /var/redis/notify.sh
+# CLIENTS RECONFIGURATION SCRIPT
+#
+# sentinel client-reconfig-script <master-name> <script-path>
+#
+# When the failover starts, ends, or is aborted, a script can be called in
+# order to perform application-specific tasks to notify the clients that the
+# configuration has changed and the master is at a different address.
+#
+# The script is called in the following cases:
+#
+# Failover started (a slave is already promoted)
+# Failover finished (all the additional slaves already reconfigured)
+# Failover aborted (in that case the script was previously called when the
+# failover started, and now gets called again with swapped
+# addresses).
+#
+# The following arguments are passed to the script:
+#
+# <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
+#
+# <state> is "start", "end" or "abort"
+# <role> is either "leader" or "observer"
+#
+# The arguments from-ip, from-port, to-ip, to-port are used to communicate
+# the old address of the master and the new address of the elected slave
+# (now a master) in the case state is "start" or "end".
+#
+# For abort instead the "from" is the address of the promoted slave and
+# "to" is the address of the original master address, since the failover
+# was aborted.
+#
+# This script should be resistant to multiple invocations.
+#
+# Example:
+#
+# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
+