From c0cc59093820bd134935e508281e67e76647df6b Mon Sep 17 00:00:00 2001 From: Oleksii Kliukin Date: Fri, 10 Jul 2015 12:58:37 +0200 Subject: [PATCH] Remove usage of AWS.py from Patroni Functionality provided by that module will be achieved via callbacks. - fix a typo in aws.py - fix some mixups of old code and new callbacks in postgresql.py --- helpers/aws.py | 2 +- helpers/postgresql.py | 13 +++---------- patroni.py | 2 -- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/helpers/aws.py b/helpers/aws.py index 02ddd7fe..6a04da92 100644 --- a/helpers/aws.py +++ b/helpers/aws.py @@ -76,7 +76,7 @@ if __name__ == '__main__': return 1 action, role, name = sys.argv[1:] if action in ('on_start', 'on_stop', 'on_role_change'): - aws = gAWSConnection({'cluster_name': name}) + aws = AWSConnection({'cluster_name': name}) aws.on_role_change(role) return 0 return 2 diff --git a/helpers/postgresql.py b/helpers/postgresql.py index a7c2f742..5dff6578 100644 --- a/helpers/postgresql.py +++ b/helpers/postgresql.py @@ -35,7 +35,7 @@ def parseurl(url): class Postgresql: - def __init__(self, config, on_change_callback=None): + def __init__(self, config): self.config = config self.name = config['name'] self.listen_addresses, self.port = config['listen'].split(':') @@ -66,7 +66,6 @@ class Postgresql: self._connection = None self._cursor_holder = None self.members = [] # list of already existing replication slots - self.on_change_callback = on_change_callback def get_local_address(self): listen_addresses = self.listen_addresses.split(',') @@ -265,8 +264,6 @@ class Postgresql: self.save_configuration_files() if ret and 'on_start' in self.callback: self.call_nowait('on_start') - if self.on_change_callback: - self.on_change_callback('replica' if os.path.exists(self.recovery_conf) else 'master') return ret def stop(self): @@ -372,10 +369,8 @@ primary_conninfo = '{}' if not self.check_recovery_conf(leader): self.write_recovery_conf(leader) self.restart() - if self.on_change_callback['on_role_change']: + if 'on_role_change' in self.callback: self.call_nowait('on_role_change') - if self.on_change_callback: - self.on_change_callback('replica') def save_configuration_files(self): """ @@ -395,10 +390,8 @@ primary_conninfo = '{}' def promote(self): self.is_promoted = subprocess.call(self._pg_ctl + ['promote']) == 0 - if self.is_promoted and self.on_change_callback['on_role_change']: + if self.is_promoted and 'on_role_change' in self.callback: self.call_nowait('on_role_change') - if self.on_change_callback: - self.on_change_callback('master') return self.is_promoted def demote(self, leader): diff --git a/patroni.py b/patroni.py index d90e5c64..6f06a056 100755 --- a/patroni.py +++ b/patroni.py @@ -6,7 +6,6 @@ import time import yaml from helpers.api import RestApiServer -from helpers.aws import AWSConnection from helpers.etcd import Etcd from helpers.ha import Ha from helpers.postgresql import Postgresql @@ -18,7 +17,6 @@ class Patroni: def __init__(self, config): self.nap_time = config['loop_wait'] - self.aws = AWSConnection(config) self.postgresql = Postgresql(config['postgresql']) self.ha = Ha(self.postgresql, self.get_dcs(self.postgresql.name, config)) host, port = config['restapi']['listen'].split(':')