【已评审】新增定制化项、导入导出项和资源协作接口属性,支持异步升级的任务管理策略

背景

某客户希望使用标准串行升级接口进行异步升级的升级流程,即通过redfish接口升级固件时,如果不满足生效条件,则task置为pending状态,待条件满足后,再开始升级流程。因此需要新增定制化项与原有升级流程相区分。

评审点

  1. 增加定制化项,在出厂配置时按照诉求进行定制,默认或者空定制化时不进行处理。
  2. 增加配置项,可以在现网进行当前配置的快速复制部署,支持配置项导出之后直接导入
  3. 新增资源协作接口属性,支持注册和管理升级条件信息。

详细描述

评审点1:新增定制化项 Custom_AsyncFirmwareUpdate

项目
定制化项 Custom_AsyncFirmwareUpdate定制项
定制化接口名称 Custom_AsyncFirmwareUpdate
取值类型 string
取值范围 “on” 或 “off”
默认值 “off”
处理逻辑 if (Custom_AsyncFirmwareUpdate== “on”)
 redfish标准升级接口采用异步升级策略,待生效条件满足后再开始升级
else
  redfish标准升级接口采用原有的升级与生效分离策略

评审点2:新增配置导入导出项UpgradeService->AsyncFirmwareUpdate

项目
导出项 UpgradeService
导出子项 AsyncFirmwareUpdate
取值类型 string
属性类型 ImportAndExport
取值范围 “on” 或 “off”
含义说明 是否采用异步升级策略
导出后是否可以直接导入

评审点3:新增资源协作接口属性ActiveCondition

资源协作接口bmc.kepler.UpdateService.FirmwareInfo下新增属性ActiveCondition,用以标识固件的生效条件
资源path:/bmc/kepler/UpdateService/FirmwareInventory/:Id
资源interface:bmc.kepler.UpdateService.FirmwareInfo
变化类型: 新增资源协作接口属性
新增属性:

属性名称 签名 只读 变化通知 属性描述 取值范围 访问权限 属性来源 持久化类型 易变属性
ActiveCondition as true false 属性描述:固件的生效条件 None、PowerOff、PowerOn、ResetBMC、ResetTargetDevice R:ReadOnly 各固件下游组件启动时注册 无需持久化 false

评审结论

通过,具体结论如下:

  1. 同意新增定制化项Custom_AsyncFirmwareUpdate,用于标识是否采用异步升级策略;类型为 string ,默认值为off,取值范围 为 onoff
  2. 同意在导出项UpgradeService下新增导出子项AsyncFirmwareUpdate, 属性类型为ImportAndExport ,取值范围为onoff,用于标识是否采用异步升级策略
  3. 同意 bmc.kepler.UpdateService.FirmwareInfo 下新增属性ActiveCondition ,用以标识固件的生效条件,属性签名为as,只读,不需要持久化,不发送变化通知

遗留问题

  1. ActiveCondition的签名修改为as,并补充取值范围——已修改签名并补充取值范围
  2. 增加对应的导入导出项——已增加对应的导入导出项
  3. Custom_FirmwareUpgradePolicy更具体化一些——已修改为 AsyncFirmwareUpdate