Nova expects scheduler_hints to be a DictOfListOfStrings in the object layer(versioned objects), though there is no limitation for this in the api layer. Thefore sending a list of tuples as a scheduler_hint results in error. This also sets stack_scheduler_hints=true for integration tests. Change-Id: Id7575f67657fab86acb22d86807127dda45305d5 Closes-Bug: #1608452
1.8 KiB
Heat Stack Lifecycle Scheduler Hints
This is a mechanism whereby when heat processes a stack with Server or Volume resources, the stack id, root stack id, stack resource uuid, stack resource name and the path in the stack can be passed by heat to nova and cinder as scheduler hints.
Enabling the scheduler hints
By default, passing the lifecycle scheduler hints is disabled. To enable it, set stack_scheduler_hints to True in heat.conf.
The hints
When heat processes a stack, and the feature is enabled, the stack id, root stack id, stack resource uuid, stack resource name, and the path in the stack (as a list of comma delimited strings of stackresourcename and stackname) will be passed by heat to nova and cinder as scheduler hints.
Purpose
A heat provider may have a need for custom code to examine stack requests prior to performing the operations to create or update a stack. After the custom code completes, the provider may want to provide hints to the nova or cinder schedulers with stack related identifiers, for processing by any custom scheduler plug-ins configured for nova or cinder.