欢迎来到 openUBMC 社区
Hey @yelvsub , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。
联系指引
有疑问可以联系 SIG: sig-component-drivers ,
维护者是: @dongyushan, @net_swift_wangchen, @sam_h1973, @u012924942, @weixin_37569011, @xiaoxinglxs ,
优秀贡献者是: @changxingOpenUBMC, @chenshengfan, @leessential, @net_swift_tianwen, @xiapengc1, @yelvsub .


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) |


/accepted2developing


PR #1479 回顾分析: 【921bd0a464a053563eb7a49bea1900d6】feat: 支持SSU启动项配置
仓库: openUBMC/rackmount
分支: main (hwliuc/rackmount_tmp) → main
合并时间: 2026-08-28 22:40:34 (UTC+8)
作者: hwliuc
关联需求: [issue #466] 支持ASU模组的BIOS启动参数设置和查询
1. AI 检视意见追踪
本 PR 经历两轮 AI 检视:首轮(08-22,openUBMC-robot 检视报告 + atomgit-bot 深度检视)与第二轮(08-27,Richardli25 账号发布的维度化深度检视报告)。
首轮 AI 检视(2026-08-22 11:25)
| # | 来源 | AI 发现 | 后续处理 | 说明 |
|---|---|---|---|---|
| 1 | openUBMC-robot | Systems.json PATCH 参数路径与 ReqBody 结构不一致,PreferredBootSource 无法传递(警告) | ✅ 已采纳修复 | e780bf0a(08-22 17:20)修改;最终版 SetBootOptions 使用 ${ReqBody/Oem/{{OemIdentifier}}/ExtendedBoot/PreferredBootSource},与 ReqBody 结构一致,讨论已解决 |
| 2 | openUBMC-robot / atomgit-bot | Bios.json PATCH 参数路径与 ReqBody 不一致,EffectivePeriod/PreferredBootMedium 无法传递(警告 / High) | ✅ 已采纳修复 | ReqBody 重构为嵌套 PreferredBootMedium 对象(Target/EffectivePeriod),参数路径 ${ReqBody/PreferredBootMedium/...} 与结构一致;对应修改见 be7ccf10(08-28 16:34) |
| 3 | openUBMC-robot | GetBootSourceOverrideTarget Switch 缺 None 分支(建议) | ⏳ 未响应 | 最终代码 Switch 仍仅含 PxeOverEthernet/PxeOverUB/Hdd 三分支;讨论虽被标记解决但代码未改,第二轮检视问题5 复提后仍未修复 |
| 4 | atomgit-bot | DefaultBootOrder 引用源键 AliasBootOrder,应为 Destination 目标键 BootOrder(Medium) | ✅ 已采纳修复 | e780bf0a(08-22 17:20)修改该行;最终版为 ${ProcessingFlow[3]/Destination/BootOrder} |
第二轮深度检视(2026-08-27 16:55,AI 生成格式报告)
| # | AI 发现 | 后续处理 | 说明 |
|---|---|---|---|
| 1 | web_backend GET 的 GetPath Id 缺 SSU 前缀,可能误匹配普通 Chassis(Major) |
✅ 已采纳修复 | 最终版改用 bmc.dev.SSU 接口 + Script tonumber(Uri.id) 数字 Id 定位资源,不再拼接字符串 Id |
| 2 | Bios.json GET 的 Destination 源键 AliasBootOrder 疑似笔误,BootOrder 恒空(Major) |
✅ 已采纳修复 | 最终版 Destination 直接使用 BootOrder,与 RspBody 引用一致 |
| 3 | redfish SSU GET RspBody 缺 @odata.context/@odata.id/Id/Name(Major) | ⏳ 未响应 | 最终 RspBody 仍仅含 @odata.type/BiosVersion/Boot/Oem;合入前机械合规预检(08-28 22:35)仍报 RF-META error,属带已知问题合入 |
| 4 | SSU PATCH 缺 ResourceExist 校验(Minor) | 🔶 部分处理 | 最终 PATCH 仍无 ResourceExist,但 Lua 插件 set_boot_options 对空路径抛 OperationFailed 兜底(错误形态非 404) |
| 5 | GetBootSourceOverrideTarget Switch 缺 None 分支(Minor,复提) | ⏳ 未响应 | 同首轮 #3 |
| 6 | GET 广告 AllowableValues 但 PATCH 不接受标准 BootSourceOverrideTarget(Minor) | ⏳ 未响应 | 最终 PATCH 仅开放 Boot.BootSourceOverrideEnabled 与 Oem PreferredBootSource,标准写路径未开放,未见设计说明 |
| 7 | 未更新 CHANGELOG.md(Minor) | ⏳ 未响应 | 最终 commit 仅含 6 个文件,无 CHANGELOG 条目 |
| 指标 | 结果 |
|---|---|
| AI 意见总数(去重) | 10 |
| 已采纳并修复 | 5 |
| 部分处理(缓解) | 1 |
| 未响应 | 4 |
2. 人工检视补充
- 检视人: DataSculptor(wangjian)、yelvsub(huangleisheng)
- 意见概要:
- DataSculptor:① 资源协作接口 bmc.dev.Bios 在 mdb_interface 中未定义;② 新增代码硬编码实例 ID(/Systems/1),应使用动态段引用;③ 北向接口新增/修改但 PR 未附社区评审帖链接
- yelvsub:① 没有改 schema(Redfish CSDL/JSON Schema 未同步)
- 解决状态: 全部已解决(resolved)
- ① 最终方案改为 Lua 插件
orchestrator.ssu_boot_options经 mdb 代理直调设备方法,插件注释明确说明绕过声明式接口限制的原因(接口定义本体需在 mdb_interface 仓库另行合入) - ② e780bf0a(08-22 17:20)改为动态段引用
- ③ 评审帖 topic 7508 于 08-24 评审通过后关联
- ④ 最终 commit(08-28 22:14)补充 openubmccomputersystem_v1.xml 与 openubmccomputersystem.v1_0_0.json 两份 schema(ExtendedBoot/PreferredBootSource/DefaultBootOrder),yelvsub 随后 /lgtm + /approve
- ① 最终方案改为 Lua 插件
3. 评审贴覆盖情况
评审贴链接:【待评审】新增接口管理SSU BIOS模块(2026-08-24 评审结论:同意)
| 评审点 | 是否涵盖 |
|---|---|
| 评审点1:新增设备树协作接口 bmc.dev.Bios 及 Version 属性 | ✅ 已涵盖(北向消费侧:redfish/web GET 经 bmc.dev.Bios 读取 Version) |
| 评审点2:新增设备树协作接口 bmc.dev.BootOptions(BootSourceOverrideEnabled/BootSourceOverrideTarget/BootOrder 属性 + SetStartOptionFlag/SetStartOption 方法) | ✅ 已涵盖(北向消费侧:GET 读取三属性,PATCH 经 Lua 插件调用两方法) |
覆盖统计: 2/2(本 PR 为北向消费侧实现,南向接口定义本体在 mdb_interface 仓库维护)
4. 总结
- 开发者对两轮 AI 检视响应积极:首轮 4 项发现中 3 项当日内(08-22 17:20)完成修复;第二轮 3 个 Major 中 2 个在最终版本修复。PATCH 写路径从声明式 Method 调用重构为 Lua 插件代理直调,一次性解决了参数路径不一致与 mdb_interface 接口未定义两个问题,是本 PR 检视驱动下的关键方案调整。
- 遗留 4 项未响应意见集中在规范性/边界场景:Redfish 元字段缺失(机械预检门禁持续报告 RF-META error)、Switch 缺 None 分支、标准 BootSourceOverrideTarget 写路径未开放、CHANGELOG 未更新。其中元字段缺失与 None 分支属于 GET 路径潜在功能缺陷,建议在后续版本或转测阶段跟进修复。
- 人工检视价值显著:DataSculptor 的 mdb_interface 依赖提醒直接推动了插件化方案落地;yelvsub 的 schema 缺失提醒促成了 CSDL/JSON Schema 补齐(合入当天完成)。人工意见全部闭环后 PR 才获得 lgtm/approve 并合入。
- 值得关注:PR 在机械合规预检报 error 的情况下约 5 分钟后即合入,建议社区明确 RF-META 类 error 是否应作为合入门禁。
此回顾分析由 AI(opencode + GLM)自动完成


/developing2UAT


感谢您为社区贡献新需求!请按照以下提示提供详细信息,以便我们更好地理解并跟进。
版本分支
openUBMC main
需求属性
所属版本
openUBMC26.09
工作量
NA
是否需要编码
是
是否免测试
否
周边依赖
NA
需求来源
NA
需求描述
简要说明
支持SSU模组的BIOS启动参数设置和查询
系统用户
开发、测试、运维、网管
前置条件
BMC运行正常
主成功场景
北向接口:redfish、web
配置优先启动项、生效模式
获取优先启动项、生效模式、默认启动项
启动项取值:系统盘、PXE-GE、PXE-UBC/PXE-UBOE
生效模式取值:永久有效、单次有效
扩展场景(含异常场景)
NA
约束
NA
非功能需求