Bug 989676
Summary: | [RFE] Custom "Provider" Resource Based on Nested Stack | ||
---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Steven Hardy <shardy> |
Component: | openstack-heat | Assignee: | Angus Salkeld <asalkeld> |
Status: | CLOSED ERRATA | QA Contact: | Zane Bitter <zbitter> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 4.0 | CC: | ajeain, asalkeld, hateya, mlopes, sbaker, sdake, sgordon, shardy, sradvan, yeylon |
Target Milestone: | Upstream M3 | Keywords: | FutureFeature, OtherQA |
Target Release: | 4.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
URL: | https://blueprints.launchpad.net/heat/+spec/provider-resource | ||
Whiteboard: | |||
Fixed In Version: | openstack-heat-2013.2-0.8.b3.el6ost | Doc Type: | Enhancement |
Doc Text: |
Feature: TemplateResources
Reason: This feature enables a user to customize an existing Resource type or to create a new Resource type using a Template instead of a python plugin.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2013-12-20 00:16:28 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 975499 |
Description
Steven Hardy
2013-07-29 17:29:27 UTC
Merged for h3, setting status to POST: https://blueprints.launchpad.net/heat/+spec/provider-resource Hi I have been on PTO for the last 3 weeks, I'll work at providing you some info in the next couple of days - just catching up on things. -Angus High level info: --------------- TemplateResource: (or provider) is a way to implement a resource using a template. Environment: is a way of defining the mapping between the template path/url and the resource type that you wish to call the resource. You can override a system resource to customize the behavior or just create a new resource. In order for us to have a template as a resource we convert the template parameters -> resource properties outputs -> resource attributes so if you have a template: Parameters: thingy: Type: String Resources: something: Type: ... Outputs: thunk: Value: {Fn::GetAtt [something, ipaddress]} and your env.yaml looks like: resource_registry: 'OS::Mine::Thing': 'file://path/my_template.yaml' and your top level_template.yaml looks like: Resources: newthing: Type: 'OS::Mine::Thing' Properties: thingy: this_is_it Outputs: more: Value: {Fn::GetAtt [newthing, thunk]} Now create your stack: heat stack-create new -f top_level_template.yaml -e env.yaml You can do a lot with this feature as it makes heat very flexible, but the basics are shown above. In the environment you can do other things like give existing resources new names and remove resources. My testing of this feature involved making a couple of complex TemplateResources. But the simplest thing to do is to get any existing (working) template and use it as a TemplateResource. So get the standard wordpress template and make a TemplateResource out of it. QANAK'ing due to QE capacity Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHEA-2013-1859.html |