Skip to content

Commit f804adc

Browse files
committed
Merge pull request #21 from caseydavenport/cd4-leadership
Handle connection errors on startup
2 parents 0fb1ddf + 42bc380 commit f804adc

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

policy_agent.py

+12-3
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,18 @@ def _wait_for_leadership(self):
149149
"""
150150
_log.info("Waiting for this agent to be elected leader")
151151
while True:
152-
if self._is_leader():
153-
_log.info("We have been elected leader")
154-
break
152+
try:
153+
is_leader = self._is_leader():
154+
except requests.exceptions.ConnectionError:
155+
# During startup, the leader election container
156+
# might not be up yet. Handle this case gracefully.
157+
_log.info("Waiting for leader election container")
158+
else:
159+
# Successful response from the leader election container.
160+
# Check if we are the elected leader.
161+
if is_leader:
162+
_log.info("We have been elected leader")
163+
break
155164
time.sleep(1)
156165

157166
def _start_leader_thread(self):

0 commit comments

Comments
 (0)