Merge "Fix crash in swift-ring-builder's list_parts command."

This commit is contained in:
Jenkins 2013-03-18 18:25:51 +00:00 committed by Gerrit Code Review
commit 7b03ca15b2
2 changed files with 4 additions and 0 deletions
swift/common/ring
test/unit/common/ring

@ -937,6 +937,8 @@ class RingBuilder(object):
Deliberately includes duplicates.
"""
if self._replica2part2dev is None:
return []
return [self.devs[part2dev[part]]
for part2dev in self._replica2part2dev
if part < len(part2dev)]

@ -797,6 +797,8 @@ class TestRingBuilder(unittest.TestCase):
def test_get_part_devices(self):
rb = ring.RingBuilder(8, 3, 1)
self.assertEqual(rb.get_part_devices(0), [])
rb.add_dev({'id': 0, 'region': 0, 'zone': 0, 'weight': 1,
'ip': '127.0.0.1', 'port': 10000, 'device': 'sda1'})
rb.add_dev({'id': 1, 'region': 0, 'zone': 1, 'weight': 1,