From 0e13677880cf0d363163c2235d1cc54288dcbcf1 Mon Sep 17 00:00:00 2001 From: anikin-aa Date: Wed, 29 Aug 2018 17:07:01 +0300 Subject: [PATCH] exclude members with nofailover tag (#798) Exclude members with nofailover tag from `patronictl switchover/failover` output. Fixes https://github.com/zalando/patroni/issues/769 --- patroni/ctl.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/patroni/ctl.py b/patroni/ctl.py index ccb8309f..5be1fea9 100644 --- a/patroni/ctl.py +++ b/patroni/ctl.py @@ -585,7 +585,8 @@ def _do_failover_or_switchover(obj, action, cluster_name, master, candidate, for if master is not None and cluster.leader and cluster.leader.member.name != master: raise PatroniCtlException('Member {0} is not the leader of cluster {1}'.format(master, cluster_name)) - candidate_names = [str(m.name) for m in cluster.members if m.name != master] + # excluding members with nofailover tag + candidate_names = [str(m.name) for m in cluster.members if m.name != master and not m.nofailover] # We sort the names for consistent output to the client candidate_names.sort()