OpenStack Orchestration (Heat)
Find a file
Zane Bitter aa58fbcacf Load existing resources using correct environment
In convergence we were loading resources from the database using the
current environment. This is incorrect when a previous update has
failed, meaning the resources in the database were created with a
non-current template and environment. If an attempt was made to change
the type of a resource but that resource was never updated, this will
result in us loading a resource with the wrong type. If the type has
been removed then it can result in errors just trying to show the stack.

Note that the Resource.load() method used during a convergence traversal
already does the Right Thing - it only uses the new type if it is a
valid substitution for the old type, and UpdateReplace is later raised
in Resource.update_convergence() if the type does not match in that
specified in the new environment. So we don't see any problems with
stack updates, just with API calls.

Since we cannot change the signature of Resource.__new__() without also
modifying the signature of __init__() in every resource plugin that has
implemented it (many of which are out of tree), instead substitute the
stack definition for the duration of creating the Resource object. This
will result in stack.env returning the environment the resource was last
updated with.

Change-Id: I3fbd14324fc4681b26747ee7505000b8fc9439f1
Story: #2005090
Task: 29688
2019-04-01 14:21:44 +05:30
api-ref/source Add API doc for files_container support 2018-07-26 09:50:54 +05:30
bin Remove CloudWatch API 2018-01-28 09:11:17 +05:30
contrib/heat_docker Merge "Docs: modernise links" 2018-04-27 11:36:18 +00:00
devstack Allow users to disable the tests run by Grenade 2019-03-01 22:47:28 +01:00
doc Add code name for Train 13.0.0 in document 2019-03-22 12:45:55 +08:00
etc/heat Restore auth-less version negotiation 2018-06-12 10:57:08 +00:00
heat Load existing resources using correct environment 2019-04-01 14:21:44 +05:30
heat_integrationtests Load existing resources using correct environment 2019-04-01 14:21:44 +05:30
heat_upgradetests In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
playbooks/devstack Replace openstack.org git:// URLs with https:// 2019-03-24 20:33:45 +00:00
rally-scenarios Adds doc8 check to pep8 2018-07-26 14:57:58 +07:00
releasenotes Merge "Handle unicode in constraints" 2019-03-27 22:56:23 +00:00
tools Add StoryBoard migration docs and releasenote 2018-07-26 13:05:04 +08:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-11-12 09:21:05 +05:30
.gitignore include sample config file in docs 2018-02-01 15:38:25 +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 Migrate tests from Xenial to Bionic 2019-03-07 18:58:51 -05:00
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
CONTRIBUTING.rst Update http links for doc migration 2018-05-11 09:32:14 +08:00
HACKING.rst Clean up test requirements 2018-07-27 13:38:27 +00:00
install.sh Remove use of heat_watch_server_url 2018-01-28 09:11:18 +05:30
LICENSE Initial commit (basics copied from glance) 2012-03-13 21:48:07 +11:00
lower-constraints.txt Add a Blazar Lease resource 2019-02-18 06:35:05 +00:00
README.rst Add Release Notes in README 2018-11-12 10:02:46 +08:00
requirements.txt Add a Blazar Lease resource 2019-02-18 06:35:05 +00:00
setup.cfg Heat support for Tap-as-a-Service resources 2019-01-30 21:01:21 +13:00
setup.py Updated from global requirements 2017-03-02 17:42:22 +00:00
test-requirements.txt Merge "Clean up test requirements" 2018-08-03 07:43:35 +00:00
tox.ini change the dist name to 'openstack-heat' 2018-11-01 11:54:05 -04:00
uninstall.sh use stderr for error echo message 2016-01-17 05:20:40 +00:00

========================
Team and repository tags
========================

.. image:: https://governance.openstack.org/tc/badges/heat.svg
    :target: https://governance.openstack.org/tc/reference/tags/index.html

.. Change things from this point on

====
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


* Documentation: https://docs.openstack.org/heat/latest
* Template samples: https://git.openstack.org/cgit/openstack/heat-templates
* Agents: https://git.openstack.org/cgit/openstack/heat-agents
* Release Notes: https://docs.openstack.org/releasenotes/heat/

Python client
-------------

* Documentation: https://docs.openstack.org/python-heatclient/latest
* Source: https://git.openstack.org/cgit/openstack/python-heatclient

Report a Story (a bug/blueprint)
--------------------------------

If you'd like to report a Story (we used to call a bug/blueprint), you can
report it under Report a story in
`Heat's StoryBoard <https://storyboard.openstack.org/#!/project/989>`_.
If you must report the story under other sub-project of heat, you can find
them all in `Heat StoryBoard Group <https://storyboard.openstack.org/#!/project_group/82>`_.
if you encounter any issue.

References
----------
* https://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html
* https://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/create-stack.html
* https://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
* https://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 (object storage)
* https://git.openstack.org/cgit/openstack/python-neutronclient (networking)
* https://git.openstack.org/cgit/openstack/python-aodhclient (alarming service)
* https://git.openstack.org/cgit/openstack/python-cinderclient (block storage)
* 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-zunclient (container management service)
* https://git.openstack.org/cgit/openstack/python-blazarclient (reservation service)