OpenStack Orchestration (Heat)
Go to file
Zane Bitter f1961c734e Use show_output in TemplateResource.get_reference_id()
TemplateResource is unique in that it can return a custom reference ID
defined as an output in the nested template. This was being fetched by the
StackResource.get_output() method, which also has the effect of retrieving
*all* of the outputs of the nested stack and caching them in memory in case
something else were to reference any of them.

Unfortunately when calculating the resource data for a stack (which we
must always do when e.g. showing the outputs), we always include the
reference IDs of all resources, regardless of whether they are referenced
by get_resource in the data we are looking to populate. (In fact, we have
no way from the Template API to distinguish where get_resource is used on
a particular resource, only where there are dependencies on it.) This is no
problem under the assumption that getting the reference ID is quick, but
that assumption does not hold for TemplateResource.

The show_output RPC call only retrieves a single output (as opposed to
show_stack, used in StackResource.get_output(), which calculates all of
them). Fall back to that call in TemplateResource.get_reference_id() if the
outputs are not already cached to avoid unnecessary overhead in the common
case.

Attribute values are now always fetched before the reference ID, so that we
won't end up making two RPC calls in the case where we also need to read
other outputs.

Change-Id: I66da13c0bb024749de4ae3f0c4b06ebb485cee37
Closes-Bug: #1719333
2017-09-25 13:55:41 -04:00
api-ref/source Add converge flag in stack update for observing on reality 2017-08-07 05:39:29 +00:00
bin Remove log translations 2017-03-25 17:11:50 +08:00
contrib Remove usage of parameter enforce_type 2017-05-08 17:55:32 +08:00
devstack Don't remove uwsgi config files on stop 2017-09-02 19:00:25 -04:00
doc Merge "Minor doc fix: tmpl_diff argument for handle_update" 2017-09-08 06:40:10 +00:00
etc/heat Mark the default policy usage for neutron resource 2017-05-18 09:18:54 +08:00
heat Use show_output in TemplateResource.get_reference_id() 2017-09-25 13:55:41 -04:00
heat_integrationtests Merge "Add gabbi api tests for stack update/patch-update" 2017-09-11 18:19:28 +00:00
heat_upgradetests In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
rally-scenarios Update rally link 2017-03-24 11:58:38 +08:00
releasenotes Merge "Update reno for stable/pike" 2017-08-17 13:10:10 +00:00
tools Remove subunit-trace fork 2017-04-06 11:42:05 -07:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-11-12 09:21:05 +05:30
.gitignore Add .idea pattern to .gitignore 2017-04-03 09:32:25 +00:00
.gitreview Update .gitreview for org move. 2012-12-02 17:46:15 +00:00
.testr.conf Add separate requirements.txt to integration tests 2015-04-01 09:02:13 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:36 +00:00
HACKING.rst Prepare for using standard python tests 2017-02-04 09:49:18 +01:00
LICENSE Initial commit (basics copied from glance) 2012-03-13 21:48:07 +11:00
README.rst Update URL in README.rst 2017-08-08 12:34:20 +05:30
babel.cfg Add setup.py and friends 2012-03-14 09:25:54 +11:00
config-generator.conf fix heat_keystoneclient config gen 2017-08-18 09:00:02 -04:00
install.sh install.sh: stop using deprecated option group for rabbit 2015-09-01 19:01:34 +02:00
requirements.txt Updated from global requirements 2017-09-22 12:50:52 +00:00
setup.cfg Add default configuration files to data_files 2017-09-21 15:19:25 +01:00
setup.py Updated from global requirements 2017-03-02 17:42:22 +00:00
test-requirements.txt Updated from global requirements 2017-09-16 23:12:02 +00:00
tox.ini Remove install-guide env which is no longer effective 2017-07-31 17:01:11 +08:00
uninstall.sh use stderr for error echo message 2016-01-17 05:20:40 +00:00

README.rst

Team and repository tags

image

Heat

Heat is a service to orchestrate multiple composite cloud applications using templates, through both an OpenStack-native REST API and a CloudFormation-compatible Query API.

Why heat? It makes the clouds rise and keeps them there.

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://git.openstack.org/openstack/heat

Python client

https://git.openstack.org/cgit/openstack/python-heatclient

References

We have integration with