已关闭
[需求]: 支持PCIeDevice资源的RevisionId和Status属性 #737
huangleisheng创建于 4月15日关闭于 6月9日
4月15日 添加了label:sig/sig-interface
4月15日 关联了看板:openUBMC 26.06 需求看板
openUBMC-robot
4月15日 评论:
4月15日 评论:
欢迎来到 openUBMC 社区
Hey @yelvsub , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。
联系指引
有疑问可以联系 SIG: sig-interface ,
维护者是: @DataSculptor, @WeliveWelove, @aaronlee, @huanghan, @pengqiang-gs ,
优秀贡献者是: @yelvsub .


openUBMC-robot
4月15日 评论:
4月15日 评论:
Issue 工作流介绍
社区的需求和缺陷的工作流状态处于纳管中。
| 类型 | 上个状态 | 下个状态 | 评论命令 | 谁可以操作 |
|---|---|---|---|---|
| 需求 | 待办的 | 已接纳 | /todo2accepted | SIG组: sig-release-management (maintainer) |
| 需求 | 已接纳 | 开发中 | /accepted2developing | 仓库成员角色: Maintainer, Committer, Contributor, Owner |
| 需求 | 开发中 | 转测中 | /developing2testing | 仓库成员角色: Maintainer, Committer, Contributor, Owner |
| 需求 | 转测中 | 待验收 | /testing2UAT | 仓库成员角色: Maintainer, Committer, Contributor, Owner |
| 需求 | 待验收 | 已完成 | /UAT2done | SIG组: sig-QA (maintainer,committer) |
| 需求 | 待办的 | 已挂起 | /todo2suspended | SIG组: sig-release-management (maintainer) |
| 需求 | 已挂起 | 已接纳 | /suspended2accepted | SIG组: sig-release-management (maintainer) |
| 需求 | 待办的 | 已拒绝 | /todo2rejected | SIG组: sig-release-management (maintainer) |
| 需求 | 已拒绝 | 已接纳 | /rejected2accepted | SIG组: sig-release-management (maintainer) |


4月28日 issue状态由 待办的 改变为 已接纳
5月21日 issue状态由 已接纳 改变为 开发中
5月21日 issue状态由 开发中 改变为 转测中
5月21日 issue状态由 转测中 改变为 待验收
6月9日 issue状态由 待验收 改变为 已完成
6月9日 关闭了 issue
zhaotianli
6月9日 评论:
6月9日 评论:
PR #1186 回顾分析: 支持PCIeDevice资源的RevisionId和Status属性
仓库: openUBMC/rackmount
分支: add-RevisionId → main
作者: KLTK_yyan
合并时间: 2026-05-20 16:17
说明:本 PR 的 AI 检视记录由账号
Richardli25(zhaotianli)以结构化 Code Review 形式发布(2026-05-19 15:58),按 AI 检视意见纳入追踪。get-ai-review接口因账号归属未匹配到,但内容确为 AI 检视。
1. AI 检视意见追踪
| # | 严重度 | AI 发现 | 后续处理 | 说明 |
|---|---|---|---|---|
| 1 | 中等 | RevisionId 未在 single-function 上下文中添加 | 已回复说明 | single-function 上下文 ProcessingFlow[4] 读取的是 PCIeDevice 接口(无 RevisionId),仅 multi-function 的 PCIeFunction 接口支持。开发者回复"单function不需要加这个属性",属设计差异,非缺陷 |
| 2 | 中等 | Status.State 硬编码 "Enabled" | 未响应 | 最终代码 State 仍硬编码 "Enabled"。但同处 multi-function 的 Health 逻辑已由最终提交 eaf717d 改为基于 RAS 的动态计算(lua 脚本),相关风险部分缓解 |
| 3 | 中等 | multi-function funcname 多 CPU 归属索引问题 | 已采纳修复 | aliens_to_mars 同步提出,开发者于 commit e845a02f(2026-05-19)修改该行 |
| 4 | 低 | 缺少 CHANGELOG.md 和版本号变更 | 未响应 | 变更文件中未见 CHANGELOG/版本号条目 |
| 5 | 低 | 设计文档问题(标题"xx功能"占位符、SIG 空、Processor 残留) | 未响应 | 设计文档 支持PCIeDevice资源的RevisionId和Status属性.md 仍保留上述问题 |
| 6 | 低 | 两个 GetHealth Statement 重复定义 | 已解决 | 最终实现使两者分化:single 保留 Switch 映射,multi 改用 get_pcie_function_health.lua 脚本,重复问题不复存在 |
| 指标 | 结果 |
|---|---|
| AI 意见总数 | 6 |
| 已采纳并修复 | 2 |
| 已回复说明 | 1 |
| 未响应 | 3 |
2. 人工检视补充
- 检视人: huangding(aliens_to_mars)、huangleisheng(yelvsub)
- 意见概要:
- huangding:① Status 属性放错上下文(应位于 multi_id 而非 single_id);② 多 function 跨 CPU 归属时 funcname 需转换不能直接索引;③ 非字符串类型无效值应为 null(引用社区规范 topic 2126)
- huangleisheng:④ Health 应基于
bmc.kepler.Systems.PCIeDevice.PCIeFunction.RAS实现,以区分不同 Function 而非整体 PCIeCard
- 解决状态: 全部已解决(4/4 resolved)
- 修复情况:
- ①② 修复于
e845a02f(2026-05-19) - ③ 修复于
846e7d03(2026-05-19,GetRevisionId 增加 255/254/nil → null 处理) - ④ 修复于
eaf717d(2026-05-20,新增 lua 脚本 + RAS ProcessingFlow[6])
- ①② 修复于
- 两位检视人均给出
/lgtm,yelvsub 额外/approve
3. 评审贴覆盖情况
评审贴链接:【待评审】支持PCIeDevice资源的RevisionId和Status属性(https://discuss.openubmc.cn/t/topic/6131,评审结论为空)
| 评审点(评审点1) | 是否涵盖 |
|---|---|
| RevisionId([string], readonly) | ✅ 已涵盖(multi-function 上下文,含无效值返回 null) |
| Status/State([string], readonly) | ✅ 已涵盖(硬编码 "Enabled") |
| Status/Health([string,null], readonly) | ✅ 已涵盖(single: Switch 映射;multi: RAS lua 脚本) |
覆盖统计: 3/3
4. 总结
- AI 意见采纳率:核心中等问题(2/3 已修复或说明),低优先级文档类问题(3 条)未处理,整体技术问题响应良好。
- 开发者响应态度:积极。对检视意见均在当日完成回复或代码修复,并多次更新自验报告,迭代高效。
- 人工检视的补充价值显著:本次人工意见(尤其 huangleisheng 的 RAS 方案、huangding 的 null 处理)直接推动了实现方案的实质性改进——multi-function 的 Health 由简单 Switch 映射升级为基于 RAS 的精确判断,RevisionId 增加了无效值兜底,质量明显优于 AI 初版评审所见。AI 检视意见与人工意见在 funcname 索引问题上重合,体现了一致的关注点。
- 值得关注的模式:① Status.State 硬编码 "Enabled" 为本系列 PCIeDevice PR 的共性问题,建议后续统一收敛;② 设计文档模板占位符未替换、评审贴结论为空,是反复出现的流程类问题,建议在 PR 提交前自查。
此回顾分析由 AI (OpenClaw + GLM-5-turbo) 完成


感谢您为社区贡献新需求!请按照以下提示提供详细信息,以便我们更好地理解并跟进。
需求属性
所属版本
openUBMC26.06
工作量
NA
是否需要编码
是
是否免测试
否
周边依赖
NA
需求来源
NA
需求描述
简要说明
支持PCIeDevice资源的RevisionId和Status属性
系统用户
开发、测试、运维、网管
前置条件
BMC运行正常
主成功场景
资源路径:/redfish/v1/Chassis/{ChassisId}/PCIeDevices/{PCIeDeviceId}/PCIeFunctions/{PCIeFunctionId}
新增属性:
RevisionId
Status
扩展场景(含异常场景)
NA
约束
NA
非功能需求