Nova/BugTriage
目录
Nova Bug Triage
Nova bug 的 triage 遵循 OpenStack 范围内的流程,该流程记录在 BugTriage 上。
有一个开放的群组,您需要加入才能获得设置 bug 优先级的权限:https://launchpad.net/~nova-bugs
标签
所有新的 bug 都应该被标记,以反映它们与 Nova 的哪个部分相关。当前的标签列表可以在下面找到。如果合适,一个 bug 可以接收多个标签。Launchpad 查询:未分类的无标签 Bug
一旦新的 bug 被标记,它们应该按照 BugTriage 中描述的方式进行 triage。为了帮助确保 triage 队列保持在可控范围内,下表列出了承诺定期为给定标签 triage bug 的人员。官方(和非官方)标签位于:https://bugs.launchpad.net/nova/+manage-official-tags
Tag Owner List
| Bug tag | 描述 | Owner(s) | Untriaged Query | All Query |
|---|---|---|---|---|
| api | 与计算 REST API 实现相关的 Bug | alex_xu, gmann | Untriaged | All |
| api-ref | 与计算或 placement REST API 参考相关的 Bug | takashin | Untriaged | All |
| availability-zones | 在使用可用区隔离资源时的问题。 | bauzas | Untriaged | All |
| cells | 与 Nova cells 相关的 Bug | dansmith | Untriaged | All |
| ceph | 与 ceph 存储解决方案相关的 Bug | jbernard, lyarwood | Untriaged | All |
| cinder | 与 nova-cinder 交互相关的 Bug。如果确定 bug 在上游 cinder 源代码中,也应将 cinder 项目添加到“Affects”列表中 | lyarwood | Untriaged | All |
| compute | nova-compute 服务中的 Bug,不特定于 virt 驱动程序。 | melwitt | Untriaged | All |
| conductor | nova-conductor 服务中的 Bug | dansmith | Untriaged | All |
| config | 与配置选项相关的所有 Bug | stephenfin | Untriaged | All |
| console | nova-console 服务中的 Bug(包括 nova-consoleauth、novncproxy 等) | melwitt | Untriaged | All |
| cyborg | 与 nova-cyborg 交互相关的 Bug | brinzhang | Untriaged | All |
| doc | 应影响手册项目或 nova 内部文档的 Bug | mriedem / takashin | Untriaged | All |
| db | 数据库(数据存储)问题,包括迁移 | jaypipes | Untriaged | All |
| gate-failure | 用于对 gate 中的失败进行分类的 Bug 报告 | mriedem | Untriaged | All |
| hyper-v | 特定于 hyper-v 驱动程序的问题 | claudiub | Untriaged | All |
| i18n | 国际化问题 | ? | Untriaged | All |
| ironic | 特定于 ironic 驱动程序的问题 | jroll | Untriaged | All |
| libvirt | 特定于 libvirt(kvm 或 qemu)驱动程序的问题 | kashyapc / sean-k-mooney, lyarwood | Untriaged | All |
| live-migration | 在进行实时迁移时特定问题。 | sean-k-mooney / lyarwood | Untriaged | All |
| low-hanging-fruit | 应该是新贡献者的一个容易实现的目标 | free for all | Untriaged | All |
| lxc | 特定于 LXC 虚拟化支持的问题 | ? | Untriaged | All |
| needs-attention | 在 bug skimming duty 期间出现,并且进一步步骤不明确的 Bug。 | ? | Untriaged | All |
| needs-functional-test | 我们需要一个功能测试来避免回归。 | ? | Untriaged | All |
| network | nova-network 中的问题 | sean-k-mooney | Untriaged | All |
| neutron | 与 nova-neutron 交互的问题。如果确定 bug 在上游 neutron 源代码中,也应将 neutron 项目添加到“Affects”列表中 | sean-k-mooney | Untriaged | All |
| notifications | 通知中的 Bug | gibi / takashin | Untriaged | All |
| nova-manage | nova-manage 工具中的 Bug (文档) | melwitt / tssurya | Untriaged | All |
| numa | 涉及 NUMA 的问题 | stephenfin / sahid / sean-k-mooney | Untriaged | All |
| novaclient | novaclient bug 存在于 launchpad 上的独立项目中,python-novaclient。它们不是 nova 项目中标记的 bug。但是,我们仍然需要一到多个人注册,以确保 novaclient bug 得到 triage 和处理。 | andreykurilin / takashin | Untriaged | All |
| ops | ? | ? | Untriaged | All |
| oslo | 与 Oslo 集成相关的 Bug(oslo-incubator 或 Oslo 库)。如果确定 bug 在上游 oslo 源代码中,也应将 oslo 项目添加到“Affects”列表中。 | gcb | Untriaged | All |
| pci | 关于 pci 设备(包括“pci-passthrough”)的 Bug | stephenfin / sahid / sean-k-mooney | Untriaged | All |
| placement | 关于 placement API 的 Bug | cdent | Untriaged | All |
| postgresql | PostgreSQL 特定的 Bug。 | ? | Untriaged | All |
| powervm | PowerVM 特定的 Bug。 | ? | Untriaged | All |
| quotas | 与使用配额限制对资源访问相关的 Bug | melwitt | Untriaged | All |
| race-condition | 由于竞争条件难以重现的问题。可能仅与其他标签结合使用。 | ? | Untriaged | All |
| resource-tracker | 关于跟踪我们何时何地声明资源的问题。 | jaypipes | Untriaged | All |
| rootwrap | 与以 root 身份运行的命令或 rootwrap 框架相关的问题。 | ttx | Untriaged | All |
| s390x | 影响 IBM 的 s390x 架构(System z)的 Bug | andrea_s | Untriaged | All |
| scheduler | nova-scheduler 服务中的 Bug | bauzas / edleafe / jaypipes | Untriaged | All |
| security | ? | ? | Untriaged | All |
| security-groups | ? | ? | Untriaged | All |
| testing | 与测试相关的 Bug(单元测试、功能测试、tempest 集成) | gmann / takashin | Untriaged | All |
| unified-objects | 与 unified-objects 工作相关的 Bug | dansmith | Untriaged | All |
| upgrade | 从一个版本升级到另一个版本的问题。这些通常是关键的 Bug! | dansmith | Untriaged | All |
| vmware | 特定于 VMware 虚拟化支持的问题。 | cdent | Untriaged | All |
| volumes | 与卷支持相关的问题(Cinder 集成) | mdbooth / lyarwood | Untriaged | All |
| xen | 与 libvirt+xen 驱动程序相关的问题 | anthonyper, openstack-ci@xenproject.org | Untriaged | All |
| xenserver | 特定于 XenServer/XenAPI 虚拟化支持的问题 | BobBall | Untriaged | All |
How to Subscribe to Tags
Weekly bug skimming duty
Nova 每天都会收到大量的新的 bug 报告。每个 bug 报告都需要检查它是否是有效的报告,是否缺少关键信息等等。每周的 bug skimming duty 应该将这项任务的知识和努力分散到多个人身上。
Ocata Cycle
| from | to | (IRC) names |
|---|---|---|
| 2017-02-06 | 2017-01-10 | macsz |
| 2017-01-10 | 2017-01-13 | siva_krishnan |
| 2017-01-17 | 2017-01-20 | aunnam |
| 2017-01-31 | 2017-02-03 | sneti |
Newton Cycle
| from | to | (IRC) names |
|---|---|---|
| 2016-11-14 | 2016-11-18 | macsz |
| 2016-08-08 | 2016-08-12 | macsz |
| 2016-08-01 | 2016-08-05 | macsz, eil397 |
| 2016-07-25 | 2016-07-29 | eil397 |
| 2016-07-18 | 2016-07-22 | --- |
| 2016-07-11 | 2016-07-15 | johnthetubaguy, siva_krishnan, pumaranikar |
| 2016-07-04 | 2016-07-08 | --- |
| 2016-06-27 | 2016-07-01 | --- |
| 2016-06-20 | 2016-06-24 | --- |
| 2016-06-13 | 2016-06-17 | aunnam, sneti |
| 2016-06-06 | 2016-06-10 | takashin |
| 2016-05-30 | 2016-06-03 | pumaranikar, siva_krishnan |
| 2016-05-23 | 2016-05-27 | raj_singh, macsz |
| 2016-05-16 | 2016-05-20 | aunnam, sneti |
| 2016-05-16 | 2016-05-17 | andrearosa |
| 2016-04-28 | 2016-05-05 | pumaranikar |
| 2016-04-21 | 2016-04-28 | lyarwood |
| 2016-04-07 | 2016-04-14 | cihand |
该职责包括
- 当缺少关键信息时,将 bug 切换为“incomplete”,并要求报告者提供更多信息。这包括
- 重现步骤
- Nova 和 novaclient(或 os-client)的版本
- 日志(在 debug 级别)
- 取决于 bug 的环境详细信息
- libvirt/kvm 版本、VMWare 版本、...
- 存储类型(ceph、LVM、GPFS、...)
- 网络类型(nova-network 或 neutron)
- 如果是一个支持请求或功能请求,则关闭为“invalid”。
- 如果能够重现所描述的问题或可以确定此 bug 报告似乎有效,则切换为“confirm”。由于缺少资源(例如 ceph 存储等),这并不总是可能的。
- 如果报告允许您缩小可能包含问题的区域,则添加一个标签(或多个标签)。这应该是子团队深入挖掘以找到根本原因和潜在解决方案的入口点。
- 将关键 bug 引起其他贡献者的注意。#openstack-nova 频道和/或 ML 帖子很有用。
简而言之,在需要子团队的专业知识之前,尽可能多地完成。另外,如果您发现潜在的关键 bug,请在 #openstack-nova 频道中大声喊出来(给 markus_z 或其中一位核心评审人员)。
Misc
可以在 BugReportTemplate 上找到 bug 报告模板
常见问题解答
以下是关于 bug triage 的最常见问题。如果您有更多问题,请参加 nova bugs team meeting。
Q: bug skimming duty 的目标是什么?
A: 简而言之,减少其他开发人员为进行 bug 报告的适当根本原因分析(以及后续修复)所花费的工作量。为此,关闭明显无效的 bug 报告,确认明显有效的 bug 报告,并在事情不清楚时提出问题。
Q: 我需要在将 bug 报告设置为 Confirmed/Invalid 前证明 bug 报告是有效/无效的吗?
A: 不。有时甚至不可能,因为您没有资源。查看代码和测试通常使您能够做出明智的猜测。在评论中引用您的来源有助于讨论。
Q: 如果无法重现问题,关闭 bug 报告的最佳状态是什么?
A: 明确地 Invalid。注意:状态 Incomplete 是一个开放状态,意味着“需要更多信息”。
Q: 如何处理处于 Incomplete 状态太久的开放 bug 报告?
A: 如果它处于这种状态超过 30 天,并且没有给出对开放问题的答案,则将其关闭为 Won't Fix。
Q: 如何处理对其他项目中的其他 bug 或 TBD 功能的依赖关系?例如,我可以在 Nova 中修复一个 bug,但需要 Cinder 中实现一个功能才能进行。
A: 在 Nova bug 报告中留下评论,解释此依赖关系,并留下对您所依赖的其他项目的蓝图或 bug 报告的链接。
Q: 我是否需要检查具有分配人的 New bug 报告?
A: 通常不需要。此 bug 报告处于不一致的状态。如果 bug 报告具有分配人,则应为 In Progress 并设置重要性。
Q: question?
A