<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openstack.org/w/index.php?action=history&amp;feed=atom&amp;title=Heat%2FBlueprints%2FStackLifecycleSchedulerHint</id>
		<title>Heat/Blueprints/StackLifecycleSchedulerHint - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openstack.org/w/index.php?action=history&amp;feed=atom&amp;title=Heat%2FBlueprints%2FStackLifecycleSchedulerHint"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;action=history"/>
		<updated>2026-07-03T15:21:13Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=66365&amp;oldid=prev</id>
		<title>Barnold at 21:36, 21 October 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=66365&amp;oldid=prev"/>
				<updated>2014-10-21T21:36:22Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 21:36, 21 October 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot; &gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Scope:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Scope:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A heat provider to 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 scheduler with stack related identifiers, for custom scheduler plug-in processing within Nova. The blueprint describes a mechanism whereby when heat processes a stack &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;resource&lt;/del&gt;, the stack id&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;/&lt;/del&gt;stack resource id can be passed by heat as &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a hint&lt;/del&gt;, to the configured schedulers for nova.&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A heat provider to 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 scheduler with stack related identifiers, for custom scheduler plug-in processing within Nova. The blueprint describes a mechanism &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;whereby when heat processes a stack, the stack id&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, root stack id, &lt;/ins&gt;stack resource id&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, stack resource name and the path in the stack (as a list of tuples, (stackresourcename, stackname)) &lt;/ins&gt;can be passed &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to&amp;#160; nova &lt;/ins&gt;by heat as &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;scheduler hints&lt;/ins&gt;, to the configured schedulers for nova.&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Use Cases:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Use Cases:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot; &gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Implementation Overview: [Provide an overview of the implementation and any algorithms that will be used] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Implementation Overview: [Provide an overview of the implementation and any algorithms that will be used] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modifications to instance.py and server.py classes to support providing stack hints to the nova scheduler if a new heat configuration option stack_ids_as_scheduler_hints is set to true.&amp;#160;  Within both these two classes the handle_create() makes the call to nova create to create the individual servers.&amp;#160; Before this call is made &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;an &lt;/del&gt;additional scheduler &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hint for &lt;/del&gt;the stack id &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;plus &lt;/del&gt;stack resource name will be &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;added.&amp;#160; The key for this key/value pair &lt;/del&gt;will be &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;‘heat_stack_id’ &lt;/del&gt;the stack id of the stack being &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;processed &lt;/del&gt;will be set &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;as &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;value&lt;/del&gt;. The implementer of a Nova plugin scheduler can use &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;this id &lt;/del&gt;to identify holistic scheduler decisions previously made, e.g. in a callout within heat via an extension made using the stack lifecycle plugpoint.&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modifications to instance.py and server.py classes to support providing stack hints to the nova scheduler if a new heat configuration option stack_ids_as_scheduler_hints is set to true.&amp;#160;  Within both these two classes the handle_create() makes the call to nova create to create the individual servers.&amp;#160; Before this call is made additional scheduler &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;hints are added with values of &lt;/ins&gt;the stack id&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, root stack id, stack resource id, &lt;/ins&gt;stack resource name &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and the path in the stack (as a list of tuples, (stackresourcename, stackname)). heat_root_stack_id &lt;/ins&gt;will be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;set to the id of the root stack of the resource, heat_stack_id &lt;/ins&gt;will be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;set to the id of &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;resource's parent &lt;/ins&gt;stack&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, # heat_stack_name will be set to the &lt;/ins&gt;id of the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;resource's parent &lt;/ins&gt;stack&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, heat_path_in_stack will be set to a list of tuples, (stackresourcename, stackname) with list[0] &lt;/ins&gt;being &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(None, rootstackname), and heat_resource_name &lt;/ins&gt;will be set &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;resource's name. &lt;/ins&gt;. The implementer of a Nova plugin scheduler can use &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;these hints &lt;/ins&gt;to identify holistic scheduler decisions previously made, e.g. in a callout within heat via an extension made using the stack lifecycle plugpoint.&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Data Model Changes:''' [Are you introducing new model classes, or extending existing ones?] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Data Model Changes:''' [Are you introducing new model classes, or extending existing ones?] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Barnold</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=54361&amp;oldid=prev</id>
		<title>Barnold at 18:17, 30 May 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=54361&amp;oldid=prev"/>
				<updated>2014-05-30T18:17:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 18:17, 30 May 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot; &gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Scope:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Scope:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A heat provider to 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 scheduler with stack related identifiers &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;of &lt;/del&gt;custom &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;code processing for &lt;/del&gt;scheduler plug-in processing within Nova. The blueprint describes a mechanism whereby the stack id/stack resource id can be passed &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to the nova scheduler &lt;/del&gt;as a hint &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;when processing &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;stack resource&lt;/del&gt;.&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A heat provider to 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 scheduler with stack related identifiers&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, for &lt;/ins&gt;custom scheduler plug-in processing within Nova. The blueprint describes a mechanism whereby &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;when heat processes a stack resource, &lt;/ins&gt;the stack id/stack resource id can be passed &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;by heat &lt;/ins&gt;as a hint&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, to &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;configured schedulers for nova&lt;/ins&gt;.&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Use Cases:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Use Cases:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Barnold</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=54355&amp;oldid=prev</id>
		<title>Barnold at 17:57, 30 May 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=54355&amp;oldid=prev"/>
				<updated>2014-05-30T17:57:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 17:57, 30 May 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot; &gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Implementation Overview: [Provide an overview of the implementation and any algorithms that will be used] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Implementation Overview: [Provide an overview of the implementation and any algorithms that will be used] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modifications to instance.py and server.py classes to support providing stack hints to the nova scheduler.&amp;#160;  Within both these two classes the handle_create() makes the call to nova create to create the individual servers.&amp;#160; Before this call is made an additional scheduler hint for the stack id plus stack resource name will be added.&amp;#160; The key for this key/value pair will be ‘heat_stack_id’ the stack id of the stack being processed will be set as the value. The implementer of a Nova plugin scheduler can use this id to identify holistic scheduler decisions previously made in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/del&gt;callout within heat. &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modifications to instance.py and server.py classes to support providing stack hints to the nova scheduler &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;if a new heat configuration option stack_ids_as_scheduler_hints is set to true&lt;/ins&gt;.&amp;#160;  Within both these two classes the handle_create() makes the call to nova create to create the individual servers.&amp;#160; Before this call is made an additional scheduler hint for the stack id plus stack resource name will be added.&amp;#160; The key for this key/value pair will be ‘heat_stack_id’ the stack id of the stack being processed will be set as the value. The implementer of a Nova plugin scheduler can use this id to identify holistic scheduler decisions previously made&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, e.g. &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a &lt;/ins&gt;callout within heat &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;via an extension made using the stack lifecycle plugpoint&lt;/ins&gt;.&amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Data Model Changes:''' [Are you introducing new model classes, or extending existing ones?] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Data Model Changes:''' [Are you introducing new model classes, or extending existing ones?] &amp;lt;br /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Barnold</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=53033&amp;oldid=prev</id>
		<title>Barnold: Stack lifecycle scheduler hint</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/Blueprints/StackLifecycleSchedulerHint&amp;diff=53033&amp;oldid=prev"/>
				<updated>2014-05-21T18:28:33Z</updated>
		
		<summary type="html">&lt;p&gt;Stack lifecycle scheduler hint&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Stack lifecycle scheduler hint blueprint'''&lt;br /&gt;
&lt;br /&gt;
'''Scope:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A heat provider to 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 scheduler with stack related identifiers of custom code processing for scheduler plug-in processing within Nova. The blueprint describes a mechanism whereby the stack id/stack resource id can be passed to the nova scheduler as a hint when processing the stack resource.&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
'''Use Cases:''' [Short overview and high level description of what the blueprint is trying to achieve.] &amp;lt;br /&amp;gt;&lt;br /&gt;
Enabling holistic scheduling in Heat to provide heat stack/resource identifiers as a hint for scheduler processing within nova, such that a resource scheduler can identify scheduling decisions previously made for resources in a heat stack. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Implementation Overview: [Provide an overview of the implementation and any algorithms that will be used] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifications to instance.py and server.py classes to support providing stack hints to the nova scheduler.   Within both these two classes the handle_create() makes the call to nova create to create the individual servers.  Before this call is made an additional scheduler hint for the stack id plus stack resource name will be added.  The key for this key/value pair will be ‘heat_stack_id’ the stack id of the stack being processed will be set as the value. The implementer of a Nova plugin scheduler can use this id to identify holistic scheduler decisions previously made in the callout within heat. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Data Model Changes:''' [Are you introducing new model classes, or extending existing ones?] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[N/A] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Configuration variables:''' [List and explanation of the new configuration variables (if they exist)] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[N/A] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''API's:''' [List and explanation of the new API's (if they exist)] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[N/A] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Plugin Interface:''' [Does this feature introduce any change?] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[N/A] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Required Plugin support:''' [What should the plugins do to support this new feature? (If applicable)] &lt;br /&gt;
Plugins that support holistic scheduling should use this hint to identify scheduling decisions previously made in Heat.&lt;br /&gt;
Dependencies: [List of python packages and/or OpenStack components? (If applicable)] &lt;br /&gt;
[N/A]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''CLI Requirements:''' [List of CLI requirements (If applicable)] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[N/A] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Horizon Requirements:''' [List of Horizon requirements (If applicable)] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[N/A] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Usage Example:''' [How to run/use/interface with the new feature. (If applicable)] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Samples would be provided &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Test Cases:''' [Description of various test cases. (If applicable)] &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Submit heat template to the heat server.  Develop a nova scheduler plugin stub to read heat_stack_id in hint and validate new id.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Barnold</name></author>	</entry>

	</feed>