Fixed an error in previous commit where an empty servermap would throw an exception in 'count-good-share-hosts'. Augmented unit test.
Signed-off-by: Andrew Miller <amiller@dappervision.com>
This commit is contained in:
parent
4b7f34d179
commit
04eb6086ad
|
@ -122,7 +122,8 @@ class CiphertextFileNode:
|
||||||
servers_responding.union(ur.sharemap.iterkeys())
|
servers_responding.union(ur.sharemap.iterkeys())
|
||||||
prr.data['servers-responding'] = list(servers_responding)
|
prr.data['servers-responding'] = list(servers_responding)
|
||||||
prr.data['count-shares-good'] = len(sm)
|
prr.data['count-shares-good'] = len(sm)
|
||||||
prr.data['count-good-share-hosts'] = len(reduce(set.union, sm.itervalues()))
|
prr.data['count-good-share-hosts'] = len(reduce(set.union,
|
||||||
|
sm.itervalues(), set()))
|
||||||
is_healthy = bool(len(sm) >= verifycap.total_shares)
|
is_healthy = bool(len(sm) >= verifycap.total_shares)
|
||||||
is_recoverable = bool(len(sm) >= verifycap.needed_shares)
|
is_recoverable = bool(len(sm) >= verifycap.needed_shares)
|
||||||
prr.set_healthy(is_healthy)
|
prr.set_healthy(is_healthy)
|
||||||
|
|
|
@ -351,17 +351,17 @@ class BalancingAct(GridTestMixin, unittest.TestCase):
|
||||||
def add_three(_, i):
|
def add_three(_, i):
|
||||||
# Add a new server with just share 3
|
# Add a new server with just share 3
|
||||||
self.add_server_with_share(i, self.uri, 3)
|
self.add_server_with_share(i, self.uri, 3)
|
||||||
#print self._shares_chart(self.uri)
|
#print self._pretty_shares_chart(self.uri)
|
||||||
for i in range(1,5):
|
for i in range(1,5):
|
||||||
d.addCallback(add_three, i)
|
d.addCallback(add_three, i)
|
||||||
|
|
||||||
def _check_and_repair(_):
|
def _check_and_repair(_):
|
||||||
return self.imm.check_and_repair(Monitor())
|
return self.imm.check_and_repair(Monitor())
|
||||||
def _check_counts(crr):
|
def _check_counts(crr, shares_good, good_share_hosts):
|
||||||
p_crr = crr.get_post_repair_results().data
|
p_crr = crr.get_post_repair_results().data
|
||||||
#print self._shares_chart(self.uri)
|
#print self._pretty_shares_chart(self.uri)
|
||||||
self.failUnless(p_crr['count-shares-good'] == 4)
|
self.failUnless(p_crr['count-shares-good'] == shares_good)
|
||||||
self.failUnless(p_crr['count-good-share-hosts'] == 5)
|
self.failUnless(p_crr['count-good-share-hosts'] == good_share_hosts)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Initial sharemap:
|
Initial sharemap:
|
||||||
|
@ -372,11 +372,14 @@ class BalancingAct(GridTestMixin, unittest.TestCase):
|
||||||
Still 4 good shares and 5 good hosts
|
Still 4 good shares and 5 good hosts
|
||||||
"""
|
"""
|
||||||
d.addCallback(_check_and_repair)
|
d.addCallback(_check_and_repair)
|
||||||
d.addCallback(_check_counts)
|
d.addCallback(_check_counts, 4, 5)
|
||||||
d.addCallback(lambda _: self.delete_shares_numbered(self.uri, [3]))
|
d.addCallback(lambda _: self.delete_shares_numbered(self.uri, [3]))
|
||||||
d.addCallback(_check_and_repair)
|
d.addCallback(_check_and_repair)
|
||||||
d.addCallback(_check_counts)
|
d.addCallback(_check_counts, 4, 5)
|
||||||
|
d.addCallback(lambda _: [self.g.break_server(sid) for sid
|
||||||
|
in self.g.get_all_serverids()])
|
||||||
|
d.addCallback(_check_and_repair)
|
||||||
|
d.addCallback(_check_counts, 0, 0)
|
||||||
return d
|
return d
|
||||||
|
|
||||||
class AddLease(GridTestMixin, unittest.TestCase):
|
class AddLease(GridTestMixin, unittest.TestCase):
|
||||||
|
|
Loading…
Reference in New Issue