From 1219f7b2a213af5d5697a1c4cb48486e9c08c81e Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Wed, 1 Aug 2018 12:42:05 -0400 Subject: [PATCH] Check if it's leader before calling leader_set() There may be situations where leader-elected hook is executed without being the leader and making leader_set() calls fail, this patch verifies if it's the leader before attempting to use leader_set() Change-Id: Ia435069f5df80bfdf0236d14664317990bd06407 Closes-Bug: 1784584 --- hooks/percona_hooks.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hooks/percona_hooks.py b/hooks/percona_hooks.py index 70be30b..1b688bb 100755 --- a/hooks/percona_hooks.py +++ b/hooks/percona_hooks.py @@ -807,7 +807,11 @@ def leader_settings_changed(): @hooks.hook('leader-elected') def leader_elected(): '''Set the leader nodes IP''' - leader_set(**{'leader-ip': get_relation_ip('cluster')}) + if is_leader(): + leader_set(**{'leader-ip': get_relation_ip('cluster')}) + else: + log('leader-elected hook executed, but this unit is not the leader', + level=INFO) @hooks.hook('nrpe-external-master-relation-joined',