OpenStack Heat 编排模板 (HOT) 生成器¶
https://blueprints.launchpad.net/heat/+spec/os-hot-gen
一个 Python 库,用于生成指定版本的 HOT 模板。
问题描述¶
存在不同的用户,他们需要一个库来生成有效的 HOT 模板,如下所示
自动化
OpenStack heat 服务被广泛应用于其他 OpenStack 服务,例如 Murano、Magnum、Tacker 等,其中一些项目在运行时作为其支持的自动化的一部分生成 HOT 模板。
云提供商
每个云提供商使用不同的设计工具来可视化地绘制拓扑,并且这些工具中的每一个都使用它自己的方式来生成 HOT 模板,因为 heat 没有提供用于 hot 模板生成的 sdk。 这是一种冗余的工作,并且在 HOT 模板模式更改时维护它们是一项开销。
提议的变更¶
HOT 模板具有以下方面,并将每个方面建模为 Python 可编程结构,例如类,并提供必要的/支持的 Python API 来通过编写 Python 代码生成 HOT 模板。
版本
描述
参数和参数组
资源和属性
内置函数
输出
环境
提供了一个示例 SDK 此处 作为 POC(概念验证)。
这个 POC 已经建模了上述方面中的几乎所有内容,并且对于函数,它仅提供 get_param 作为示例,可以进一步扩展到其他受支持的函数。
备选方案¶
无
实现¶
负责人¶
- 主要负责人
kanagaraj-manickam
jdob
里程碑¶
完成目标里程碑:newton-2
工作项¶
将 POC 转化为稳定版本
在 OpenStack github 下创建新的仓库,并将 POC 代码迁移到该仓库。 此外,将新的仓库添加到 OpenStack heat 治理之下。
提供示例 Python 代码片段来生成示例 HOT 模板
添加选项,根据从 heat 服务生成的给定资源类型模式生成资源属性和输出。
添加功能测试用例,使用 heat 模板验证命令来验证生成的 HOT 模板。
依赖项¶
无