Closed
[需求]: 支持HBM介质健康风险北向接口 #1014
dengxiaochengAdd on  Aug 18Closed at  Sep 7
dengxiaochengCollaborators
Aug 18 Create

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

所属版本

openUBMC 26.09

版本分支

openUBMC main

简要说明

HBM新内存介质故障带内隔离,支持通过北向redfish查询接口查询HBM健康风险

前置条件

BMC运行正常且OS运行正常

系统用户

运维人员、网管

主成功场景

HBM新内存介质故障带内隔离,BMC评估介质健康风险并支持通过北向redfish查询接口查询HBM健康风险

非功能需求类型

兼容性影响评估

新增功能,无兼容性问题

扩展场景(含异常场景)

不涉及

周边依赖

不涉及

约束

不涉及

likedislike
openUBMC-robot
openUBMC-robotCollaborators
Aug 18 Comments:

注意

此 Issue 需要负责人。 如果没有指派时, ZanthoxylumLeaf 是默认的负责人

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 18 Assign ZanthoxylumLeaf as responsible person
openUBMC-robotopenUBMC-robotCollaborators
Aug 18 Added label: sig/sig-interface
openUBMC-robot
openUBMC-robotCollaborators
Aug 18 Comments:

欢迎来到 openUBMC 社区

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

机器人使用手册

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

联系指引

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

likedislike
openUBMC-robot
openUBMC-robotCollaborators
Aug 18 Comments:

Issue 工作流介绍

社区的需求和缺陷的工作流状态处于纳管中。

类型 上个状态 下个状态 评论命令 谁可以操作
需求 待办的 已接纳 /todo2accepted SIG组: sig-release-management (maintainer)
需求 已接纳 开发中 /accepted2developing 仓库成员角色: Maintainer, Committer, Contributor, Owner
需求 开发中 待验收 /developing2UAT 仓库成员角色: 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
DdengxiaochengCollaborators
Aug 18 Modify description of issue
WwangjianCollaborators
Aug 18 associated Kanban: openUBMC 26.09 需求看板
wangjianCollaborators
Aug 18 Comments:

/todo2accepted

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 18 changed custom state from 待办的 to 已接纳
Wwangxiaoyang1Collaborators
Aug 19 Associated pull request
Wwangxiaoyang1Collaborators
Aug 20 Associated pull request
zhaotianliCollaborators
Aug 20 Comments:

PR #1458 回顾分析: 【e7b9dd1b8e4aa7dd0e69d467ca66d844】feat:支持HBM介质健康风险北向接口

仓库: openUBMC/rackmount
分支: main_dt1 → main
合并时间: 2026-08-20 15:16
作者: wangxiaoyang1

注:get-ai-review 未检索到 OpenClaw AI 检视记录(返回空)。本回顾纳入三类 AI 生成内容:GitCode 平台 AI 代码审查(atomgit-bot)、规则驱动 AI 检视(openUBMC-robot,5 轮共 20 条行内意见)与 AI 一致性检视(Richardli25 账号发布的 D14-D25 维度报告)。


1. AI 检视意见追踪

# 来源 AI 发现 后续处理 说明
1 atomgit-bot 🔴/Richardli25 [阻断] fpcmemory.lua:249 缺 or 运算符,Lua 语法错误致整个插件无法加载,波及 FDMService 既有功能(该缺陷系修复首轮 HealthBitmap 校验意见时引入) ✅ 已采纳修复 commit 9a62e60b(19:16)当日补上 or
2 atomgit-bot P2 DeviceLocator 分组公式 off-by-one,与 get_npu_ras_path_by_id 映射自相矛盾 ✅ 已采纳修复 最终重构 406c57c2:DeviceLocator 简化为 'Npu' .. obj.Id,公式矛盾消除
3 atomgit-bot P2 / Richardli25 [major] hbmhighras.json anyOf 引用未随 PR 发布的 v1_0_0(悬空引用);基础 $ref 未含 v1_1_0 ✅ 已采纳修复 最终 anyOf 同时引用 v1_0_0 与 v1_1_0
4 Richardli25 [major] v1_1_0 schema 丢失 v1_0_0 已有 Actions(ExecuteScrubbing),小版本升级破坏向后兼容 ✅ 已采纳修复 最终 hbmhighras.v1_1_0.json 保留 Actions 定义
5 Richardli25 [major] mdb.get_sub_objects 返回值假设错误((ok, result) 双返回不存在),PCIe 判断分支为死代码 ✅ 已采纳修复 最终重构整体删除 get_pcie_card,问题以消除方式闭环
6 openUBMC-robot R1/R2 get_pcie_card D-Bus 调用未 pcall 保护、ObjectIdentifier[4] 无 nil/类型保护 ✅ 已采纳修复 a05aaf45(16:13)当日修复,后随重构彻底消除
7 openUBMC-robot R1/R2 obj.Id / HealthBitmap 未做类型校验即参与运算 ✅ 已采纳修复 最终代码含 type(obj.Id) ~= 'number'、type(obj.HealthBitmap) ~= 'number' 校验
8 openUBMC-robot R2 get_npu_ras_path_by_id 中 DieIndex/CarrierBoardId 缺少 nil 保护 ✅ 已采纳修复 最终代码含 obj.DieIndex == nil or obj.CarrierBoardId == nil 前置检查
9 openUBMC-robot R1-R3.5 get_pcie_card 硬编码 systemid=1、未用变量 pcie_cards、local ok 重复声明、返回值仅作布尔判断的 D-Bus 浪费、RAS 校验前调用顺序开销、循环内重复查询 PCIeCards ✅ 已采纳修复 重构 406c57c2 删除 get_pcie_card 全函数,6 项意见一次性消除
10 openUBMC-robot R2/R4 Lua 5.3+ 特有运算符 //、& 可能不兼容低版本运行时 🔶 部分修复 // 随重构消失;& 位运算保留(标记解决,未改代码)
11 openUBMC-robot R2/R3 npufpc.v1_0_0.json、hwfdmservice.v1_1_0.json 中 @odata.id 的 $ref 路径(odata-v4.json)与同文件其他引用不一致 🔶 标记解决未改 代码维持现状
12 openUBMC-robot R3.5/R4 obj.Presence、DieIndex、CarrierBoardId 参与比较/算术前未做类型校验(D-Bus 可能返回字符串) 🔶 标记解决未改 最终代码保留 obj.Presence ~= 1 直接比较,仅 Id/HealthBitmap 有校验
13 atomgit-bot P3 新增 HBM 状态映射逻辑(id 换算、位掩码、pcall 分支)无单测 ⏳ 未响应 本 PR 未添加任何测试文件
14 Richardli25 [minor] PrivilegeMap 中 NpuFPC URI 冗余挂载到 CpuFPC 实体的 ResourceURIOverrides ⏳ 未修改 最终代码仍保留双实体重复挂载(权限相同,无功能影响)
指标 结果
AI 意见总数(独立问题,去重后) 14
已采纳并修复 9
部分修复 / 标记解决维持现状 3
未响应 2
行内 diff 意见解决率(resolved) 22/22 = 100%

迭代时间线:PR 创建(08-19 15:30)→ 首轮 AI 5 条(15:37)→ 修复 a05aaf45(16:13)→ atomgit Critical + 一致性检视 8 问题(16:54)→ 修复 9a62e60b(19:16)→ AI 二/三/四轮共 11 条(19:21-20:28)→ 迭代修复 492601bd、54f9a7be → 最终重构 406c57c2(08-20 09:46)→ 五轮 AI 4 条全部标记解决(09:52)→ 合入(15:16)。全程 6+ 个迭代 commit,历时约 24 小时。

2. 人工检视补充

  • 检视人: yelvsub (huangleisheng)、gb286907986 (guanbin)、huangrenjie(后两者为 /lgtm 流程性动作,无标签权限未生效)
  • 意见概要:
    • yelvsub(08-20 14:51,fpcmemory.lua:192 行内评论):"这个计算有点定制化了,业务背景是什么"——针对 CarrierBoardId * 2 + DieIndex - 1 的 NPU 匹配公式。
    • wangxiaoyang1(15:08 回复):"通过CarrierBoardId及DieIndex匹配NPU,区分是否多个Die"。
  • 解决状态: ✅ 已回复说明(约 16 分钟响应)并 resolved;yelvsub 随后 /lgtm /approve,PR 于 8 分钟后合入。

3. 评审贴覆盖情况

评审贴链接:【已评审】Redfish接口HBMHighRAS资源新增属性承载HBM维护状态

评审点 是否涵盖
评审点1:HBMHighRAS 资源(v1_1_0)新增 HBMStatus 属性(array 只读:DeviceLocator string / MaintenanceRequired bool,权限 ReadOnly,URI /redfish/v1/Managers/{id}/FDMService/NpuFPC/HBMHighRAS) ✅ 已涵盖
遗留问题闭环:不采用集合/links/关联方式,HBMHighRAS 作为独立资源节点直接呈现属性,DeviceLocator 采用 string 类型 ✅ 已遵循

覆盖统计: 1/1

实现要点:schema(hbmhighras.v1_1_0.json 含 HBMStatus 定义)→ 映射(HBMHighRAS.json GET RspBody 经 orchestrator.fpcmemory.get_hbm_status 填充)→ 权限(PrivilegeMap NpuFPC/HBMHighRAS GET→Login)→ 挂接(NpuFPC 资源 + FDMService/HwFDMService 链接)链路完整,HealthBitmap bit0 → MaintenanceRequired 语义与设计一致。

4. 总结

  • AI 检视采纳率高、响应迅速:14 个独立问题中 9 个完全修复(64%),3 个部分修复或维持现状,仅 2 个未响应;全部 22 条行内意见 resolved。开发者对每轮检视均在 1-3 小时内提交修复 commit。
  • 多轮检视形成有效闭环:首轮修复过程中引入的 P0 语法错误(缺 or)在 2 小时内被平台审查与一致性检视双重捕获并当日修复;schema 版本兼容(Actions 保留、anyOf 双版本引用)等设计 major 问题全部闭环。
  • 重构优于修补的收尾策略值得借鉴:开发者最终以整体删除 get_pcie_card、DeviceLocator 直取 NPU Id 的重构方式,一次性消除 6 项健壮性/性能类意见,避免了逐条打补丁。
  • 人工检视聚焦业务语义:唯一行内人工意见(yelvsub 质询定制化计算的业务背景)获得即时回复说明,体现人工检视与 AI 检视的互补——AI 关注代码缺陷,人工关注设计动机。
  • 建议后续关注:& 位运算依赖 Lua 5.3+ 运行时、$ref 路径风格不统一、Presence/DieIndex 等字段类型校验缺失、PrivilegeMap URI 冗余挂载,以及新增映射逻辑仍无单测覆盖。

此回顾分析由 AI (OpenClaw + GLM-5-turbo) 完成

likedislike
wangxiaoyang1Collaborators
Aug 21 Comments:

/accepted2developing

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 21 changed custom state from 已接纳 to 开发中
wangxiaoyang1Collaborators
Aug 21 Comments:

/developing2UAT

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Aug 21 changed custom state from 开发中 to 待验收
LuQianliLuQianliCollaborators
Aug 22 Associated pull request
LuQianliLuQianliCollaborators
Aug 22 Deleted associated pull request: 支持故障诊断功能北向接口裁剪
wangyanyanCollaborators
Sep 7 Comments:

/UAT2done

likedislike
openUBMC-robotopenUBMC-robotCollaborators
Sep 7 changed custom state from 待验收 to 已完成
openUBMC-robotopenUBMC-robotCollaborators
Sep 7 Close issue