【待评审】新增定制化项和资源协作接口属性,支持升级与生效合并的任务管理策略

背景

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

评审点

  1. 增加定制化项,在出厂配置时按照诉求进行定制,默认或者空定制化时不进行处理。
  2. 新增资源协作接口属性,支持注册和管理升级条件信息。

详细描述

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

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

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

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

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
ActiveCondition s true false 属性描述:固件的生效条件 R:ReadOnly 各固件下游组件启动时注册 无需持久化 false

评审结论

遗留问题

1.ActiveCondition的签名修改为as,并补充取值范围
2.增加对应的导入导出项
3. Custom_FirmwareUpgradePolicy更具体化一些,体现升级流程控制