From 1eae9f1e2f471e14e7c311031efbc91ba4a6c398 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Wed, 6 Sep 2017 13:53:01 -0500 Subject: [PATCH] Change member join reconcile step to process joining itself, to handle node IP address changes correctly when number of servers < 3 --- agent/consul/leader.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agent/consul/leader.go b/agent/consul/leader.go index 31d197b67..7768842b8 100644 --- a/agent/consul/leader.go +++ b/agent/consul/leader.go @@ -626,8 +626,8 @@ func (s *Server) handleDeregisterMember(reason string, member serf.Member) error // joinConsulServer is used to try to join another consul server func (s *Server) joinConsulServer(m serf.Member, parts *metadata.Server) error { - // Do not join ourself - if m.Name == s.config.NodeName { + // Do not join ourself if we are the only member + if m.Name == s.config.NodeName && len(s.serfLAN.Members()) == 1 { return nil }