From 4d66a8cbe73831d3e575c939f86148ce09fb0503 Mon Sep 17 00:00:00 2001 From: Caleb Tennis Date: Fri, 20 Aug 2010 21:29:12 +0000 Subject: [PATCH] We can still do a write_ring even if nothing is present. Better than crashing anyway. --- swift/common/ring/builder.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/swift/common/ring/builder.py b/swift/common/ring/builder.py index 7c0b08adea..46ce76e149 100644 --- a/swift/common/ring/builder.py +++ b/swift/common/ring/builder.py @@ -100,9 +100,12 @@ class RingBuilder(object): continue devs[dev['id']] = dict((k, v) for k, v in dev.items() if k not in ('parts', 'parts_wanted')) - self._ring = \ - RingData([array('H', p2d) for p2d in self._replica2part2dev], - devs, 32 - self.part_power) + if not self._replica2part2dev: + self._ring = RingData([], devs, 32 - self.part_power) + else: + self._ring = \ + RingData([array('H', p2d) for p2d in self._replica2part2dev], + devs, 32 - self.part_power) return self._ring def add_dev(self, dev):