bd2025
(宝德计算机-王志杰)
1
背景:
测试在执行恢复出厂设置得相关用例时,在恢复出厂设置后进入系统发现bios得版本号发生了变化,且只能在重启机器进入bios后得以恢复
bmc版本:基于社区bmc25.03
复现步骤:
- 查看恢复出厂设置前版本:
- 在web界面上点击恢复出厂设置
- 查看恢复出厂设置后bios版本:
- 重启服务器进入bios,bios版本号恢复正常
初步的排查
bios组件中有更新bios版本号到资源树中,通过on_version_changed监听到版本变化触发版本更新函数update_bios_version
bd2025
(宝德计算机-王志杰)
2
日志显示会调用 bios_service.lua文件中得函数update_patch_version更新bios版本
2025-08-18 09:11:41.151151 bios NOTICE: bios_service.lua(188): [bios]system id(1) update bios version, patch_version (30.06), current_version(30.06)
而component_version.lua文件里获取了version并且更新了数据库和资源树中bios的版本号
ComponentVersion.json文件中PatchVersion字段为空
version从数据库中获得
恢复出厂设置会走这个流程
恢复出厂前Bios版本是14.00,恢复出厂之后版本是30.06,预期恢复出厂还是14.00,实际是30.06?
bd2025
(宝德计算机-王志杰)
4
是的 bios版本号在bmc恢复出厂设置后还是保持bios版本号不变,因为并没有升级bios或者恢复bios出厂设置
bd2025
(宝德计算机-王志杰)
6
基于社区已经合并的pr:GitCode - 全球开发者的开源社区,开源代码托管平台
进行打包验证,恢复出厂设置后版本号依然发生了变化,以下是验证过程:
- 添加修改:
- 恢复出厂设置前的相关日志 版本号是14.02
- 恢复出厂设置后的相关日志 版本号是30.06
发现社区合入的代码并没有呗执行
另,在恢复出厂设置之后,无论是升级还是再恢复出厂设置,版本号都是30.06了不会改变
bd2025
(宝德计算机-王志杰)
7
使用社区的bios V1.80.40 组件编译,恢复出厂设置后版本再次发生变化,在重启后bios版本号恢复
恢复出厂设置后的bios版本号
os重启后bios版本号恢复
且日志中也没有走这个pr GitCode - 全球开发者的开源社区,开源代码托管平台 的逻辑
lincnju
(liucong)
8
你好,能否提供一份恢复出厂设置后的一键收集日志,我再定位下问题。