【已评审】升级信号和接口支持扩展参数

关联issue

固件升级接口和信号支持扩展参数

评审背景

  • 当前计算产业的管理部件越来越多,需要BMC升级的固件个数也随之水涨船高,运维成本增大。因此BMC规划了需求,需要提升BMC支持的固件的升级效率(在支持不同硬件总线的固件的升级策略上进行并行升级)。
  • 在并行升级的场景下,BMC的固件管理需要在多个升级信号并行场景下区分每个升级的请求和响应是对应的哪个固件,因此就需要在升级的请求和响应中带上固件的身份识别标记ComponentId和ComponentIDEx,因此需要将之前的升级的请求和响应进行扩展。

评审点

UpdateService 资源协作接口的请求信号和响应接口新增一个扩展参数。

path: /bmc/kepler/UpdateService
interface : bmc.kepler.UpdateService

扩展的参数信息如下:

方法名称 原签名 扩展后签名 新增参数名称 新增签名 新增参数说明
PrepareReply issi issia{ss} AdditionalOptions a{ss} 升级准备的额外参数,可选参数,具体的取值有:
ComponentId:固件标识
ComponentIdEx:固件扩展标识
Targets:升级目标部件的集合,如果有多个使用英文逗号(,)分隔
ProcessReply isi isia{ss} AdditionalOptions a{ss} 升级准备的额外参数,可选参数,具体的取值有:
ComponentId:固件标识
ComponentIdEx:固件扩展标识
Targets:升级目标部件的集合,如果有多个使用英文逗号(,)分隔
FinishReply isi isia{ss} AdditionalOptions a{ss} 升级准备的额外参数,可选参数,具体的取值有:
ComponentId:固件标识
ComponentIdEx:固件扩展标识
Targets:升级目标部件的集合,如果有多个使用英文逗号(,)分隔
UpdateUpgradeStatus isiis isiisa{ss} AdditionalOptions a{ss} 升级准备的额外参数,可选参数,具体的取值有:
ComponentId:固件标识
ComponentIdEx:固件扩展标识
Targets:升级目标部件的集合,如果有多个使用英文逗号(,)分隔
UpgradeProcessSignal iss issa{ss} AdditionalOptions a{ss} 升级准备的额外参数,可选参数,具体的取值有:
ComponentId:固件标识
ComponentIdEx:固件扩展标识
Targets:升级目标部件的集合,如果有多个使用英文逗号(,)分隔
UpgradeFinishSignal is isa{ss} AdditionalOptions a{ss} 升级准备的额外参数,可选参数,具体的取值有:
ComponentId:固件标识
ComponentIdEx:固件扩展标识
Targets:升级目标部件的集合,如果有多个使用英文逗号(,)分隔

评审结论

同意资源协作接口bmc.kepler.UpdateService中的方法增加扩展的可选参数,扩展参数名称为AdditionalOptions,签名为 a{ss},涉及方法有:

  • PrepareReply
  • ProcessReply
  • FinishReply
  • UpdateUpgradeStatus
  • UpgradeProcessSignal
  • UpgradeFinishSignal