背景
固件升级过程中(例如BMC向CPLD和VRD芯片写入固件数据时),如果出现AC异常掉电导致升级中止,重新上电后固件会处于异常状态,会导致系统上电异常,BMC需要在AC重新来电时重新进行升级;
CPLD和VRD在运行过程中,可能出现固件损坏,期望在系统下电再上电前自动恢复;
关联ISSUE
暂无
整体方案
1.组件启动同时为下电状态或组件监听到下电时发送自检信号通知下游组件做固件自检,下游组件在完成固件自检后需要回复信号。因此需要新增新增固件韧性自恢复信号以及回复方法
2.固件管理支持注册固件自恢复任务,支持对自恢复任务的处理。因此需要新增的资源协作接口interface和path以及相关属性
评审点一
- 新增资源协作接口方法
FirmwareRestoreCheckReply,用于下层升级组件回复固件自检结果 - 新增资源协作接口信号
FirmwareRestoreCheckSignal,固件管理发送固件自检信号给下层升级组件
详细描述
资源协作path : /bmc/kepler/UpdateService/FirmwareRestore/ (原有)
资源协作interface : bmc.kepler.UpdateService.FirmwareRestore (原有)
变化类型 :新增方法,新增信号
方法名称 :FirmwareRestoreCheckReply
信号名称 :FirmwareRestoreCheckSignal
新增方法:FirmwareRestoreCheckReply
| 项 | 说明 |
|---|---|
| 方法名称 | FirmwareRestoreCheckReply |
| 权限 | BasicSetting |
| 请求签名 | iisyu |
| 请求参数 | Result 数据类型:S32,自检结果 SystemId 数据类型:S32 FirmwareType 数据类型:String,固件类型 ComponentID 数据类型:U8,固件ID ComponentIDEx 数据类型:U32,固件扩展ID AdditionalOptions 数据类型:Dictionary,固件自检时的可选参数字典,用于自检的扩展场景 |
| 响应签名 | NA |
| 响应参数 | NA |
| 说明 | 下层升级组件回复固件自检结果 |
新增信号:FirmwareRestoreCheckSignal
| 项 | 说明 |
|---|---|
| 方法名称 | FirmwareRestoreCheckSignal |
| 权限 | BasicSetting |
| 请求签名 | iisyu |
| 请求参数 | SystemId 数据类型:S32 FirmwareType 数据类型:String,固件类型 ComponentID 数据类型:U8,固件ID ComponentIDEx 数据类型:U32,固件扩展ID AdditionalOptions 数据类型:Dictionary,固件自检时的可选参数字典,用于自检的扩展场景 |
| 响应签名 | NA |
| 响应参数 | NA |
| 说明 | 固件管理发送固件自检信号给下层升级组件 |
评审结论
1、同意新增FirmwareRestore资源协作接口的方法FirmwareRestoreCheckReply,权限BasicSetting,请求签名iisyua{ss}
2、同意新增FirmwareRestore资源协作接口的信号FirmwareRestoreCheckSignal,权限BasicSetting,请求签名isyua{ss}