随着 OpenStack 社区的不断壮大,许多项目需要创建安装指南。当前的安装指南专注于少量项目,并且每个版本都会进行测试。由于 OpenStack 文档团队的规模有限,无法在安装指南中记录和测试所有项目。
因此,我们需要找到一种方法,允许项目编写自己的安装指南,而无需文档团队的参与——并且文档团队充当这些文档的推动者。
基本的安装指南作为参考,帮助管理员达到第一步,即安装所有底层服务,如 MySQL 和 RabbitMQ,以及一套基本的功能。对于阅读指南的每位用户来说,高质量、主动检查、易于理解的内容至关重要。中央基本安装指南的目的是培训和引导读者,使他们能够理解多个 OpenStack 服务,同时为他们的具体情况做出明智的决策。
然后可以编写额外的项目特定指南,从该基本第一步开始,假设读者已成功完成该第一步。
项目特定安装指南的所有权归相应的项目团队所有,而非文档团队。这意味着内容位于项目团队拥有的现有或新的仓库中,审查将由项目团队进行,错误报告将进入项目的错误队列。
文档团队通过指导、设置所需的基础设施、编写指南、提供模板(“cookie cutter”)、以及提供一个可供项目特定指南用作参考的工作基础安装指南,来帮助项目团队编写项目特定指南。
基本安装指南的内容将涵盖每个云所需的基础设施和集中式项目。这包括定义为 starter-kit:compute 的项目,以及其他一些项目
除非它们是现有项目所必需的,或者通常需要运行基于 OpenStack 的云,否则不会向指南中添加更多项目。
文档团队将更新和测试每个版本的基本安装指南。
安装指南将增强,以链接到额外的项目特定安装指南。为此,它将为每个官方项目提供一个单独的章节,其中每个官方项目可以对他们的项目进行简短的总结,并链接到他们自己的安装指南。该章节还将解释所有这些项目都是 OpenStack 庞大社区中的一等公民。
例如,编排 (Orchestration) 可以在 heat 仓库中存储他们的安装指南,并发布到 https://docs.openstack.org/project-install-guide/mitaka/orchestration/ 。
然后“附加项目”章节将包含一个介绍该服务并链接到它的简短部分
Orchestration service (heat)
============================
The Orchestration service ...
Installation is documented at
http://docs.openstack.org/project-install-guide/mitaka/orchestration
.
项目特定的安装指南不仅会列在安装指南中,还会从 docs.openstack.org 网页中找到。具体位置需要根据指南的数量来确定。
这些项目特定安装指南的内容不在文档团队的控制范围内。为了与基本安装指南架构保持一致,并作为“赋能他人”的一部分,文档团队提出了一些建议
openstackdocstheme)。项目团队可以将他们的内容发布到 docs.openstack.org/project-install-guide/RELEASE/SERVICE/ ``。 ``RELEASE 是像 mitaka 或 newton 这样的版本,SERVICE 是像 orchestration 这样的服务名称。对于从 master 分支发布,RELEASE 应该为 draft。
这种结构可以确保我们不会为不同的项目共享目录。
打包的安装指南分离出来,没有单一来源的安装指南:每个发行版发布他们自己的安装指南。这些指南可以发布到 docs.openstack.org/install 或他们拥有的网络域,从他们自己的仓库中获取和审查,并由他们的团队进行审查。这些团队可以设置他们自己的发布计划。这种替代方案不能满足项目团队的需求,但可以减轻对集中式文档团队的资源压力。
停止在 OpenStack git 命名空间中编写基于包的安装指南。相反,让一个中央团队编写基于 starter-kit 的指南,描述多个可用的部署选项,并发布到 docs.openstack.org。当读者浏览 https://openstack.org/marketplace/distros/ 上的发行版市场时,此解决方案可能已经可用。
每个项目团队可以编写一个“从源代码安装”安装指南,其中包含所有基本项目基础设施的设置。
更改安装指南的范围,如本规范中建议的那样,添加更多或更少的项目。但是,这不能解决上述与包相关的单一来源问题。
现状:一个由文档团队维护的中央安装指南,对于那些不在中央指南中的项目,没有项目特定的指南。除非我们从每个项目中获得资源承诺,否则这种方法无法扩展。
一个中央指南由文档团队审查——就像今天一样——只有当项目团队承诺编写、测试和更新章节时,项目才会被记录。
这无法扩展,因为审查仍然由文档团队进行。过去的经验表明,项目团队需要被提醒他们的承诺,因此最终文档团队将扮演一个大型协调和引导角色,而不是遵循本提案寻求的赋能角色。
将现在超出基本安装指南范围的项目移动到他们自己的仓库中。此外,为这些项目特定的安装指南创建初始骨架,以便项目团队可以遵循其他人的示例,从而获得一致的起点。
这会影响:编排 (heat)、遥测 (telemetry)、对象存储 (swift)、共享文件系统 (manila)。
创建新的章节“项目特定的安装指南”作为骨架。
在 https://docs.openstack.org 上创建新的项目特定安装指南部分。
创建项目特定安装指南发布的示例作业 (jaegerandi)。
与 operator tags 团队合作,修改 ops:docs:install-guide 标签 (thingee)
创建一个“cookie cutter”模板,供项目在创建新的安装指南时使用。
除非另有说明,本文档根据 知识共享署名 3.0 许可协议 授权。请参阅所有 OpenStack 法律文件。