OpenStack Orchestration (Heat)
Go to file
Zane Bitter 48fb66bdf3 Separate management of parent resource into separate class
The facade_resource intrinsic function needs to access the parent resource
of a stack, which it does via the stack.parent_resource property. Accessing
this for the first time loads the parent stack and all of its resources if
they were not already. This made sense when all nested stacks in a tree
were handled in-memory at the same time, but now that they are processed by
separate engines it is inefficient.

This change moves responsibility for lazy-loading the parent stack to a
separate ParentResourceProxy class, and makes access more efficient again
by avoiding the loading of resources if the stack was not already in
memory. It also resolves a circular reference between nested stacks and
their parent stacks.

We now have a well-defined API behind which we can potentially make further
efficiency improvements while giving third-party Function plugin developers
confidence that we won't break them without notice.

Change-Id: Ibfd80544889778f3499bcbe421b83f0a5aa6a7f7
Partially-Implements: blueprint stack-definition
2017-02-24 10:19:21 -05:00
api-ref/source Merge "Make *_id/name_url required for api-ref" 2016-12-26 07:41:54 +00:00
bin Trivial:Standardize the output format of 'help' in some files 2016-09-21 14:12:27 +08:00
contrib Remove py26 support 2017-01-23 05:52:41 +00:00
devstack Merge "Fix number of issues with grenade job" 2017-02-09 16:41:23 +00:00
doc Fix the incorrect link of the rdo installation guide 2017-02-20 07:01:05 +00:00
etc/heat Add OS::Neutron::Quota resource 2017-01-11 20:11:49 +00:00
heat Separate management of parent resource into separate class 2017-02-24 10:19:21 -05:00
heat_integrationtests Fix config file management in tests 2017-02-24 10:43:56 +00:00
heat_upgradetests In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
install-guide/source make the rabbitmq configuration simpler 2017-01-04 03:00:16 +00:00
rally-scenarios Rally tests plugins for Heat 2016-03-02 12:20:37 -05:00
releasenotes Merge "Add CEPHFS manila share protocol" 2017-02-15 05:25:27 +00:00
tools Prepare for using standard python tests 2017-02-04 09:49:18 +01:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-11-12 09:21:05 +05:30
.gitignore Create integration tests requirements on the fly 2016-03-25 13:40:50 +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 Switch to heat-agents for docs 2017-01-18 11:50:52 +08:00
babel.cfg Add setup.py and friends 2012-03-14 09:25:54 +11:00
bandit.yaml tox environment for `bandit` 2015-07-08 09:13:35 -04:00
config-generator.conf Move heat_keystoneclient to clients package 2016-06-01 16:27:01 +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 2017-02-13 15:11:35 +00:00
setup.cfg Merge "Add sahara constraints" 2017-01-23 05:17:23 +00:00
setup.py Updated from global requirements 2015-09-22 10:40:48 +00:00
test-requirements.txt Revert "Using os-testr to get better report" 2017-02-20 20:51:24 +00:00
tox.ini Revert "Using os-testr to get better report" 2017-02-20 20:51:24 +00: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