已关闭
[需求]: 支持PCIeDevice资源的RevisionId和Status属性 #737
huangleisheng创建于  4月15日关闭于  6月9日
huangleisheng成员
4月15日 创建

感谢您为社区贡献新需求!请按照以下提示提供详细信息,以便我们更好地理解并跟进。

需求属性

所属版本

openUBMC26.06

工作量

NA

是否需要编码

是

是否免测试

否

周边依赖

NA

需求来源

NA

需求描述

简要说明

支持PCIeDevice资源的RevisionId和Status属性

系统用户

开发、测试、运维、网管

前置条件

BMC运行正常

主成功场景

资源路径:/redfish/v1/Chassis/{ChassisId}/PCIeDevices/{PCIeDeviceId}/PCIeFunctions/{PCIeFunctionId}
新增属性:
RevisionId
Status

扩展场景(含异常场景)

NA

约束

NA

非功能需求

likedislike
openUBMC-robotopenUBMC-robot成员
4月15日 添加了label:sig/sig-interface
openUBMC-robotopenUBMC-robot成员
4月15日 关联了看板:openUBMC 26.06 需求看板
openUBMC-robot
openUBMC-robot成员
4月15日 评论:

欢迎来到 openUBMC 社区

Hey @yelvsub , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。

联系指引

有疑问可以联系 SIG: sig-interface ,
维护者是: @DataSculptor, @WeliveWelove, @aaronlee, @huanghan, @pengqiang-gs ,
优秀贡献者是: @yelvsub .

likedislike
openUBMC-robot
openUBMC-robot成员
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)
likedislike
wangjian成员
4月28日 评论:

/todo2accepted

likedislike
openUBMC-robotopenUBMC-robot成员
4月28日 issue状态由 待办的 改变为 已接纳
KKLTK_yyan成员
5月18日 关联了pull request:支持PCIeDevice资源的RevisionId和Status属性
KKLTK_yyan成员
5月20日 关联了pull request:支持PCIeDevice资源的RevisionId属性类型变更
Hhuangding成员
5月21日 关联了pull request:支持PCIeDevice资源的RevisionId属性类型变更:更改版本号
Hhuangding成员
5月21日 关联了pull request:支持PCIeDevice资源的RevisionId属性类型变更
huangding成员
5月21日 评论:

/accepted2developing

likedislike
openUBMC-robotopenUBMC-robot成员
5月21日 issue状态由 已接纳 改变为 开发中
huangding成员
5月21日 评论:

/developing2testing

likedislike
openUBMC-robotopenUBMC-robot成员
5月21日 issue状态由 开发中 改变为 转测中
huangding成员
5月21日 评论:
/testing2UAT
likedislike
openUBMC-robotopenUBMC-robot成员
5月21日 issue状态由 转测中 改变为 待验收
yanyajun成员
6月9日 评论:

/UAT2done

likedislike
openUBMC-robotopenUBMC-robot成员
6月9日 issue状态由 待验收 改变为 已完成
openUBMC-robotopenUBMC-robot成员
6月9日 关闭了 issue
zhaotianli成员
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) 完成

likedislike