从发行版软件包安装 OpenStack 服务

日期:

2018-03-27 00:00

标签:

角色, 部署

Launchpad 蓝图

本文档概述了使 OpenStack-Ansible 角色能够使用发行版云存储库中的发行版软件包来安装 OpenStack 服务所需的工作。

问题描述

OpenStack-Ansible 从源代码安装 OpenStack 服务。 虽然这在灵活性方面非常出色,但它会产生一些问题,例如

  • 部署时间长,因为需要构建和分发 wheel 包。

  • 发行版不支持安装。 从源代码构建的 OpenStack 服务版本不一定与发行版作为其集成和验证过程的一部分一起测试的版本匹配,因此它们很难为这种安装提供支持。 因此,运营商在为其部署寻求技术支持时选择有限。

提议的变更

为所有 OpenStack-Ansible 角色添加一种额外的安装方法,其中服务将使用发行版提供的软件包进行安装。 默认安装方法不会更改。

备选方案

N/A

Playbook/Role 影响

所有安装 OpenStack 服务 (os_*) 的 OpenStack Ansible 角色都将受到提议的更改的影响。 将在每个角色基础上提供一个新变量,以允许部署者选择首选的安装方法。

不支持在一种安装方法和另一种安装方法之间切换。 可以在部署者文档中对此进行说明,并且可能通过在主机上存储一个本地事实来指示安装方法并在升级期间检查它,从而在 Ansible playbook 中明确检测并防止这种情况发生。

升级影响

升级不受影响,因为默认安装方法不会更改。

安全影响

整体安装的安全性不会改变,因为发行版通常会回溯上游软件包中已存在的安全补丁,因此两种安装方法都将提供相同级别的安全保证。

性能影响

部署的整体性能可能会得到改善,因为发行版软件包通常对其默认设置进行调整和优化,以匹配每个发行版的环境和需求。

最终用户影响

N/A

部署者影响

这种新方法对部署者的好处是双重的

  • 使用发行版支持的软件包并向其提供反馈。 这对发行版和运营商都有利,因为双方都使用在发布之前通过集成和功能测试的软件包。

  • 缩短部署时间,因为使用发行版软件包而不是从源代码构建新的软件包。

开发人员影响

N/A

依赖项

N/A

实现

负责人

主要负责人

Markos Chandras (hwoarang)

工作项

以下工作项在所有受影响的角色中都是相同的

  • 将现有的安装任务移动到新文件 (${role}_install_source.yml)

  • 创建新文件 (${role}_install_distro.yml),其中包含用于发行版安装的任务(如果需要)。

  • 添加新变量以允许部署者选择安装方法 (${role}_install_method)

  • 根据变量的值动态包含适当的安装文件

测试

由于默认安装方法没有更改,因此不需要新的测试。 但是,开发人员可以选择在每个发行版的基础上添加新的作业来测试新的安装方法。

文档影响

需要修改文档以说明如何使用 distribution 安装方法。

参考资料

N/A