- return FillDict(self.hvparams.get(instance.hypervisor, {}),
- instance.hvparams, skip_keys=skip_keys)
+
+ # We fill the list from least to most important override
+ fill_stack = [
+ self.hvparams.get(instance.hypervisor, {}),
+ self.os_hvp.get(instance.os, {}).get(instance.hypervisor, {}),
+ instance.hvparams,
+ ]
+
+ ret_dict = {}
+ for o_dict in fill_stack:
+ ret_dict = FillDict(ret_dict, o_dict, skip_keys=skip_keys)
+
+ return ret_dict