IRR - Repo Server

日期:

2015-11-01

标签:

independent-role-repositories, repo_server

将 repo server 角色拆分为独立的仓库。

问题描述

所有角色都包含在一个单一的整体仓库中,这使得在不部署整个堆栈的情况下使用 OSA 角色变得不可能或困难。

提议的变更

为了确保 OSA 项目能够被使用不同架构、部署方法和能力的其它堆栈所使用,需要将 “repo_server” 角色从单体堆栈中移动到它自己的角色仓库中。

备选方案

保持现状。但是,这样做会损害 OSA 的整体采用率。

Playbook/Role 影响

  • 对 playbook 没有影响。

  • 该角色将被从主堆栈中移除。插件、过滤器和库可能需要本地更新。

升级影响

虽然该更改会影响角色的位置,但不会影响堆栈的可升级性。一般工作流程需要更新,以确保用户在升级时使用 Ansible galaxy 界面更新角色,但通常来说,部署者在运行 bootstrap-ansible.sh 脚本时已经这样做。

安全影响

n/a

性能影响

将角色移动到外部仓库会导致角色解析时间产生影响,但该影响应该很小。

最终用户影响

n/a

部署者影响

部署者需要了解新的角色位置以及如何更新现有角色,但考虑到更新现有角色的工具已经存在,这应该很小。

开发人员影响

开发人员需要在独立的仓库中存在的角色中集中工作。

依赖项

n/a

实现

负责人

主要负责人

https://launchpad.net/~kevin-carter (IRC: cloudnull)

工作项

  • 角色移动后,将通过 OpenStack CI 在角色中创建测试,以确保角色执行其应该执行的操作。

  • 将更新文档,通过“README.rst”展示如何独立使用该角色。

  • 将创建示例本地清单,以展示如何使用该角色。仅本地清单也将用于测试该角色。

测试

  • 测试用例会将角色部署到常规 DSVM 镜像中

  • 该角色将在本地执行自身

  • 角色完成后,将运行一个 Ansible 测试 playbook,通过几个断言任务来确保角色按预期执行。

文档影响

将更新基础 README.rst 文件,以解释如何将该角色用作独立角色。

参考资料

n/a