56bcf53bdd
This was generated using a different method to the one I've used previously [1][2]. Instead of manually converting sqlalchemy-migrate calls to alembic equivalents, we generate it automatically based on our models using alembic's auto-generate functionality: alembic --config heat/db/sqlalchemy/alembic.ini \ revision -m 'Initial revision 2' alembic --config heat/db/sqlalchemy/alembic.ini \ upgrade head alembic --config heat/db/sqlalchemy/alembic.ini \ revision -m 'Initial revision 2' --autogenerate The two files were then combined, formatting and imports adjusted, and schema of this and the sqlalchemy-migrate migrations compared. The latter step was done by comparing the schemas of a database created by the sqlalchemy-migrate tool to the one created by alembic: python heat/db/sqlalchemy/migrate_repo/manage.py version_control \ sqlite:///heat-old.db heat/db/sqlalchemy/migrate_repo/ 072 python heat/db/sqlalchemy/migrate_repo/manage.py upgrade \ sqlite:///heat-old.db heat/db/sqlalchemy/migrate_repo With the two databases created, we can compare them using the methodologies described in [3]. [1] https://review.opendev.org/c/openstack/nova/+/799527 [2] https://review.opendev.org/c/openstack/cinder/+/786931 [3] https://that.guru/blog/comparing-nova-db-migrations/ Signed-off-by: Stephen Finucane <stephenfin@redhat.com> Change-Id: Ie32fbb42576760f2c4a52d8305823b99df2b41ba |
||
---|---|---|
api-ref/source | ||
bin | ||
contrib/heat_docker | ||
devstack | ||
doc | ||
etc/heat | ||
heat | ||
heat_integrationtests | ||
heat_upgradetests | ||
playbooks/devstack/functional | ||
rally-scenarios | ||
releasenotes | ||
roles/run-heat-tests | ||
tools | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.pre-commit-config.yaml | ||
.stestr.conf | ||
.zuul.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
babel.cfg | ||
bindep.txt | ||
config-generator.conf | ||
install.sh | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini | ||
uninstall.sh |
README.rst
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)
- https://opendev.org/openstack/python-ironicclient (baremetal provisioning service)