用于捕获环境状态和日志的工具

https://blueprints.launchpad.net/tripleo/+spec/capture-environment-status-and-logs

为了便于故障排除、调试和重现问题,我们应该创建或集成一个工具,允许操作员或开发人员收集并生成一个单独的包,提供已部署环境的状态和历史记录。

问题描述

目前,没有单个命令可以通过 tripleoclient 或 UI 运行来生成一个单独的工件,用于在发生故障时报告问题。

  • tripleo-quickstarttripleo-ci 和操作员以不同的方式收集用于错误报告的日志。

  • 当发生故障时,必须收集许多不同的信息才能了解故障发生的位置。 如果未要求所需的日志,操作员可能不知道提供什么信息来进行故障排除。

提议的变更

概述

TripleO 应该提供一种统一的方法来收集 undercloud 和 overcloud 节点的状态和日志。 tripleoclient 应该支持执行一个工作流,通过 sosreport 运行状态和日志收集过程。 sosreport 的输出应该被收集并捆绑在一个单独的位置。

替代方案

目前,各种 shell 脚本和 ansible 任务被 CI 流程用于执行日志收集。 这些脚本未与核心 TripleO 结合维护,并且可能需要默认情况下未安装在 TripleO 环境中的其他工件。

tripleo-quickstart 使用 ansible-role-tripleo-collect-logs 来收集日志。

tripleo-ci 使用 bash 脚本来收集日志。

Fuel 使用 timmy

安全影响

日志和状态信息可能被认为是敏感信息。 触发状态和日志的流程应该需要身份验证。 此外,我们应该为通过此过程创建的日志包提供基本的密码保护机制。

其他最终用户影响

无。

性能影响

无。

其他部署者影响

无。

开发人员影响

无。

实现

负责人

主要负责人

alex-schultz

工作项

  • 确保 OpenStack sosreport 插件是最新的。

  • 编写 TripleO sosreport 插件。

  • 编写一个 Mistral 工作流 来执行 sosreport 并收集工件。

  • 编写 python-tripleoclient 集成来执行 Mistral 工作流。

  • 更新文档和 CI 脚本以利用新的收集方法。

依赖项

无。

测试

作为 CI 测试的一部分,应该使用新工具来收集环境日志。

文档影响

应该更新文档,以反映使用 tripleo 客户端收集日志的标准方法。

参考资料