The cinder.scheduler.weights.capacity
Module¶
-
class
AllocatedCapacityWeigher
¶ Bases:
cinder.scheduler.weights.BaseHostWeigher
Allocated Capacity Weigher weighs hosts by their allocated capacity.
The default behavior is to place new volume to the host allocated the least space. This weigher is intended to simulate the behavior of SimpleScheduler. If you prefer to place volumes to host allocated the most space, you can set the
allocated_capacity_weight_multiplier
option to a positive number and the weighing has the opposite effect of the default.-
weight_multiplier
()¶ Override the weight multiplier.
-
-
class
CapacityWeigher
¶ Bases:
cinder.scheduler.weights.BaseHostWeigher
Capacity Weigher weighs hosts by their virtual or actual free capacity.
For thin provisioning, weigh hosts by their virtual free capacity calculated by the total capacity multiplied by the max over subscription ratio and subtracting the provisioned capacity; Otherwise, weigh hosts by their actual free capacity, taking into account the reserved space.
The default is to spread volumes across all hosts evenly. If you prefer stacking, you can set the
capacity_weight_multiplier
option to a negative number and the weighing has the opposite effect of the default.-
weigh_objects
(weighed_obj_list, weight_properties)¶ Override the weigh objects.
This override calls the parent to do the weigh objects and then replaces any infinite weights with a value that is a multiple of the delta between the min and max values.
NOTE(jecarey): the infinite weight value is only used when the smallest value is being favored (negative multiplier). When the largest weight value is being used a weight of -1 is used instead. See _weigh_object method.
-
weight_multiplier
()¶ Override the weight multiplier.
-