Migrate to HEAT HOT language¶
https://blueprints.launchpad.net/sahara/+spec/heat-hot
This blueprint suggests to rewrite cluster template for Heat from JSON to HOT language.
Problem description¶
Heat supports two different template languages: YAML-based HOT templates and JSON-based CFN templates (no documentation about it, only a number of examples).
HOT is the de-facto main markup language for Heat. Template Guide recommends to use HOT and contains examples for HOT only.
CFN templates are supported mostly for compatibility with AWS CloudFormation.
Sahara historically uses CFN templates. Given that Sahara is an integrated OpenStack project it would be nice to switch to HOT.
Proposed change¶
There is no urgent need in switching to HOT. But it would be nice to be compliant with current tendencies in community.
This spec suggests to use HOT template language for sahara heat templates.
This will require changes mostly in .heat resources. Code that generate template parts on the fly should be changed too.
Having templates written on HOT will simplify implementation of new heat-related features like template decomposition.
Alternatives¶
Do not change anything.
Data model impact¶
None.
REST API impact¶
None.
Other end user impact¶
None.
Deployer impact¶
None.
Developer impact¶
None.
Sahara-image-elements impact¶
None.
Sahara-dashboard / Horizon impact¶
None.
Implementation¶
Assignee(s)¶
- Primary assignee:
alazarev (Andrew Lazarev)
- Other contributors:
None
Work Items¶
Change all .heat files used by Sahara
Update code that generates parts of template
Update unit tests
Make sure that sahara with heat engine still works in all supported configurations
Dependencies¶
None
Testing¶
Mostly manually. CI should also cover heat changes.
Documentation Impact¶
None.