迁移到 HEAT HOT 语言

https://blueprints.launchpad.net/sahara/+spec/heat-hot

此蓝图建议将 Heat 集群模板从 JSON 重写为 HOT 语言。

问题描述

Heat 支持两种不同的模板语言:基于 YAML 的 HOT 模板和基于 JSON 的 CFN 模板(没有文档,只有一些示例)。

HOT 是 Heat 的事实上的主要标记语言。 模板指南 建议使用 HOT,并且仅包含 HOT 示例。

CFN 模板主要为了与 AWS CloudFormation 兼容而支持。

Sahara 历史上使用 CFN 模板。鉴于 Sahara 是一个集成的 OpenStack 项目,切换到 HOT 会很好。

提议的变更

切换到 HOT 并非迫切需要。但与社区的当前趋势保持一致会很好。

此规范建议为 sahara heat 模板使用 HOT 模板语言。

这将主要需要在 .heat 资源中进行更改。动态生成模板部分的代码也应进行更改。

使用 HOT 编写的模板将简化新 heat 相关功能的实现,例如 模板分解

替代方案

不要更改任何内容。

数据模型影响

无。

REST API 影响

无。

其他最终用户影响

无。

部署者影响

无。

开发者影响

无。

Sahara-image-elements impact

无。

Sahara-dashboard / Horizon 影响

无。

实现

负责人

主要负责人

alazarev (Andrew Lazarev)

其他贡献者

工作项

  • 更改 Sahara 使用的所有 .heat 文件

  • 更新生成模板部分的代码

  • 更新单元测试

  • 确保在所有受支持的配置中,Sahara 与 heat 引擎仍然可以正常工作

依赖项

测试

主要通过手动方式。CI 也应涵盖 heat 的更改。

文档影响

无。

参考资料