背景
- BMC 支持带外升级硬盘,因此需要展示硬盘的版本信息等。由于硬盘数量较多(>100),会影响web接口版本信息界面信息获取性能
- 硬盘生效是有如下生效方式:os复位自动生效,AC之后自动生效,下电至上电场景下自动生效。由于固件管理无法感知到os复位场景,因此固件管理无法感知到已生效
关联ISSUE
整体方案
- 固件管理组件新增资源协作接口方法获取所有硬盘的固件信息用于web界面展示,提高硬盘的版本信息等获取的性能
- 硬盘升级具体升级组件可以感知到硬盘已生效,因此固件管理新增资源协作接口方法供下层升级组件删除待生效对象,硬盘升级组件感知到硬盘生效后,直接调用删除方法去删除注册的待生效固件
评审点1 新增方法 GetFirmwareList根据传入参数获取固件信息
详细描述
资源协作path : /bmc/kepler/UpdateService/FirmwareInventory(原有)
资源协作interface : bmc.kepler.UpdateService.FirmwareInventory (原有)
变化类型 :新增方法
方法名称 : GetFirmwareList
使用场景:根据筛选条件获取指定固件的信息,如FirmwareType指定硬盘,可获取所有硬盘的固件信息
| 项 | 说明 |
|---|---|
| 方法名称 | GetFirmwareList |
| 权限 | ReadOnly |
| 请求签名 | a{ss} |
| 请求参数 | Options dictionary 类型,筛选的参数,若选择的参数为空则返回所有固件信息,详细参数信息见参数说明Options |
| 响应签名 | a(sa{ss}) |
| 响应参数 | array<object> 类型,筛选后的所有的固件信息表。其中具体的参数说明如下: FirmwareId:string 类型,固件标识FirmwareInfo dictionary 类型,筛选后的固件信息。 |
| 说明 | 获取所有筛选后的固件信息 |
参数说明
| 参数属性名称 | 参数属性取值 | 取值说明 | 可选\必选 |
|---|---|---|---|
| FirmwareType | - | 固件类型 | 可选 |
| SoftwareId | - | 软件识别标签 | 可选 |
| Staged | - | 是否暂存固件 | 可选 |
评审点2 新增方法 DeleteActiveAction 用于删除待生效对象
详细描述
资源协作path : /bmc/kepler/UpdateService/FirmwareActive(原有)
资源协作interface : bmc.kepler.UpdateService.FirmwareActive (原有)
变化类型 :新增方法
方法名称 :DeleteActiveAction
| 项 | 说明 |
|---|---|
| 方法名称 | DeleteActiveAction |
| 权限 | BasicSetting |
| 请求签名 | as |
| 请求参数 | FirmwareIds 待生效固件ID列表 |
| 响应签名 | NA |
| 响应参数 | NA |
| 说明 | 用于删除待生效任务,删除后需要重新注册生效(需通过升级),此方法用于下游组件删除特定条件下自动生效(固件管理无法感知)的已生效的固件生效任务 |
评审结论
1.同意新增方法 GetFirmwareList ,权限ReadOnly,请求签名a{ss},参数范围如下表,响应签名a(sa{ss}),用于获取筛选后的固件信息
| 参数属性名称 | 参数属性取值 | 取值说明 | 可选\必选 |
|---|---|---|---|
| FirmwareType | - | 固件类型 | 可选 |
| SoftwareId | - | 软件识别标签 | 可选 |
| Staged | - | 是否暂存固件 | 可选 |
2.同意新增方法 DeleteActiveAction,权限BasicSetting,请求签名 as,为待生效固件ID列表,响应签名NA,用于删除固件管理中的待生效任务
遗留问题
- DeleteActiveAction 这个方法的入参修改为 数组类型,支持多个任务删除
结论:已更新