关联issue
背景
上次评审了关于BMC的软复位原因增加了资源协作接口(见下述关联评审),但是对于应用管理框架对于BMC的运行异常导致的BMC复位,由于整体框架依赖关系的原因无法进行记录。
针对上述问题,重新制定了方案,并且基于当前方案进行进行重新评审。
关联评审
评审点
在 MacaService 资源协作接口下新增接口,用于处理带有复位原因的BMC复位。
path: /bmc/kepler/MacaService
interface: bmc.kepler.SystemControl
评审点1:增加属性 ResetCause
| 项 | 属性1 | 属性2 | 属性3 |
|---|---|---|---|
| 属性名称 | ResetCause | ResetTimestamp | PerId |
| 属性类型 | y | u | s |
| 属性读写 | ro | 私有属性,不涉及 | 私有属性,不涉及 |
| 属性权限 | ReadOnly | 私有属性,不涉及 | 私有属性,不涉及 |
| 属性广播 | false | 私有属性,不涉及 | 私有属性,不涉及 |
| 属性持久化 | 复位持久化(掉电以后是AC启动,因此复位持久化即可) | 复位持久化 | 复位持久化 |
| 属性说明 | BMC软复位原因标识,具体的原因枚举如下表1 | BMC复位操作的时间戳 | 持久化主键,无实际意义 |
评审点2:新增加方法 ForceResetWithCause
| 项 | 说明 |
|---|---|
| 方法名称 | ForceResetWithCause |
| 方法权限 | BasicSetting |
| 请求签名 | yy |
| 请求参数 | ResetType:uint8 类型,表征当前重启类型,取值有:0:表示下次从正常系统启动 1:表示下次从最小系统启动 ResetCause: uint8 类型,表征当前重启原因标识,具体的原因标识枚举如下表1 |
| 响应签名 | 无 |
| 响应参数 | 无 |
| 方法说明 | 强制复位BMC(增强)接口,需要带有复位原因 |
评审点3:新增加方法 GracefulResetWithCause
| 项 | 说明 |
|---|---|
| 方法名称 | GracefulResetWithCause |
| 方法权限 | BasicSetting |
| 请求签名 | yy |
| 请求参数 | ResetType:uint8 类型,表征当前重启类型,取值有:0:表示下次从正常系统启动 1:表示下次从最小系统启动 ResetCause: uint8 类型,表征当前重启原因标识,具体的原因标识枚举如下表1 |
| 响应签名 | i |
| 响应参数 | OutData:int32 类型,表征当前平滑重启的处理结果 |
| 方法说明 | 平滑复位BMC(增强)接口,需要带有复位原因 备注:如果平滑重启前处理失败,则对应的BMC复位不会进行 |
表1:BMC复位原因标识
| 复位原因标识组 | 复位原因标识 | 复位原因说明 |
|---|---|---|
| 00h ~ 0Fh | 命令复位 | |
| 00h | BMC重启操作复位 | |
| 01h | BMC镜像倒换操作复位 | |
| 02h | BMC固件升级复位 | |
| 03h | BMC恢复出厂设置复位 | |
| 04h | BMC资产报废复位 | |
| 05h | BMC固件校验根证书更新复位 | |
| 10h ~ 1Fh | 主动复位 | |
| 10h | BMC自愈复位 | |
| 11h | BMC硬件自检修复复位 | |
| 12h | BMC管理外设硬件初始化复位 | |
| 20h ~ 2Fh | 硬件操作复位 | |
| 20h | 按钮复位 | |
| FFh | FFh | 未知原因复位 |
评审结论
通过,具体评审结论如下:
- 评审点1:通过,同意在资源协作接口
bmc.kepler.SystemControl新增属性ResetCause,签名为y,复位持久化,不发送变更通知事件;同意新增私有属性ResetTimestamp和PerId - 评审点2:通过,同意在资源协作接口
bmc.kepler.SystemControl新增方法ForceResetWithCause,请求签名:yy,权限为BasicSetting,响应签名:无 - 评审点3: 通过,同意在资源协作接口
bmc.kepler.SystemControl新增方法GracefulResetWithCause,请求签名:yy,权限为BasicSetting,响应签名:i