背景
某客户希望使用标准串行升级接口进行升级与生效合并的升级流程,即通过redfish接口升级固件时,如果不满足升级条件,则task置为pending状态,待条件满足后,再开始升级流程。因此需要新增定制化项与原有串行流程相区分。
评审点
- 增加定制化项,在出厂配置时按照诉求进行定制,默认或者空定制化时不进行处理。
- 新增资源协作接口属性,支持注册和管理升级条件信息。
详细描述
评审点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更具体化一些,体现升级流程控制