From 588c951a861549aa09575e9433d41989abbfa68b Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Mon, 11 May 2015 08:48:51 +0200 Subject: [PATCH] Return True after success call of update_leader and check return code --- helpers/etcd.py | 1 + helpers/ha.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/helpers/etcd.py b/helpers/etcd.py index 5201dde2..e3603b0c 100644 --- a/helpers/etcd.py +++ b/helpers/etcd.py @@ -86,6 +86,7 @@ class Etcd: def update_leader(self, value): try: self.put_client_path("/leader", {"value": value, "ttl": self.ttl, "prevValue": value}) + return True except urllib2.HTTPError: logger.error("Error updating TTL on ETCD for primary.") return False diff --git a/helpers/ha.py b/helpers/ha.py index ed9f11f4..725918b3 100644 --- a/helpers/ha.py +++ b/helpers/ha.py @@ -59,7 +59,7 @@ class Ha: self.state_handler.follow_the_leader(self.fetch_current_leader()) return "following a different leader because i am not the healthiest node" else: - if self.has_lock() and self.update_lock() + if self.has_lock() and self.update_lock(): if not self.state_handler.is_leader(): self.state_handler.promote() return "promoted self to leader because i had the session lock"