From e9934be9aa80f04990eb07eb6708c50422cff4aa Mon Sep 17 00:00:00 2001 From: Oleksii Kliukin Date: Fri, 17 Jul 2015 17:26:28 +0200 Subject: [PATCH] Do not terminate on callback failure. Show the error if a callback command fails and move on. Set the executable bit for the aws callback. --- helpers/postgresql.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/helpers/postgresql.py b/helpers/postgresql.py index 371c187a..0c31ddac 100644 --- a/helpers/postgresql.py +++ b/helpers/postgresql.py @@ -251,7 +251,12 @@ class Postgresql: logger.warning("unable to perform {0} action, cannot obtain the cluster role: {1}".format(cb_name, e)) return False name = self.name - subprocess.Popen(shlex.split(os.path.abspath(cmd))+[cb_name, "master" if is_leader else "replica", name]) + try: + role = "master" if is_leader else "replica" + subprocess.Popen(shlex.split(os.path.abspath(cmd))+[cb_name, role, name]) + except Exception as e: + logger.warning("callback {0} {1} {2} {3} failed: {4}".format(os.path.abspath(cmd), cb_name, role, name, e)) + return False return True def start(self):