【待评审】新增删除、查询本地固件仓信息,展示本地固件仓容量资源协作接口

背景

硬件发生故障需要更换备件时,需要人工从官网下载配套的固件,且固件可能有多个,固件升级易出错且效率低,如果有特殊配置,还需要手动进行配置备份和恢复,效率低。
运维人员希望能够在备件更换时,固件自动升级,配置自动恢复,无需人工操作。因此需要固件管理提供本地固件仓,在备件更换时能自动升级的机制

关联ISSUE

暂无

整体方案

1.新增查询本地固件仓的固件信息的资源协作接口
2.新增展示本地固件仓容量的资源协作接口
3.新增本地固件仓固件信息的资源协作接口
4.新增删除本地固件仓固件的资源协作接口
5.新增生效本地固件仓固件的资源协作接口

评审点一 新增查询本地固件仓固件的资源协作接口

详细描述

资源协作path: /bmc/kepler/UpdateService(原有)
资源协作interface: bmc.kepler.UpdateService (原有)
变化类型:新增方法
方法名称:GetLocalImages

方法名称 权限 请求签名 请求参数 响应签名 响应参数 说明
GetLocalImages ReadOnly NA NA a(sa{ss}) array<object> 类型,本地固件仓的所有固件信息。其中具体的参数说明如下:
FirmwareId:string 类型,固件标识
FirmwareInfo dictionary 类型,固件信息。
查询本地固件仓的所有固件信息

评审点二 新增本地固件仓容量的资源协作接口

详细描述

资源协作path: /bmc/kepler/UpdateService(原有)
资源协作interface: bmc.kepler.UpdateService (原有)
变化类型:新增属性

属性名称 签名 说明 取值范围 默认值 属性读写 属性权限 属性值来源 持久化 属性广播
LocalImageStoreTotalCapacityBytes u 本地固件仓存储的总字节数 - - 只读 ReadOnly CSR配置 false
LocalImageStoreAvailableCapacityBytes u 本地固件仓存储的可用的字节数 - - 只读 ReadOnly 总字节数-已使用字节数 false

评审点三 新增存放本地固件仓固件信息的资源协作接口

详细描述

资源协作path:/bmc/kepler/UpdateService/FirmwareInventory/:Id/LocalImage(新增)
资源协作interface: bmc.kepler.UpdateService.LocalImage(新增)
变化类型:新增属性

属性名称 签名 说明 取值范围 默认值 属性读写 属性权限 属性值来源 持久化 属性广播
Id s 固件ID - - 只读 ReadOnly 主键 掉电持久化 false
PackageName s 固件包名 - - 只读 ReadOnly 掉电持久化 false
FirmwareType s 固件类型 - 只读 ReadOnly 解析出来的固件类型 掉电持久化 false
Version s 本地固件仓中固件的版本 - 只读 ReadOnly 固件包内版本 掉电持久化 false
PackageSize s 本地固件仓中固件包的大小,单位KB - 只读 ReadOnly 固件包内版本 掉电持久化 false

评审点四 新增删除本地固件仓固件的资源协作接口

详细描述

资源协作path:/bmc/kepler/UpdateService/FirmwareInventory/:Id/LocalImage(新增)
资源协作interface: bmc.kepler.UpdateService.LocalImage(新增)
变化类型:新增方法
方法名称:DeleteLocalImage

方法名称 权限 请求签名 请求参数 响应签名 响应参数 说明
DeleteLocalImage BasicSetting NA NA u TaskId 数据类型:U32,任务ID 删除本地固件仓固件

评审点五 新增生效本地固件仓固件的资源协作接口

详细描述

资源协作path:/bmc/kepler/UpdateService/FirmwareInventory/:Id/LocalImage(新增)
资源协作interface: bmc.kepler.UpdateService.LocalImage(新增)
变化类型:新增方法
方法名称:ActiveLocalImage

方法名称 权限 请求签名 请求参数 响应签名 响应参数 说明
ActiveLocalImage BasicSetting NA NA u TaskId 数据类型:U32,任务ID 删除本地固件仓固件

评审结论

遗留问题

  1. 确认返回参数是否需要子任务ID
  2. 确认是否支持单次接口调用添加多个固件

本地固件仓已经上树,确认是否需要新增Get接口

新增对象是什么说法

LocalImageStore是与FirmwareInventory关联的,建议使用:
“/bmc/kepler/UpdateService/FirmwareInventory/:Id/LocalImageStore/:Id”

本地固件仓大部分关联的是firmwareinventory的信息,获取即有LocalImageStore对象的信息还需要关联的Firmwareinventory的信息,为了获取本地固件仓性能考虑,建议增加Get接口