nova scheduling study on making it smart by machine learning
update in 2019 June: I managed to implement it, check here ;-) will write more on how it was done…
This note is my brain dump on getting ideas to do machine learning enabled optimized nova scheduler weighing.
How existing Weighing works?
Short version conclusion
By default, it simply weighted all existing weighers with weighing factor 1.0.
TL;DR
see ref first : https://www.slideshare.net/guptapeeyush1/presentation1-23249150
The weighing was called by:
self.weight_handler.get_weighed_objects(self.weighers)
self.weighers
comes fromCONF.host_mgr_sched_wgt_cls_opt
By default it’s all weighers
default=["nova.scheduler.weights.all_weighers"]
get_weighed_objects
is doing this:1
2
3for i, weight in enumerate(weights):
obj = weighed_objs[i]
obj.weight += weigher.weight_multiplier() * weightBelow are mentioned subroutines…