Merge "Add missing docs for ring.builder.rebalance"

This commit is contained in:
Jenkins
2015-11-07 00:12:04 +00:00
committed by Gerrit Code Review

View File

@@ -396,9 +396,11 @@ class RingBuilder(object):
below 1% or doesn't change by more than 1% (only happens with ring that below 1% or doesn't change by more than 1% (only happens with ring that
can't be balanced no matter what). can't be balanced no matter what).
:returns: (number_of_partitions_altered, resulting_balance) :returns: (number_of_partitions_altered, resulting_balance,
number_of_removed_devices)
""" """
num_devices = len([d for d in self._iter_devs() if d['weight'] > 0]) num_devices = len([d for d in self._iter_devs() if d['weight'] > 0])
removed_devs = 0
if num_devices < self.replicas: if num_devices < self.replicas:
warnings.warn(RingValidationWarning( warnings.warn(RingValidationWarning(
"Replica count of %(replicas)s requires more " "Replica count of %(replicas)s requires more "
@@ -425,7 +427,7 @@ class RingBuilder(object):
self._initial_balance() self._initial_balance()
self.devs_changed = False self.devs_changed = False
self._build_dispersion_graph() self._build_dispersion_graph()
return self.parts, self.get_balance(), 0 return self.parts, self.get_balance(), removed_devs
changed_parts = 0 changed_parts = 0
self._update_last_part_moves() self._update_last_part_moves()
last_balance = 0 last_balance = 0
@@ -437,7 +439,6 @@ class RingBuilder(object):
self._set_parts_wanted() self._set_parts_wanted()
self._reassign_parts(new_parts) self._reassign_parts(new_parts)
changed_parts += len(new_parts) changed_parts += len(new_parts)
removed_devs = 0
while True: while True:
reassign_parts = self._gather_reassign_parts() reassign_parts = self._gather_reassign_parts()
changed_parts += len(reassign_parts) changed_parts += len(reassign_parts)