跳转到: 导航, 搜索

NeutronGateFailureTriage

此页面提供识别和评估 neutron gate 失败的指南。同时也提供了一些故障排除的提示。

仍在进行中,请见谅

识别 gate 失败

可以使用多种工具来实现这一点。

  1. Joe Gordon 的 github.io 页面
  2. http://logstash.openstack.org

虽然 Joe 的脚本不是一个“官方”Openstack 页面,但它提供了当前最重要的作业状态的快速快照。此页面使用 graphite.openstack.org 上可用的数据构建。 如果你想检查它是如何完成的,请访问这里:https://github.com/jogo/jogo.github.io/tree/master/gate (注意:neutron 作业的颜色与 nova-network 的完整作业的颜色非常相似)

要使用 logstash 检查 gate 失败,以下查询将返回特定作业的失败次数

 build_status:FAILURE AND message:Finished  AND build_name:"check-tempest-dsvm-neutron" AND build_queue:"gate"

并除以执行的总作业数

 message:Finished  AND build_name:"check-tempest-dsvm-neutron" AND build_queue:"gate"

它将返回在选定时间段内给定作业的失败率。重要的是要注意,check 队列中的失败可能具有误导性,因为导致失败的问题通常在于正在检查的补丁。 因此,始终建议处理 gate 队列中发生的失败。 然而,这些失败是评估频率和确定 gate 队列中表现出来的失败的根本原因的宝贵资源。

上述步骤将提供一个快速的概览。 当作业在 24 小时内的失败率超过 10% 时,就应该保持警惕。 25% 是橙色警报。 33% 是红色警报。 任何超过 50% 的情况都意味着基础设施团队的某人可能已经对你下了追捕令。 无论你是放松、处于警报模式还是因为看到胸前的一个红点而惊慌失措,定期检查 elastic-recheck 页面始终是一个好主意。

gate pipeline 选项卡下,你可以看到已知错误的 gate 失败率。 此页面中的错误按失败率降序排列(过去 24 小时内)。 如果其中一个影响 Neutron 的错误位于列表顶部,你应该检查相应的错误是否已经分配并且有人正在处理它。 如果没有,并且没有充分的理由,应该确保有人尽快处理它。 另一个方面是检查 uncategorized 失败。 这是新的(未知的)gate 破坏性错误的失败最终落到的地方; 另一方面,导致作业失败的基础设施错误也会在这里出现。 勤奋的 Neutron 开发者应该确保 neutron 作业的分类率尽可能接近 100%。 为此,勤奋的 Neutron 开发者应采取以下步骤

  1. 打开失败作业的日志并查找 logs/testr_results.html.gz
  2. 如果该文件丢失,请检查 console.html 并查看作业失败的位置。
    1. 如果在 devstack-gate-cleanup-host.txt 中出现故障,则很可能是基础设施问题
    2. 如果故障在 devstacklog.txt 中,则可能是 devstack、neutron 或基础设施问题
  3. 然而,大多数时候,故障发生在其中一个 tempest 测试中。 记下错误消息并转到 logstash
  4. 在 logstash 上,搜索此错误消息的出现,并尝试确定失败的根本原因(如下所示)
  5. 为此失败提交一个错误报告,并推送一个 elastic-recheck 查询(如下所示)。
  6. 如果你对该错误的领域有信心,并且有时间,请将其分配给自己; 否则,寻找一个分配人或与 Neutron 的 bug czar 讨论以找到一个分配人。

确定 gate 失败的根本原因

基于时间的识别,即:找到淘气的补丁 日志搜寻

提交 elastic recheck 查询

提交这些内容的指南