nova/nova/scheduler
Dan Smith 91e29079a0 Change consecutive build failure limit to a weigher
There is concern over the ability for compute nodes to reasonably
determine which events should count against its consecutive build
failures. Since the compute may erronenously disable itself in
response to mundane or otherwise intentional user-triggered events,
this patch adds a scheduler weigher that considers the build failure
counter and can negatively weigh hosts with recent failures. This
avoids taking computes fully out of rotation, rather treating them as
less likely to be picked for a subsequent scheduling
operation.

This introduces a new conf option to control this weight. The default
is set high to maintain the existing behavior of picking nodes that
are not experiencing high failure rates, and resetting the counter as
soon as a single successful build occurs. This is minimal visible
change from the existing behavior with default configuration.

The rationale behind the default value for this weigher comes from the
values likely to be generated by its peer weighers. The RAM and Disk
weighers will increase the score by number of available megabytes of
memory (range in thousands) and disk (range in millions). The default
value of 1000000 for the build failure weigher will cause competing
nodes with similar amounts of available disk and a small (less than ten)
number of failures to become less desirable than those without, even
with many terabytes of available disk.

Change-Id: I71c56fe770f8c3f66db97fa542fdfdf2b9865fb8
Related-Bug: #1742102
2018-06-06 15:18:50 -07:00
..
client mirror nova host aggregate members to placement 2018-05-30 12:45:20 -04:00
filters Merge "Added ability to configure default architecture for ImagePropertiesFilter" 2018-05-15 05:26:46 +00:00
weights Change consecutive build failure limit to a weigher 2018-06-06 15:18:50 -07:00
__init__.py Improve hacking rule to avoid author markers 2014-05-05 14:35:20 +02:00
caching_scheduler.py Mark Chance and Caching schedulers as deprecated 2017-08-09 10:53:53 -07:00
chance.py Modify select_destinations() to return objects and alts 2017-12-07 15:01:13 +00:00
driver.py Remove [scheduler]/host_manager config option 2018-05-03 09:39:26 -04:00
filter_scheduler.py Fix interpretation of max_attempts for scheduling alternates 2018-05-18 09:06:07 -07:00
host_manager.py Change consecutive build failure limit to a weigher 2018-06-06 15:18:50 -07:00
manager.py Remove remaning log translation in scheduler 2018-05-09 18:43:11 -07:00
request_filter.py Honor availability_zone hint via placement 2018-05-22 08:56:50 -07:00
rpcapi.py Modify select_destinations() to return objects and alts 2017-12-07 15:01:13 +00:00
utils.py Granular requests to get_allocation_candidates 2018-05-18 21:43:02 +00:00