summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlistair Coles <alistairncoles@gmail.com>2022-01-19 15:28:18 +0000
committerTim Burke <tim.burke@gmail.com>2022-01-27 09:06:22 -0800
commita50726f27a1cf76339fb23253389bc58539979b7 (patch)
treef42ad0ac1ca931a795ef3d872656c010e82a03f6
parent6942b25cc109258804989c32fa3ffe2b536c6e77 (diff)
downloadswift-a50726f27a1cf76339fb23253389bc58539979b7.tar.gz
Make NodeIter require a logger argument
Change-Id: I0f5477f383e496ec94816439d404ad6a4cfc075b
-rw-r--r--swift/proxy/controllers/base.py8
-rw-r--r--swift/proxy/server.py4
-rw-r--r--test/unit/proxy/controllers/test_base.py11
3 files changed, 13 insertions, 10 deletions
diff --git a/swift/proxy/controllers/base.py b/swift/proxy/controllers/base.py
index 2667b67ea..57d256750 100644
--- a/swift/proxy/controllers/base.py
+++ b/swift/proxy/controllers/base.py
@@ -1586,18 +1586,19 @@ class NodeIter(object):
:param app: a proxy app
:param ring: ring to get yield nodes from
:param partition: ring partition to yield nodes for
+ :param logger: a logger instance
:param node_iter: optional iterable of nodes to try. Useful if you
want to filter or reorder the nodes.
:param policy: an instance of :class:`BaseStoragePolicy`. This should be
None for an account or container ring.
- :param logger: a logger instance; defaults to the app logger
"""
- def __init__(self, app, ring, partition, node_iter=None, policy=None,
- logger=None):
+ def __init__(self, app, ring, partition, logger, node_iter=None,
+ policy=None):
self.app = app
self.ring = ring
self.partition = partition
+ self.logger = logger
part_nodes = ring.get_part_nodes(partition)
if node_iter is None:
@@ -1614,7 +1615,6 @@ class NodeIter(object):
policy=policy)
self.handoff_iter = node_iter
self._node_provider = None
- self.logger = logger or self.app.logger
@property
def primaries_left(self):
diff --git a/swift/proxy/server.py b/swift/proxy/server.py
index 091ac8cf5..5631f5661 100644
--- a/swift/proxy/server.py
+++ b/swift/proxy/server.py
@@ -701,8 +701,8 @@ class Application(object):
'port': node['port'], 'device': node['device']})
def iter_nodes(self, ring, partition, logger, node_iter=None, policy=None):
- return NodeIter(self, ring, partition, node_iter=node_iter,
- policy=policy, logger=logger)
+ return NodeIter(self, ring, partition, logger, node_iter=node_iter,
+ policy=policy)
def exception_occurred(self, node, typ, additional_info,
**kwargs):
diff --git a/test/unit/proxy/controllers/test_base.py b/test/unit/proxy/controllers/test_base.py
index f62c91365..639cfbd25 100644
--- a/test/unit/proxy/controllers/test_base.py
+++ b/test/unit/proxy/controllers/test_base.py
@@ -1477,7 +1477,7 @@ class TestNodeIter(BaseTest):
def test_iter_default_fake_ring(self):
for ring in (self.account_ring, self.container_ring):
self.assertEqual(ring.replica_count, 3.0)
- node_iter = NodeIter(self.app, ring, 0)
+ node_iter = NodeIter(self.app, ring, 0, self.logger)
self.assertEqual(6, node_iter.nodes_left)
self.assertEqual(3, node_iter.primaries_left)
count = 0
@@ -1491,7 +1491,8 @@ class TestNodeIter(BaseTest):
def test_iter_with_handoffs(self):
ring = FakeRing(replicas=3, max_more_nodes=20) # handoffs available
policy = StoragePolicy(0, 'zero', object_ring=ring)
- node_iter = NodeIter(self.app, policy.object_ring, 0, policy=policy)
+ node_iter = NodeIter(self.app, policy.object_ring, 0, self.logger,
+ policy=policy)
self.assertEqual(6, node_iter.nodes_left)
self.assertEqual(3, node_iter.primaries_left)
primary_indexes = set()
@@ -1514,10 +1515,12 @@ class TestNodeIter(BaseTest):
policy = StoragePolicy(0, 'ec', object_ring=ring)
# sanity
- node_iter = NodeIter(self.app, policy.object_ring, 0, policy=policy)
+ node_iter = NodeIter(self.app, policy.object_ring, 0, self.logger,
+ policy=policy)
self.assertEqual(16, len([n for n in node_iter]))
- node_iter = NodeIter(self.app, policy.object_ring, 0, policy=policy)
+ node_iter = NodeIter(self.app, policy.object_ring, 0, self.logger,
+ policy=policy)
self.assertEqual(16, node_iter.nodes_left)
self.assertEqual(8, node_iter.primaries_left)
pile = GreenAsyncPile(5)