迁移到 Reno

OpenStack Charms 项目的开发速度越来越快,每个周期都有来自不同人群的改进和新功能提交。

目前,我们以中央文档的形式管理发布说明,通常在每个周期结束时手动整理。

问题描述

整理发布说明文档需要大量手动工作,并且当前流程容易出错,存在遗漏重要信息于发布时的风险。

上游 OpenStack 的发布流程在最近几个周期中得到了高度自动化,并且我们目前被禁止将我们的发布说明发送到新的 release-announce 邮件列表。为了获得访问权限,我们的仓库必须与上游自动化发布工具对齐。 改进我们的发布说明方式是实现这一目标所需步骤之一。

提议的变更

为了解决这些问题,我建议我们逐步迁移到在整个 charm 仓库中与代码更改一起提交发布说明。

上游 Reno [0] 项目中已经存在可以利用的先前工作,包括开发者工具、linter 和 gate 任务。 这种方法和工具在其他 OpenStack 项目中被广泛使用。

作为第一步,我建议我们在 18.11 Charm 发布前的周期中,在以下仓库中启用 reno 的使用

  • charm-keystone

  • charm-nova-compute

在 18.11 Charm 发布后,我们将评估并决定进一步采用。

0: https://docs.openstack.org/reno/latest/

备选方案

未定义。

实现

负责人

主要负责人

fnordahl

Gerrit Topic

使用 Gerrit topic “charm-reno” 用于与此 spec 相关的所有补丁。

git-review -t charm-reno

工作项

  • 为受影响的 charm 仓库添加使用 reno 所需的样板代码。

  • 添加 tox 环境,使开发者能够在虚拟环境中运行 reno 工具,从而减轻开发者在开发环境中安装和维护它的责任。

  • 添加 tox 环境,以启用对发布说明工件的存在性和正确性的 gate 检查。

  • 研究如何最好地协调和提取来自多个 charm 仓库的发布说明工件,并在发布时将它们组合在一个 (charm-guide) 中。

  • 为开发者和审查者创建初步指南。

仓库

不需要新的 git 仓库。

文档

必须创建开发者和审查者的初步指南。 与社区的沟通也是必要的。

安全性

此更改不会引入任何额外的安全风险。

测试

创建发布说明文件并将其与代码更改一起提交的过程将在实施时与社区讨论。

将实施检查发布说明是否存在和正确性的 gate 任务。

依赖项

Reno - https://docs.openstack.org/reno/latest/