OpenStack Orchestration (Heat)
e0a69202d2
I hope I remembered all the discussion points we had about how to design this plugin, so: * Instead of changing OS::Neutron::ExtraRoute we introduce OS::Neutron::ExtraRouteSet so we can take advantage of Neutron API's ability to add/remove multiple extra routes at once. * Addition and removal of extra routes is supposed to be atomic with Neutron extension 'extraroute-atomic'. An update involves a removal and an addition, therefore an update is not atomic operation. However unless the responsibility for an extra route is moved from one stack to another that should not be a problem. * Sharing the responsibility for an extra route between stacks (that is multiple stacks defining the same extra route) is not supported due to the Neutron API not allowing this. Let me know what did I forget. Example template: resources: extrarouteset0: type: OS::Neutron::ExtraRouteSet properties: router: { get_resource: router0 } routes: - destination: 10.0.0.0/24 nexthop: 10.0.0.10 - destination: 10.0.1.0/24 nexthop: 10.0.0.11 ... Change-Id: Ic1fe593d9821d844fd124b0212d444f6e3a0015e Depends-On: https://review.opendev.org/675900 Story: #2005522 Task: #36264 |
||
---|---|---|
api-ref/source | ||
bin | ||
contrib/heat_docker | ||
devstack | ||
doc | ||
etc/heat | ||
heat | ||
heat_integrationtests | ||
heat_upgradetests | ||
playbooks/devstack | ||
rally-scenarios | ||
releasenotes | ||
roles/run-heat-tests | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.zuul.yaml | ||
babel.cfg | ||
bindep.txt | ||
config-generator.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
install.sh | ||
LICENSE | ||
lower-constraints.txt | ||
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://opendev.org/openstack/heat
- Documentation: https://docs.openstack.org/heat/latest
- Template samples: https://opendev.org/openstack/heat-templates
- Agents: https://opendev.org/openstack/heat-agents
- Release Notes: https://docs.openstack.org/releasenotes/heat/
Python client
- Documentation: https://docs.openstack.org/python-heatclient/latest
- Source: https://opendev.org/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. If you must report the story under other sub-project of heat, you can find them all in Heat StoryBoard Group. 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://opendev.org/openstack/python-novaclient (instance)
- https://opendev.org/openstack/python-keystoneclient (auth)
- https://opendev.org/openstack/python-swiftclient (object storage)
- https://opendev.org/openstack/python-neutronclient (networking)
- https://opendev.org/openstack/python-aodhclient (alarming service)
- https://opendev.org/openstack/python-cinderclient (block storage)
- https://opendev.org/openstack/python-glanceclient (image service)
- https://opendev.org/openstack/python-troveclient (database as a Service)
- https://opendev.org/openstack/python-saharaclient (hadoop cluster)
- https://opendev.org/openstack/python-barbicanclient (key management service)
- https://opendev.org/openstack/python-designateclient (DNS service)
- https://opendev.org/openstack/python-magnumclient (container service)
- https://opendev.org/openstack/python-manilaclient (shared file system service)
- https://opendev.org/openstack/python-mistralclient (workflow service)
- https://opendev.org/openstack/python-zaqarclient (messaging service)
- https://opendev.org/openstack/python-monascaclient (monitoring service)
- https://opendev.org/openstack/python-zunclient (container management service)
- https://opendev.org/openstack/python-blazarclient (reservation service)
- https://opendev.org/openstack/python-octaviaclient.git (Load-balancer service)
- https://opendev.org/openstack/python-senlinclient (Clustering service)
- https://opendev.org/openstack/python-vitrageclient.git (RCA service)