背景
硬件发生故障需要更换备件时,需要人工操作,固件升级易出错且效率低。因此希望能够有在备件更换时能自动升级的机制,需要提供触发式执行编排任务的能力。
关联ISSUE
整体方案
任务编排机制中新增OperationApplyTime属性,调用StartUpdate的redfish接口时,会触发所有OperationApplyTime的值为OnStartUpdateRequest的job执行。
评审点
1、新增资源协作属性OperationApplyTime、VisibilityScope
2、资源协作方法CreateJob的请求体Request新增键值
3、新增资源协作方法TriggerJobs
4、查询某一编排任务的redfish接口响应体中新增Oem/openUBMC/OperationApplyTime属性
详细描述
评审点1 新增资源协作属性OperationApplyTime、VisibilityScope
资源协作path: /bmc/kepler/JobService/Jobs/:Id(已有)
资源协作interface: bmc.kepler.JobService.Job(已有)
变化类型:新增属性
属性名称:OperationApplyTime、VisibilityScope
描述:
| 属性名称 | 变化类型 | 签名 | 可读写 | 操作权限 | 持久化 | 变化通知 | 属性说明 | 属性约束 | 默认值 | 备注 |
|---|---|---|---|---|---|---|---|---|---|---|
| OperationApplyTime | 新增属性 | s | true | Read:ReadOnly Write: BasicSetting |
PoweroffPer | true | 客户端请求的完成创建、删除或操作的时间。 | 枚举类型,取值为[“”,“OnStartUpdateRequest”] | “” | NA |
| VisibilityScope | 新增属性 | string | true | Read:ReadOnly Write: BasicSetting |
PoweroffPer | true | job数据会在哪些接口中展示 | 枚举类型,取值为[“Redfish”, “Web”, “Shared”] | Shared | “Shared”表示job数据在所有接口中均互通展示。 由于sp编排任务的数据不互通,如果任务类型(JobType)取值不为SPDiagnose、SPFWUpdate、SPOSInstall其中的一个,则默认为share,否则根据当前job的Origin属性判断是redfish还是web |
评审点2 资源协作方法CreateJob的请求体Request新增键值
资源协作path: /bmc/kepler/JobService/Jobs(已有)
资源协作interface: bmc.kepler.JobService.Jobs(已有)
变化类型:新增请求体的取值
方法:CreateJob
请求体:Request
新增键值如下:
| 属性名称 | 变化类型 | 签名 | 属性约束 | 属性说明 |
|---|---|---|---|---|
| OperationApplyTime | 新增属性 | s | 可选参数,枚举类型,取值为[“”, “OnStartUpdateRequest”],不传时默认为空字符串。 | 客户端请求的完成创建、删除或操作的时间。 |
| VisibilityScope | 新增属性 | s | 可选参数,枚举类型,取值为[“Redfish”, “Web”, “Shared”] | job数据会在哪些接口中展示 |
评审点3 新增资源协作方法TriggerJobs
资源协作path: /bmc/kepler/JobService/Jobs (已有)
资源协作interface: bmc.kepler.JobService.Jobs (已有)
变化类型:新增方法
方法名称:TriggerJobs
操作权限:BasicSetting
| 方法名称 | 变化类型 | 请求签名 | 响应签名 | 参数说明 | 方法约束 |
|---|---|---|---|---|---|
| TriggerJobs | 新增方法 | sas | as | 见下方描述 | 若是没有符合的job,则抛OperationFailed的错误 |
"TriggerJobs": {
"req": {
"OperationApplyTime": {
"baseType": "String",
"description": "待触发执行的Jobs的OperationApplyTime属性,当前仅支持取值:OnStartUpdateRequest",
}
},
"rsp": {
"JobIds": {
"baseType": "Array",
"description": "触发执行的Jobs的Id",
"items": {
"baseType": "String"
}
}
},
"description": "触发并执行对应OperationApplyTime属性的编排任务"
}
评审点4 查询某一编排任务的redfish接口响应体中新增Oem/openUBMC/OperationApplyTime属性
- 场景:redfish接口的响应体新增属性
- URI:/redfish/v1/JobService/Jobs/:jobid
- 变化类型:新增属性
- 操作类型:GET
- 应用场景:查询指定编排任务
- 详细描述
| 属性名称 | 属性类型 | 说明 |
|---|---|---|
| Oem/openUBMC/OperationApplyTime | string | 客户端请求的完成创建、删除或操作的时间。 |
是否准备好AI预审
是
评审结论
已线下审核,同意新增资源协作接口。redfish接口以网管\工具评审会议结论为准