已合并
【9695118001ec4a9e96aa727698a153c9】feat: 支持CPU主板备件更换标志属性变化实时刷新 #283
liucong创建于 9月18日
【9695118001ec4a9e96aa727698a153c9】feat: 支持CPU主板备件更换标志属性变化实时刷新 #283
已合并
Pull Request已成功合入, 合并人@openUBMC-robot
(感谢 liucong 的贡献)9月18日 将nathanael,xiaoxinglxs,changxingOpenUBMC,yelvsub设为审查人
9月18日 添加了label:sig/sig-hardware
openUBMC-robot
9月18日 评论:
9月18日 评论:
欢迎来到 openUBMC 社区
Hey @hwliuc , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅机器人自助配置使用手册。
联系指引
有疑问可以联系 SIG: sig-hardware ,
维护者是: @changxingOpenUBMC, @nathanael, @xiaoxinglxs, @yelvsub ,
优秀贡献者是: @huangjiapei, @weiziang .


9月18日 添加了label:openUBMC-cla/yes
openUBMC-robot
9月18日 评论:
9月18日 评论:
9月18日 添加了label:needs-issue
openUBMC-robot
9月18日 评论:
9月18日 评论:
关联 Issue 通知
@hwliuc , 提交的PR需要关联issue,指导链接:https://forum.openubmc.cn/t/topic/208
如果已经关联了issue, 但是needs-issue标签仍然存在,你可以在评论 /check-issue 来移除它。


openUBMC-robot
9月18日 评论:
9月18日 评论:
/ai review


atomgit-bot
9月18日 评论:
9月18日 评论:
openUBMC-robot
9月18日 评论:
9月18日 评论:
The pipeline(pipeline number:658) is running. >>> Check Pipeline <<<.Please wait a moment...


9月18日 添加了label:ci-running
9月18日 删除了label:ci-running
openUBMC-robot
9月18日 评论:
9月18日 评论:
| 任务名称 | 结果 |
|---|---|
| pre-commit检查 | ✅SUCCESS |
| PR描述检查 | ❌FAILED |
| 静态检查 | ✅SUCCESS |
| 防投毒检查 | ✅SUCCESS |
| 开源合规检查 | ✅SUCCESS |
| 编译构建 | ✅SUCCESS |
| UT测试 | ✅SUCCESS |
| IT测试 | ✅SUCCESS |
| 代码覆盖率 | ✅SUCCESS |
| ipmi修改 | ✅SUCCESS |
| 修改行数检查 | ✅SUCCESS |


9月18日 添加了label:ci-failed
9月18日 删除了label:ci-failed
openUBMC-robot
9月18日 评论:
9月18日 评论:
| 任务名称 | 结果 |
|---|---|
| pre-commit检查 | ✅SUCCESS |
| PR描述检查 | ❌FAILED |
| 静态检查 | ✅SUCCESS |
| 防投毒检查 | ✅SUCCESS |
| 开源合规检查 | ✅SUCCESS |
| 编译构建 | ✅SUCCESS |
| UT测试 | ✅SUCCESS |
| IT测试 | ✅SUCCESS |
| 代码覆盖率 | ✅SUCCESS |
| ipmi修改 | ✅SUCCESS |
| 修改行数检查 | ✅SUCCESS |


9月18日 添加了label:ci-failed
9月18日 删除了label:ci-failed
openUBMC-robot
9月18日 评论:
9月18日 评论:
| 任务名称 | 结果 |
|---|---|
| pre-commit检查 | ✅SUCCESS |
| PR描述检查 | ✅SUCCESS |
| 静态检查 | ✅SUCCESS |
| 防投毒检查 | ✅SUCCESS |
| 开源合规检查 | ✅SUCCESS |
| 编译构建 | ✅SUCCESS |
| UT测试 | ✅SUCCESS |
| IT测试 | ✅SUCCESS |
| 代码覆盖率 | ✅SUCCESS |
| ipmi修改 | ✅SUCCESS |
| 修改行数检查 | ✅SUCCESS |


9月18日 添加了label:ci-successful
9月20日 删除了label:needs-issue
huangjiapei
9月20日 评论:
9月20日 评论:
/lgtm
/approve


9月20日 添加了label:approvedlgtm
openUBMC-robot
9月20日 评论:
9月20日 评论:
9月20日 合入了pull request,合并节点 SHA:6a4311cd42639a5801cb01d67072cd80b0f5d990
9月20日 修改标题为 “【9695118001ec4a9e96aa727698a153c9】feat: 支持CPU主板备件更换标志属性变化实时刷新”,原标题为“feat: 支持CPU主板备件更换标志属性变化实时刷新”
9月20日 修改标题为 “【9695118001ec4a9e96aa727698a153c9】feat: 支持CPU主板备件更换标志属性变化实时刷新”,原标题为“feat: 支持CPU主板备件更换标志属性变化实时刷新”
openubmc-ci-bot
9月20日 评论:
9月20日 评论:
This component has been successfully published.


当前PR是否有AI参与:
PR功能描述 / 为什么需要这个合入:
bios 对象的备件更换标志(
replace_flag)用于判断 CPU 主板是否发生备件更换,进而在更换后触发 BIOS 配置数据恢复。此前replace_flag只在get_replace_flag()初始化时通过GetComponentComponentObject读取一次 CPU 主板组件(bmc.kepler.Systems.Component)的ReplaceFlag属性,运行期该属性发生变化时无法感知,导致备件更换标志状态滞后。变更类型
修改方案:
mds/service.json:为/bmc/kepler/Systems/${SystemId}/Components/${Id}的bmc.kepler.Systems.Component接口增加ReplaceFlag属性订阅;版本号更新至1.110.29。gen/bios/client.lua:生成OnComponentPropertiesChanged方法,用于订阅指定 CPU 主板组件的ReplaceFlag属性变化。src/lualib/pojo/bios_object_mutihost.lua:get_replace_flag()中注册ReplaceFlag属性监听回调,属性变化时实时刷新self.replace_flag并记录日志;保留原有初始化读取逻辑,订阅失败不影响原逻辑。test/unit/test_backup_config.lua:补充属性变化监听回调的单元测试,覆盖订阅路径、初值读取与回调后replace_flag更新。CHANGELOG:新增1.110.29变更记录。验证方案:
bingo test -ut -cov:953 个用例全部通过,0 失败。temp/coverage/dt_result.json):100%(lua 增量行全覆盖)。测试建议:
mdb.get_object失败、非目标组件路径、属性中无 ReplaceFlag 时的处理。DPU_UPGRADING=1时restore_from_backup返回 false 且不落库。自验证报告:
该PR关联的issue
(格式为 fixes #<issue号>, 或者resolves #<issue号>):
希望检视人员了解:
get_replace_flag与属性回调中都会调用一次check_and_restore,其中首次插入会创建基线,这是有意为之。restore_from_backup在升级中直接返回false,调用方需按返回值处理。Component.ReplaceFlag属性驱动,不再依赖 SN。影响范围
仅涉及 bios 组件备件更换标志的刷新时机,由"仅初始化读取"变为"初始化读取 + 属性变化实时刷新",不改变对外接口与原有行为。
验证
test/unit/test_backup_config.lua。mds/service.jsonJSON 格式校验通过。