OpenStack Orchestration (Heat)
843d381313
When requesting the NodeData for a Resource, generate placeholder values if the resource has not been created yet. Currently, all attributes are given a value of None (consistent with how the get_attr intrinsic functions substitute them when the resource state indicates that the attributes are not valid now). Reference IDs are generated as usual (since the logic for what to return when the state indicates the data are not valid is contained in the resource plugins). In future, this will allow us to add placeholder NodeData for all resources to the StackDefinition prior to validation. In the long term, that should help us to remove the state-checking logic from the intrinsic functions. In the short term, it will allow us to validate template data that is parsed against the StackDefinition (rather than the Stack), since it gives us a list of valid attribute names. In the medium term, this should give us a place to substitute in more sophisticated placeholder values to do better validation. Change-Id: Ife69f563a3748c6cb611ca02f826229e76bee4d0 Partially-Implements: blueprint stack-definition |
||
---|---|---|
api-ref/source | ||
bin | ||
contrib | ||
devstack | ||
doc | ||
etc/heat | ||
heat | ||
heat_integrationtests | ||
heat_upgradetests | ||
install-guide/source | ||
rally-scenarios | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
babel.cfg | ||
config-generator.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
install.sh | ||
LICENSE | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini | ||
uninstall.sh |
Team and repository tags
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
- Wiki: http://wiki.openstack.org/Heat
- Developer docs: http://docs.openstack.org/developer/heat
- Template samples: https://git.openstack.org/cgit/openstack/heat-templates
- Agents: https://git.openstack.org/cgit/openstack/heat-agents
Python client
https://git.openstack.org/cgit/openstack/python-heatclient
References
- http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html
- http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/create-stack.html
- http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
- http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca
We have integration with
- https://git.openstack.org/cgit/openstack/python-novaclient (instance)
- https://git.openstack.org/cgit/openstack/python-keystoneclient (auth)
- https://git.openstack.org/cgit/openstack/python-swiftclient (s3)
- https://git.openstack.org/cgit/openstack/python-neutronclient (networking)
- https://git.openstack.org/cgit/openstack/python-ceilometerclient (metering)
- https://git.openstack.org/cgit/openstack/python-aodhclient (alarming service)
- https://git.openstack.org/cgit/openstack/python-cinderclient (storage service)
- https://git.openstack.org/cgit/openstack/python-glanceclient (image service)
- https://git.openstack.org/cgit/openstack/python-troveclient (database as a Service)
- https://git.openstack.org/cgit/openstack/python-saharaclient (hadoop cluster)
- https://git.openstack.org/cgit/openstack/python-barbicanclient (key management service)
- https://git.openstack.org/cgit/openstack/python-designateclient (DNS service)
- https://git.openstack.org/cgit/openstack/python-magnumclient (container service)
- https://git.openstack.org/cgit/openstack/python-manilaclient (shared file system service)
- https://git.openstack.org/cgit/openstack/python-mistralclient (workflow service)
- https://git.openstack.org/cgit/openstack/python-zaqarclient (messaging service)
- https://git.openstack.org/cgit/openstack/python-monascaclient (monitoring service)
- https://git.openstack.org/cgit/openstack/python-senlinclient (clustering service)