OpenStack Orchestration (Heat)
Go to file
Zane Bitter 3c13cb82a6 Cache dep_attrs for all resources in definitions
When the dep_attrs function was written, it was used only in convergence
after checking a single resource. However, now we also use it to generate
data for the ResourceProxy objects, which is often done for all resources
simultaneously. That means doing O(n^2) dep_attrs() calls, which can really
slow things down when there is a large number of resources with complex
properties (or metadata).

This change adds an all_dep_attrs() call, which runs as fast as dep_attrs()
on everything except get_attr functions and their arguments, but only needs
to be called once instead of once per resource. (The get_attr function can
in future override the default implementation of all_dep_attrs() to be as
efficient as dep_attrs() as well.) The resulting data is cached in the
ResourceDefinition or OutputDefinition so that subsequent calls to their
get_attr() methods with different (or the same) resource names will use the
existing data.

Change-Id: If95f4c04b841519ce3d7492211f2696588c0ed48
Partially-Implements: blueprint stack-definition
Closes-Bug: #1684272
2017-07-21 10:44:51 -04:00
api-ref/source Merge "[api-ref] Correct config_id in url instead of in body" 2017-07-21 09:45:53 +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 Add httpd documentation and sample configs 2017-07-07 11:00:06 +05:30
doc Support 'permutations' for 'repeat' function 2017-07-18 09:32:15 +00:00
etc/heat Mark the default policy usage for neutron resource 2017-05-18 09:18:54 +08:00
heat Cache dep_attrs for all resources in definitions 2017-07-21 10:44:51 -04:00
heat_integrationtests Get dep_attrs from StackDefinition 2017-07-21 10:30:34 -04:00
heat_upgradetests In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
install-guide/source Updated the description about the verify operation. 2017-05-10 16:15:59 +00:00
rally-scenarios Update rally link 2017-03-24 11:58:38 +08:00
releasenotes Merge "Always cache attributes in outputs in Resource.node_data()" 2017-07-19 08:28:06 +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 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
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-07-18 08:53:58 +00:00
setup.cfg Fix python-novaclient 8.0.0 related issues 2017-05-16 16:12:04 +02:00
setup.py Updated from global requirements 2017-03-02 17:42:22 +00:00
test-requirements.txt Updated from global requirements 2017-07-18 08:53:58 +00:00
tox.ini Enable DeprecationWarning in test environments 2017-05-17 05:22:45 +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