【已评审】BMC增加软复位原因资源协作接口

关联issue

暂无

背景

客户需求,需要在BMC启动之后记录上次BMC复位的事件以及具体的原因。

现状:
BMC目前支持两种复位类型的事件记录:AC复位以及软复位,但是对于软件复位时没有确切的原因记录。

方案:
BMC的资源协作接口增加一个可写的属性:复位原因,在不同情况下的BMC操作复位之前记录一下对应的复位原因,具体的原因可以枚举给出

评审点

path: /bmc/kepler/Managers/:ManagerId/SOC
interface: bmc.kepler.Managers.SOC
新增加属性信息如下:

说明
属性名称 ResetCause
属性类型 String
属性读写 rw
属性权限 read: ReadOnly
write: BasicSetting
属性广播 false
属性持久化 复位持久化(掉电以后是AC启动,因此复位持久化即可)
属性说明 BMC软复位原因,具体的原因枚举如下

BMC软复位原因列表

复位原因 复位原因说明
1 接口操作软复位,包括各个北向接口的镜像升级,回滚,复位,定制化等操作
2 UID按钮复位,长按UID按钮进行复位
3 恢复出厂复位,包括升级清除配置,一键恢复出厂,报废等操作
4 运行异常复位,包括固件异常,软件运行异常等原因
255 其他原因复位,不明原因的异常复位

评审结论

通过,同意在接口 bmc.kepler.Managers.SOC 下新增属性 ResetCause,类型为 String,复位原因采用字符串枚举。具体枚举如下:

复位原因 复位原因说明
Command 接口操作软复位,包括各个北向接口的镜像升级,回滚,复位,定制化等操作
ResetButton UID按钮复位,长按UID按钮进行复位
ResetToDefault 恢复出厂复位,包括升级清除配置,一键恢复出厂,报废等操作
RunException 运行异常复位,包括固件异常,软件运行异常等原因
Unknown 其他原因复位,不明原因的异常复位