TripleO 零足迹安装程序

https://blueprints.launchpad.net/tripleo/+spec/zero-footprint

本文档介绍了一种支持安装模式,该模式比我们今天使用的模式具有零(或至少更少)依赖项。它是 Undercloud 和 All-In-One(独立)安装程序的迭代,允许您获得相同的结果,而无需在主机机器上安装所有 TripleO 依赖项。

问题描述

当前在主机机器上安装 python-tripleoclient 会安装许多依赖项,其中许多对于较小的独立类型安装可能是可选的。较小独立安装的用户可能难以理解 TripleO 依赖项的安装与 TripleO 安装的服务之间的区别。

此外,一些开发人员希望有一种快速的方法来开发和运行 playbook,而无需本地安装 Undercloud,这通常在虚拟机内完成,以封装安装的依赖项。

提议的变更

新的零足迹安装程序可以帮助驱动在容器内运行的 OpenStack Tripleoclient 命令。使用这种方法,您可以

  1. 像今天一样使用容器从一组 Heat 模板 (tripleo-heat-templates)、Heat 环境和 Heat 参数生成 Ansible playbook。生成 playbook 不需要任何本地依赖项。

  2. (可选)在主机机器上本地执行 playbook。这将需要安装一些 TripleO 依赖的 Ansible 模块,但与我们今天需要的相比,其足迹要小得多。

替代方案

创建 python-tripleoclient 的子包,该子包安装更少的依赖项。所需的软件包的总体足迹仍然会很高(仍然会安装许多 OpenStack 软件包用于客户端工具)。

或者什么都不做,继续使用虚拟机来封装 Undercloud/All-In-One 安装程序的依赖项并生成 Ansible playbook。但是,设置本地虚拟机需要更多的初始设置和依赖项,并且比仅仅使用本地容器生成相同的 playbook 更重。

安全影响

由于将使用容器生成 Ansible playbook,用户可能需要将一些本地数据/文件暴露给安装程序容器。这可能是一个小问题,因为我们已经需要将这些数据暴露给 Undercloud 和 All-In-One 安装程序。

其他最终用户影响

性能影响

更快的本地 All-On-One 设置的部署和测试。

其他部署者影响

开发人员影响

更快的本地 All-On-One 设置的部署和测试。

实现

负责人

主要负责人

dprince

工作项

  • 一个新的 ‘tripleoclient’ 容器

  • 一个新的项目来驱动安装 (Talon?)

  • 继续致力于完善 Ansible playbook 模块,以提供更清晰的 playbook 依赖项。特别是那些依赖于传统的 TripleO/Heat agent hooks 和脚本的模块。

  • 文档更新

依赖项

无。

测试

这个新的安装程序可能可以补充或取代我们在上游 CI 中进行的一些 All-In-One(独立)部署测试。

文档影响

需要更新文档。

参考资料