From cb38e50ac1d90b860767e6e914fe6a61270f0f31 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Fri, 26 Feb 2016 08:50:53 +0100 Subject: [PATCH 1/3] Remove unused code --- patroni/dcs.py | 8 -------- tests/test_etcd.py | 8 +++----- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/patroni/dcs.py b/patroni/dcs.py index 4c2dddad..8cda0620 100644 --- a/patroni/dcs.py +++ b/patroni/dcs.py @@ -3,7 +3,6 @@ import json import dateutil from collections import namedtuple -from patroni.exceptions import DCSError from six.moves.urllib_parse import urlparse, urlunparse, parse_qsl from threading import Event, Lock @@ -269,13 +268,6 @@ class AbstractDCS(object): return self.set_failover_value(json.dumps(failover_value), index) - def current_leader(self): - try: - cluster = self.get_cluster() - return None if cluster.is_unlocked() else cluster.leader - except DCSError: - return None - @abc.abstractmethod def touch_member(self, connection_string, ttl=None): """Update member key in DCS. diff --git a/tests/test_etcd.py b/tests/test_etcd.py index 601a0cd6..c14d3cac 100644 --- a/tests/test_etcd.py +++ b/tests/test_etcd.py @@ -7,8 +7,9 @@ import unittest from dns.exception import DNSException from mock import Mock, patch -from patroni.dcs import Cluster, DCSError, Leader +from patroni.dcs import Cluster from patroni.etcd import Client, Etcd, EtcdError +from patroni.exceptions import DCSError class MockResponse(object): @@ -229,11 +230,8 @@ class TestEtcd(unittest.TestCase): cluster = self.etcd.get_cluster() self.assertIsInstance(cluster, Cluster) self.assertIsNone(cluster.leader) - - def test_current_leader(self): - self.assertIsInstance(self.etcd.current_leader(), Leader) self.etcd._base_path = '/service/noleader' - self.assertIsNone(self.etcd.current_leader()) + self.assertRaises(EtcdError, self.etcd.get_cluster) def test_touch_member(self): self.assertFalse(self.etcd.touch_member('', '')) From d3c2b8b2aa28a09f4c2c30169ba061fae70268c7 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Fri, 11 Mar 2016 15:18:58 +0100 Subject: [PATCH 2/3] replace unused variables with _ --- patroni/api.py | 4 ++-- patroni/ctl.py | 2 +- patroni/ha.py | 4 ++-- patroni/scripts/wale_restore.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/patroni/api.py b/patroni/api.py index 1186321f..f2877b05 100644 --- a/patroni/api.py +++ b/patroni/api.py @@ -143,7 +143,7 @@ class RestApiHandler(BaseHTTPRequestHandler): self.wfile.write(data) def poll_failover_result(self, leader, member): - for a in range(0, 15): + for _ in range(0, 15): time.sleep(1) try: cluster = self.server.patroni.dcs.get_cluster() @@ -166,7 +166,7 @@ class RestApiHandler(BaseHTTPRequestHandler): members = [m for m in cluster.members if m.name != cluster.leader.name and m.api_url] if not members: return b'failover is not possible: cluster does not have members except leader' - for member, reachable, in_recovery, xlog_location, tags in self.server.patroni.ha.fetch_nodes_statuses(members): + for member, reachable, _, xlog_location, tags in self.server.patroni.ha.fetch_nodes_statuses(members): if reachable and not tags.get('nofailover', False): return None return b'failover is not possible: no good candidates have been found' diff --git a/patroni/ctl.py b/patroni/ctl.py index c4cc9fe0..9d07267b 100644 --- a/patroni/ctl.py +++ b/patroni/ctl.py @@ -240,7 +240,7 @@ def dsn(cluster_name, config_file, dcs, role, member): if member is None and role is None: role = 'master' - config, dcs, cluster = ctl_load_config(cluster_name, config_file, dcs) + _, dcs, cluster = ctl_load_config(cluster_name, config_file, dcs) m = get_any_member(cluster=cluster, role=role, member=member) if m is None: raise PatroniCtlException('Can not find a suitable member') diff --git a/patroni/ha.py b/patroni/ha.py index 98ba4398..d4697fe0 100644 --- a/patroni/ha.py +++ b/patroni/ha.py @@ -203,7 +203,7 @@ class Ha(object): ret = False members = [m for m in members if m.name != self.state_handler.name and not m.nofailover and m.api_url] if members: - for member, reachable, in_recovery, xlog_location, tags in self.fetch_nodes_statuses(members): + for member, reachable, _, xlog_location, tags in self.fetch_nodes_statuses(members): if reachable and not tags.get('nofailover', False): ret = True # TODO: check xlog_location elif not reachable: @@ -223,7 +223,7 @@ class Ha(object): # find specific node and check that it is healthy members = [m for m in self.cluster.members if m.name == failover.member] if members: - member, reachable, in_recovery, xlog_location, tags = self.fetch_node_status(members[0]) + member, reachable, _, xlog_location, tags = self.fetch_node_status(members[0]) if reachable and not tags.get('nofailover', False): # node is healthy logger.info('manual failover: to %s, i am %s', member.name, self.state_handler.name) return False diff --git a/patroni/scripts/wale_restore.py b/patroni/scripts/wale_restore.py index c80cdfae..f3691907 100755 --- a/patroni/scripts/wale_restore.py +++ b/patroni/scripts/wale_restore.py @@ -154,7 +154,7 @@ def main(): args = parser.parse_args() # retry cloning in a loop - for retry in range(0, args.retries + 1): + for _ in range(0, args.retries + 1): restore = WALERestore(scope=args.scope, datadir=args.datadir, connstring=args.connstring, env_dir=args.envdir, threshold_mb=args.threshold_megabytes, threshold_pct=args.threshold_backup_size_percentage, use_iam=args.use_iam, From 3319c3eeea7e3996b56d8e2d7eafc7ba2455674b Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Fri, 11 Mar 2016 15:36:24 +0100 Subject: [PATCH 3/3] replace unused variables with _ --- patroni/ha.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patroni/ha.py b/patroni/ha.py index d4697fe0..5a7e50a9 100644 --- a/patroni/ha.py +++ b/patroni/ha.py @@ -203,7 +203,7 @@ class Ha(object): ret = False members = [m for m in members if m.name != self.state_handler.name and not m.nofailover and m.api_url] if members: - for member, reachable, _, xlog_location, tags in self.fetch_nodes_statuses(members): + for member, reachable, _, _, tags in self.fetch_nodes_statuses(members): if reachable and not tags.get('nofailover', False): ret = True # TODO: check xlog_location elif not reachable: @@ -223,7 +223,7 @@ class Ha(object): # find specific node and check that it is healthy members = [m for m in self.cluster.members if m.name == failover.member] if members: - member, reachable, _, xlog_location, tags = self.fetch_node_status(members[0]) + member, reachable, _, _, tags = self.fetch_node_status(members[0]) if reachable and not tags.get('nofailover', False): # node is healthy logger.info('manual failover: to %s, i am %s', member.name, self.state_handler.name) return False