OpenStack Orchestration (Heat)
Go to file
Zane Bitter 3cd84afcfc Cache the TemplateResource reference ID like an attribute
TemplateResources can have their reference ID defined by an OS::stack_id
output in the template. However getting it - or just checking that it even
exists - is very expensive, and it happens virtually every time we load the
stack in memory for any reason.

Since when the output is present the reference ID is also available as an
attribute, simply cache it in the database as if it were an attribute
regardless of whether the output exists. Once it is in the cache,
subsequent accesses will be cheap just like they are for attributes.

Keep previous performance optimisations in place as well, since attributes
are not stored in the database in the legacy path (so legacy stacks don't
benefit from this change), and since the cache does get invalidated e.g. on
every stack update.

Change-Id: Ib9cd0aa40d377ec227754e386e02f185fd871909
Closes-Bug: #1742847
Related-Bug: #1719333
2018-01-11 22:14:20 -05:00
api-ref/source Return Environment from validate_template 2017-11-14 17:35:52 +00:00
bin Merge "Fixes heat-keystone-setup-domain authentication failures with v3" 2017-12-04 09:14:11 +00:00
contrib Remove usage of parameter enforce_type 2017-05-08 17:55:32 +08:00
devstack [policy in code] part 6(cfn, cloudwatch) 2017-12-13 10:58:47 +08:00
doc [policy in code] part 7 add sample and releasenote 2017-12-13 10:58:56 +08:00
etc/heat [policy in code] part 7 add sample and releasenote 2017-12-13 10:58:56 +08:00
heat Cache the TemplateResource reference ID like an attribute 2018-01-11 22:14:20 -05:00
heat_integrationtests Merge "Fix non-destructive upgrade for deprecated res types in convergence" 2017-12-07 07:37:35 +00:00
heat_upgradetests In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
playbooks/devstack Merge "Update Zuul branch limit" 2017-12-11 14:13:42 +00:00
rally-scenarios Update rally link 2017-03-24 11:58:38 +08:00
releasenotes Merge "Deprecate OS::Aodh::Alarm" 2018-01-11 11:05:26 +00:00
tools Use correct raw string format 2017-11-16 18:23:58 -05:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-11-12 09:21:05 +05:30
.gitignore Merge "Use stestr for unit tests" 2018-01-10 15:35:54 +00:00
.gitreview Update .gitreview for org move. 2012-12-02 17:46:15 +00:00
.stestr.conf Use stestr for unit tests 2017-12-15 12:39:37 +05:30
.zuul.yaml Merge "Update Zuul branch limit" 2017-12-11 14:13:42 +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 Remove SSLMiddleware from oslo.config namespace 2017-11-27 13:05:00 +05:30
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 2018-01-09 15:58:02 +00:00
setup.cfg Merge "Add octavia client plugin and constraints" 2018-01-04 10:03:23 +00:00
setup.py Updated from global requirements 2017-03-02 17:42:22 +00:00
test-requirements.txt Updated from global requirements 2017-11-17 06:47:08 +00:00
tox.ini Use stestr for unit tests 2017-12-15 12:39:37 +05:30
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