<?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%2FStackMetadata</id>
		<title>Heat/StackMetadata - 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%2FStackMetadata"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/StackMetadata&amp;action=history"/>
		<updated>2026-07-08T12:04:37Z</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/StackMetadata&amp;diff=36526&amp;oldid=prev</id>
		<title>Tim Schnell: /* Use Case 1 -- Catagorization: */</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/StackMetadata&amp;diff=36526&amp;oldid=prev"/>
				<updated>2013-11-26T15:08:24Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Use Case 1 -- Catagorization:&lt;/span&gt;&lt;/span&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 15:08, 26 November 2013&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-l2&quot; &gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&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;https://blueprints.launchpad.net/heat/+spec/namespace-stack-metadata&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;https://blueprints.launchpad.net/heat/+spec/namespace-stack-metadata&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;== Use Case 1 -- &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Catagorization&lt;/del&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;== Use Case 1 -- &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Categorization&lt;/ins&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;Allow template authors to categorize&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;Allow template authors to categorize&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;the template as a specific &amp;quot;type&amp;quot;.&amp;#160; e.g.&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;the template as a specific &amp;quot;type&amp;quot;.&amp;#160; e.g.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key openstack_wiki:diff:version:1.11a:oldid:36473:newid:36526 --&gt;
&lt;/table&gt;</summary>
		<author><name>Tim Schnell</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Heat/StackMetadata&amp;diff=36473&amp;oldid=prev</id>
		<title>Kebray: Created page with &quot;This page outlines use cases for in-template Stack Metadata, as described by blueprint: https://blueprints.launchpad.net/heat/+spec/namespace-stack-metadata  == Use Case 1 -- ...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Heat/StackMetadata&amp;diff=36473&amp;oldid=prev"/>
				<updated>2013-11-26T06:26:03Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;This page outlines use cases for in-template Stack Metadata, as described by blueprint: https://blueprints.launchpad.net/heat/+spec/namespace-stack-metadata  == Use Case 1 -- ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page outlines use cases for in-template Stack Metadata, as described by blueprint:&lt;br /&gt;
https://blueprints.launchpad.net/heat/+spec/namespace-stack-metadata&lt;br /&gt;
&lt;br /&gt;
== Use Case 1 -- Catagorization: ==&lt;br /&gt;
Allow template authors to categorize&lt;br /&gt;
the template as a specific &amp;quot;type&amp;quot;.  e.g.&lt;br /&gt;
&lt;br /&gt;
    template_metadata:&lt;br /&gt;
        short_description: Wordpress&lt;br /&gt;
&lt;br /&gt;
As a UX developer of Horizon or ''any other client intended to help cloud users deploy best-practice community developed orchestration templates,'' we would like to present a list of templates organized by categories (e.g. likeness to other templates, amount of infrastructure resources required to deploy [e.g. single node server vs. multi-tier application], estimated cost [proprietary to cloud operator], &lt;br /&gt;
&lt;br /&gt;
If this metadata were stored/organized solely at the API (or a secondary side service or API wrapper around Heat) it would have to be maintained as a 1-to-1 mapping to a template (in which case there is an implicit and explicit association).&lt;br /&gt;
&lt;br /&gt;
== Use Case 2: ==&lt;br /&gt;
As an Openstack Service Provider operator of a public cloud, we would like ''template author'' and ''template creation date'' portable so that this information goes&lt;br /&gt;
wherever the template goes in a portable format that consumers (any&lt;br /&gt;
client) of the Heat service can understand and make use of.  We would also like this&lt;br /&gt;
information to be available for a deployed stack in Heat, so it is more general metadata and need&lt;br /&gt;
not be catalog specific.  If author/creation-date information were only&lt;br /&gt;
available in the catalog, then we would have to entirely wrap the Heat API&lt;br /&gt;
in another service or risk drift in the data between Heat and the separate&lt;br /&gt;
non-wrapping catalog service. Instead of raising a blueprint for every&lt;br /&gt;
piece of data that may be useful to deploying the Heat service (some of which&lt;br /&gt;
certain Heat operators may not care about, the in-template metadata is an&lt;br /&gt;
approach allow experimentation.  We could then  drive back experiential use-cases&lt;br /&gt;
into future improvements (e.g. in-language schema changes or catalog&lt;br /&gt;
changes).  As a specific example from running a nearly identical&lt;br /&gt;
service, the data outlined in this use case in-template has proven to be a valid use&lt;br /&gt;
case for consumers of an Orchestration service.&lt;br /&gt;
Specific Example: &lt;br /&gt;
# Cloud customer of service operator deploys a template (may or may not&lt;br /&gt;
have come from the catalog)&lt;br /&gt;
# Customer encounters problem with the stack and calls support&lt;br /&gt;
# Support specialist [not the service operator/developer] is trying to&lt;br /&gt;
figure out who to contact for additional help given failures seen with the&lt;br /&gt;
stack. The dev team of the service is not the expert in application foo&lt;br /&gt;
and did not develop the template. It's not a Heat issue, it's a&lt;br /&gt;
template/application foo issue which requires the template (application/infrastructure architect) to get involved. Knowing who to contact for that template is paramount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Case 3 -- Portability: ==&lt;br /&gt;
For the information in use cases 1 and 2, portability of the template from one Heat service to another, or from a template author to a cloud customer, is paramount, inclusive of the metadata.  This allows devops, customer support specialists, customers, and other OpenStack developers to create and share Heat templates without having to have a centralized catalog or repository where metadata would be centralized across disparate organizations.  In experience, authors of templates and consumers of templates often do not share access to a common repository where both parties have read/write permissions.  Instead, templates are shared via read-only access to a repo.  In order for someone to take a template for use in a differing Heat system, the template must be copied, in text/file form.  This is common practice.  A shared metadata service is not utilized and all that is exchanged is the template file(s).  Therefore, it would be beneficial if all necessary metadata information for a template were embedded directly with the file(s). Sharing a single file is easier than sharing multiples, hence the use of formats like .zip.  Template portability, in a simplistic form, will drive the largest adoption of Heat through ease of template creation with appropriate transport of associated metadata for cloud service operators.&lt;/div&gt;</summary>
		<author><name>Kebray</name></author>	</entry>

	</feed>