构建事实存档¶
- 日期:
2015-04-23
- 标签:
存档, 部署, 信息
创建一个脚本来归档关于部署的所有有价值的信息。这些信息包括但不限于以下内容:所有物理主机的内核版本,当前安装的 OSAD 版本,所有已安装的软件包及其版本,所有正在运行的容器及其已安装的软件包,最新的 tempest 测试运行,所有相关的 OSAD 配置文件(openstack_user_config 等),主机网络配置,主机磁盘配置。
问题描述¶
目前没有简单的方法来获取有关部署的信息。当前流程需要登录到部署主机,然后了解 ansible 和 openstack_inventory.json 文件及其组,以便正确构建 ansible 查询来收集信息。
在 OSAD 之外创建工具来自动化部署信息聚合也具有挑战性,因为您需要解析库存文件或确切地知道需要访问哪个主机或容器才能获取信息。
提议的变更¶
一个简单的脚本,用户可以运行它来收集所有预先确定的重要信息,从而对已部署的集群提供一个全面的概览。
备选方案¶
该脚本可以驻留在 rpc-extras 仓库中,而不是 OSAD 中。这并不是理想的,因为它只会帮助使用 rpc-extras 的用户。如果它驻留在 OSAD 中,那么所有用户都可以获得一种简单的方法来快速了解他们当前的集群。
Playbook 影响¶
可能需要添加一个 playbook 来完成从每个主机/容器收集有价值信息(基于其角色/组)的任务。这个 playbook 不会对部署产生影响。
升级影响¶
无
安全影响¶
这可能会触及所有容器以收集安全信息,例如:可能包含密码的配置文件,关于 keystone 用户的信息(名称、角色等)。这是一种最小的风险,因为用户需要将输出导出到主机之外。如果有人运行此脚本,他们已经可以访问此信息,因为他们已登录到部署主机。
性能影响¶
无
最终用户影响¶
无
部署者影响¶
此更改将为部署者提供一种轻松收集有关其云的当前信息的方式。这可以帮助排除配置问题,并让他们快速了解最新的测试结果。甚至可以让他们看到软件包差异,并帮助他们为升级做好准备。
开发人员影响¶
无
依赖项¶
无
实现¶
负责人¶
开放给所有人
- 主要负责人
无
- 其他贡献者
无
工作项¶
- 创建一个脚本来
创建存档目录
收集所有相关的部署信息
tarball 存档目录
将 tarball 移动到周知的位置
删除存档目录
最终用户/部署者如何处理 tarball 将取决于他们,但它应该放置在部署主机上一个合理的位置,以便部署者可以轻松找到/访问它。
测试¶
这应该在 gating/commit/nightly 中添加一个任务来运行此脚本,并将捕获的存档 tarball 作为 jenkins artifact 返回。Tempest 结果也可以发送到 jenkins,以便可以显示 results.xml。这应该帮助开发人员/QE 看到测试趋势,并允许 jenkins 的用户更准确地及时发现错误。
文档影响¶
如果确定需要,则在用户指南中对该脚本的简单引用就足够了。
参考资料¶
如果您查看位于 scripts 目录中的当前脚本
很多关于脚本运行的主机的信息已经被收集。这个提案应该使用收集到的信息作为关于所有主机应该收集的一些信息的蓝图。