GUI: 导入/导出部署计划¶
为 TripleO UI 添加两个功能
导入带有 Mistral 环境的部署计划
导出带有 Mistral 环境的部署计划
蓝图: https://blueprints.launchpad.net/tripleo/+spec/gui-plan-import-export
问题描述¶
目前,UI 仅支持简单的计划创建。用户需要上传计划文件,选择环境并设置参数。我们希望添加一个计划导入功能,允许用户导入计划以及完整的 Mistral 环境。 这样,环境的选择和参数将被存储并自动导入,无需手动配置。
相反,我们希望允许用户使用 UI 导出计划以及 Mistral 环境。
提议的变更¶
概述¶
为了识别导入计划时的 Mistral 环境,我建议我们使用 JSON 格式的文件并将其命名为 ‘plan-environment.json’。 该文件应与其余部署计划文件一起上传到 Swift 容器。 使用固定名称调用文件足以被检测到。 一旦 tripleo-common 工作流处理计划导入时检测到此文件,该工作流将使用文件内容创建(或更新)Mistral 环境。 为了避免将来可能意外覆盖环境,工作流应在用其内容创建(或更新)Mistral 环境后删除此文件。
导出计划应包括从 swift 容器下载所有计划文件,添加 plan-environment.json,然后将所有内容打包成 tarball。
替代方案¶
另一种选择是现在的情况,即每次都让用户手动执行所有环境配置设置和参数设置。 显然,这非常繁琐,用户体验因此受到很大的影响。
在处理 plan-environment.json 文件后将其保留在 swift 容器中并使其与所有可能发生的更新保持同步,是另一种选择。 这可能会变得非常复杂,而且完全没有必要,因此删除文件是更好的选择。
安全影响¶
无
其他最终用户影响¶
无
性能影响¶
导入和导出功能仅在需要时(用户单击按钮或类似操作)触发,因此它们不会对应用程序的其余部分产生性能影响。
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
akrivoka
- 其他贡献者
jtomasek d0ugal
工作项¶
tripleo-common: 增强计划创建/更新以使用 plan-environment.json
蓝图: https://blueprints.launchpad.net/tripleo/+spec/enhance-plan-creation-with-plan-environment-json
tripleo-common: 添加计划导出工作流
蓝图: https://blueprints.launchpad.net/tripleo/+spec/plan-export-workflow
python-tripleoclient: 添加计划导出命令
蓝图: https://blueprints.launchpad.net/tripleo/+spec/plan-export-command
tripleo-ui: 将计划导出集成到 UI 中
蓝图: https://blueprints.launchpad.net/tripleo/+spec/plan-export-gui
注意:我们不需要额外的 UI(既不需要 GUI 也不需要 CLI)来进行计划导入 - 现有的 GUI 元素和 CLI 命令可以用于计划创建,也可以用于导入。
依赖项¶
无
测试¶
这些更改应在 tripleo-ui、tripleo-common 和 python-tripleoclient 中通过单元测试覆盖。
文档影响¶
用户文档应通过添加有关如何使用这两个功能的说明来增强。
参考资料¶
无