Merge "Make NodeIter require a logger argument"
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -702,8 +702,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):
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user