Node Group Template 和 Cluster Template 的可移植性

https://blueprints.launchpad.net/sahara/+spec/portable-node-group-and-cluster-templates

Sahara 允许创建 Node Group Template 和 Cluster Template。但是,当需要在另一个 OpenStack 部署中创建具有相同参数的模板时,必须手动创建新模板并重写参数。此更改建议创建函数,将这些模板导出到 JSON 文件,并在以后导入它们。

问题描述

Sahara 提供了创建 Node Group 和 Cluster 模板的功能。如果用户可以访问多个云,或者经常重新部署开发环境,则重新创建所有模板非常耗时。我们的目标是允许用户选择下载模板,并上传现有模板到 Sahara,以便更快地进行设置。

提议的变更

此更改建议允许导入和导出 Cluster Template 和 Node Group Template。使用 node_group_template_get(node_group_template_id) 和 node_group_template_create(parameters) 连接到数据库。模板在导出之前将被修改,以确保不导出 ID 和其他敏感信息。导入模板时,将请求一些其他信息。REST API 更改:Node Group Template 接口 * node_group_template_export(node_group_template_id) - 将 Node Group Template 导出到 JSON 文件 Cluster Template 接口 * cluster_template_export(cluster_template_id) - 将 Cluster Template 导出到 JSON 文件 UI 更改:Node Group Template 接口:* 导出 Node Group Template 的字段 * 导入 Node Group Template 的字段 - 使用 ngt create Cluster Template 接口:* 导出 Cluster Template 的字段 * 导入 Cluster Template 的字段 - 使用 cluster create CLI 更改:dataprocessing node group template export dataprocessing node group template import dataprocessing cluster template export dataprocessing cluster template import

替代方案

一个明确的替代方案是保持原样,但这使得 Sahara 在之前配置过的情况下难以配置和重新配置。

数据模型影响

REST API 影响

  • node-group-templates/{NODE_GROUP_TEMPLATE_ID}/export

  • cluster-template/{CLUSTER_TEMPLATE_ID}/export

其他最终用户影响

Node Group Template 和 Cluster Template 的导出和导入功能在 CLI 和 UI 中均可用。

部署者影响

简化的部署,部署者可以在需要时下载预先存在的模板。

开发者影响

Sahara-image-elements impact

Sahara-dashboard / Horizon 影响

将添加一个导出模板的选项和另一个导入模板的选项。导入模板的选项将具有完成模板所需的字段。

实现

负责人

  • Iwona

  • tellesmvn

工作项

  • 添加 Node Group Template 的导出功能

  • 添加 Node Group Template 的导入功能

  • 添加 Cluster Template 的导出功能

  • 添加 Cluster Template 的导入功能

  • 测试

  • 文档

依赖项

测试

将添加单元测试。

文档影响

将添加有关新功能的文档。

参考资料