OpenStack Orchestration (Heat)
acb2c56fe0
This change switches _push_metadata_software_deployments over to using db_api.resource_update for deployment resource metadata updates. Using the atomic_key filter of resource_update allows this code to detect if another transaction has updated the metadata, and the wrap_db_retry decorator is used to perform retry attempts. No actual resource locking is required since we just need to detect if another transaction performed an update, so the engine_id is not specified. This change uses db_api directly rather than the Resource object since this change will need to be backported to Kilo (db_api.resource_update was created for convergence, and is in Kilo, but Resource object using it is not). This change can switch back to using the Resource object once the backport is complete. This rows_updated/RetryRequest/wrap_db_retry technique is used by other OpenStack projects for concurrent transaction detection (such as nova, for floating IP allocation). Change-Id: Ibf9dd58a66a77d9ae9d4b519b0f11567977f416c Closes-Bug: #1477329 |
||
---|---|---|
bin | ||
contrib | ||
devstack/upgrade | ||
doc | ||
etc/heat | ||
heat | ||
heat_integrationtests | ||
heat_upgradetests | ||
rally-scenarios | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
babel.cfg | ||
bandit.yaml | ||
config-generator.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
install.sh | ||
LICENSE | ||
openstack-common.conf | ||
py3-testlist | ||
pylintrc | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini | ||
uninstall.sh |
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 git@github.com:openstack/heat.git
- Wiki: http://wiki.openstack.org/Heat
- Developer docs: http://docs.openstack.org/developer/heat
Python client
https://github.com/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://github.com/openstack/python-novaclient (instance)
- https://github.com/openstack/python-keystoneclient (auth)
- https://github.com/openstack/python-swiftclient (s3)
- https://github.com/openstack/python-neutronclient (networking)
- https://github.com/openstack/python-ceilometerclient (metering)
- https://github.com/openstack/python-cinderclient (storage service)
- https://github.com/openstack/python-glanceclient (image service)
- https://github.com/openstack/python-troveclient (database as a Service)
- https://github.com/openstack/python-saharaclient (hadoop cluster)