ResourceDefinition
uris
/redfish/v1/UpdateService
properties
| 名称 | 类型 | 是否只读 | 取值范围/枚举值 | 说明 |
|---|---|---|---|---|
| @odata.context | string | true | - | 升级服务资源模型的OData描述信息 |
| @odata.id | string | false | - | 升级服务资源的访问路径 |
| @odata.type | string | true | - | 升级服务资源的类型 |
| Id | string | true | - | 升级服务资源的ID |
| Name | string | true | - | 升级服务资源的名称 |
| Status { | object | true | - | 升级服务健康状态,包括: ● Status:使能状态 ● Health:健康状态 ● Severity:自定义健康状态 |
| Status.Health | string | true | - | 升级服务服务健康状态 |
| Status.Oem { | object | false | - | 自定义属性 |
| Status.Oem.Public { | object | false | - | 自定义属性 |
| Status.Oem.Public.Severity | string | false | - | 升级服务的自定义健康状态 |
| } | ||||
| } | ||||
| Status.Status | string | true | - | 升级服务健康状态,包括: ● Status:使能状态 ● Health:健康状态 ● Severity:自定义健康状态 |
| } | ||||
| ServiceEnabled | boolean | true | true,false | 升级服务使能状态 |
| Actions { | object | true | - | 升级服务可执行的操作 |
| Actions.#UpdateService.SimpleUpdate { | object | true | - | 升级操作 |
| Actions.#UpdateService.SimpleUpdate.target | string | true | - | 升级操作的路径 |
Actions.#UpdateService.SimpleUpdate.@Redfish.ActionInfo | string | true | - | 升级操作信息的查询路径 |
| } | ||||
| Actions.Oem { | object | false | - | 自定义属性 |
| Actions.Oem.Public { | object | false | - | 自定义属性 |
| Actions.Oem.Public.#UpdateService.StartSyncUpdate { | object | true | - | BMC主备同步升级 |
| Actions.Oem.Public.#UpdateService.StartSyncUpdate.target | string | true | - | BMC主备同步升级操作的路径 |
Actions.Oem.Public.#UpdateService.StartSyncUpdate.@Redfish.ActionInfo | string | true | - | BMC主备同步升级操作信息的查询路径 |
| } | ||||
| Actions.Oem.Public.#UpdateService.ActivateBios { | object | true | - | BIOS独立生效 |
| Actions.Oem.Public.#UpdateService.ActivateBios.target | string | true | - | BIOS独立生效操作的路径 |
Actions.Oem.Public.#UpdateService.ActivateBios.@Redfish.ActionInfo | string | true | - | BIOS独立生效操作信息的查询路径 |
| } | ||||
| Actions.Oem.Public.#UpdateService.StartActivate { | object | true | - | 统一生效操作 |
| Actions.Oem.Public.#UpdateService.StartActivate.target | string | true | - | 统一生效操作的路径 |
Actions.Oem.Public.#UpdateService.StartActivate.@Redfish.ActionInfo | string | true | - | 统一生效操作信息的查询路径 |
| } | ||||
| Actions.Oem.Public.#UpdateService.ParallelUpdate { | object | true | - | 并行升级操作 |
| Actions.Oem.Public.#UpdateService.ParallelUpdate.target | string | true | - | 并行升级操作的路径 |
Actions.Oem.Public.#UpdateService.ParallelUpdate.@Redfish.ActionInfo | string | true | - | 并行升级操作信息的查询路径 |
| } | ||||
| } | ||||
| } | ||||
| } | ||||
| FirmwareInventory { | object | true | - | 可升级固件列表的链接 |
FirmwareInventory.@odata.id | string | false | - | 可升级固件列表的访问路径 |
| } | ||||
| HttpPushUri | string | true | - | 向升级服务推送固件的远端客户端URI |
| MultipartHttpPushUri | string | true | - | 以multipart方式推送固件升级包的URI |
| MaxImageSizeBytes | number | true | - | 升级服务支持的最大固件大小 |
| Task { | object | true | - | 正在升级的任务链接 |
Task.@odata.id | string | false | - | 正在升级的任务的访问路径 |
| } | ||||
| Oem { | object | false | - | 自定义属性 |
| Oem.Public { | object | false | - | 自定义属性 |
| Oem.Public.DowngradeDisabled | boolean | false | true,false | 禁止版本降级的使能状态 |
| Oem.Public.SyncUpdateState | string | true | - | 主备同步升级状态 |
| Oem.Public.BiosUpdateState | string | true | - | Bios升级状态 |
| Oem.Public.InbandFirmwareUpdateEnabled | boolean | true | - | 带内更新固件使能状态 |
| Oem.Public.ParallelSupported | boolean | true | - | 是否支持并行升级 |
| Oem.Public.AutoFirmwareActivationEnable | boolean | false | true,false | 待生效固件在满足生效条件时是否自动生效 |
| Oem.Public.FirmwareToTakeEffect [ { | array | true | - | 待生效固件列表 |
| Oem.Public.FirmwareToTakeEffect[].FirmwareType | string | true | - | 待生效固件类型 |
| Oem.Public.FirmwareToTakeEffect[].StagedVersion | string | true | - | 待生效固件版本 |
| Oem.Public.FirmwareToTakeEffect[].StagedTime | string | true | - | 升级缓存时间 |
| Oem.Public.FirmwareToTakeEffect[].RelatedFirmwareItems[ ] | array | true | - | 待生效固件列表的链接 |
Oem.Public.FirmwareToTakeEffect[].RelatedFirmwareItems[].@odata.id | string | false | - | 待生效固件列表的访问路径 |
| } ] | ||||
| Oem.Public.ActivationControl[ ] | array | true | - | 待生效固件的生效动作 |
| Oem.Public.BackgroundUpdateTasks[ ] | array | true | - | 后台升级任务列表,每个元素为升级Task的URI |
| Oem.Public.LocalImageStore | object | true | - | 本地固件仓的清单。此属性应包含指向资源集合的链接,该资源集合的类型为 SoftwareInventoryCollection。该资源集合应包含本地固件仓的集合 |
| } ] | ||||
| Oem.Public.FirmwareIntegrity { | object | true | - | 用于呈现固件完整性校验的签名证书和吊销列表 说明 openUBMC 25.12 LTS及以上版本支持 |
| Oem.Public.FirmwareIntegrity.Certificates [ { | array | true | - | 用于固件完整性校验的签名证书。若当前不存在该类证书,则该资源呈现为空数组 |
| Oem.Public.FirmwareIntegrity.Certificates[].CertificateString | string | true | - | 升级服务内容 |
| } ] | ||||
| Oem.Public.FirmwareIntegrity.CertificateRevocationLists [ { | array | true | - | 用于固件完整性校验的吊销列表。若当前不存在该类吊销列表,则该资源呈现为空数组 |
| Oem.Public.FirmwareIntegrity.CertificateRevocationLists[].CRLString | string | true | - | 证书吊销列表内容 |
| } ] | ||||
| } | ||||
| } | ||||
| } | ||||
| ActiveStatus | string | true | - | 待生效固件的生效状态 |
| LocalImageStoreAvailableCapacityBytes | number | true | - | 本地固件仓当前可用的字节数 |
| LocalImageStoreTotalCapacityBytes | number | true | - | 本地固件仓当前的总字节数 |
| LocalImageVersionCheckEnabled | boolean | true | - | 本地固件仓版本与运行固件版本检测使能,true表示使能,false表示去使能 |
supported_methods
- GET
- PATCH
- POST
HTTP methods
GET
命令功能
查询升级服务资源信息
命令格式
URL: https://device_ip/redfish/v1/UpdateService
请求头:
X-Auth-Token: 123456789***********************请求消息体: 无
参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| device_ip | 登录设备的IP地址 | IPv4或IPv6地址 |
| auth_value | 执行该GET请求时,必须在"Headers"中携带"X-Auth-Token"值用于鉴权 | 可通过/redfish/v1/SessionService/Sessions创建会话时获得 |
使用指南
无
使用实例
请求样例:
GET <https://device_ip/redfish/v1/UpdateService>请求头:
X-Auth-Token: 123456789***********************响应样例:
{
"@odata.context": "/redfish/v1/$metadata#UpdateService",
"@odata.id": "/redfish/v1/UpdateService",
"@odata.type": "#UpdateService.v1_5_0.UpdateService",
"Id": "UpdateService",
"Name": "Update Service",
"Status": {
"Status": "Enabled",
"Oem": {
"Public": {
"Severity": "Informational"
}
},
"Health": "OK"
},
"ServiceEnabled": true,
"Actions": {
"#UpdateService.SimpleUpdate": {
"target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/SimpleUpdateActionInfo"
},
"Oem": {
"Public": {
"#UpdateService.StartSyncUpdate": {
"target": "/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.StartSyncUpdate",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/StartSyncUpdateActionInfo"
},
"#UpdateService.ActivateBios": {
"target": "/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.ActivateBios",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/ActivateBiosActionInfo"
},
"#UpdateService.StartActivate": {
"target": "/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.StartActivate",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/StartActivateActionInfo"
},
"#UpdateService.ParallelUpdate": {
"target": "/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.ParallelUpdate",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/ParallelUpdateActionInfo"
}
}
}
},
"FirmwareInventory": {
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory"
},
"HttpPushUri": "/redfish/v1/UpdateService/FirmwareInventory",
"MultipartHttpPushUri": "/redfish/v1/UpdateService/upload",
"MaxImageSizeBytes": null,
"Task": {
"@odata.id": "/redfish/v1/TaskService/Tasks/1"
},
"Oem": {
"Public": {
"DowngradeDisabled": false,
"SyncUpdateState": "UpgradeFailed",
"BiosUpdateState": "UpgradeFailed",
"InbandFirmwareUpdateEnabled": true,
"ParallelSupported": true,
"AutoFirmwareActivationEnable": true,
"FirmwareToTakeEffect": [
{
"FirmwareType": "BIOS",
"StagedVersion": "12.5",
"StagedTime": "2024-12-16T06:37:04",
"RelatedFirmwareItems": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Bios"
}
]
}
],
"FirmwareIntegrity": {
"Certificates": [
{
"CertificateString": "-----BEGIN CERTIFICATE-----....-----END CERTIFICATE-----"
}
],
"CertificateRevocationLists": [
{
"CRLString": "-----BEGIN X509 CRL-----....-----END X509 CRL-----"
}
]
}
}
}
}响应码:200
PATCH
命令功能
修改升级服务信息
命令格式
URL:https://device_ip/redfish/v1/UpdateService
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type
If-Match: ifmatch_value请求消息体:
{
"Oem": {
"Public": {
"DowngradeDisabled": state,
"AutoFirmwareActivationEnable": enabled
}
}
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| DowngradeDisabled | 禁止版本降级的使能状态 | true、false |
| AutoFirmwareActivationEnable | 待生效固件在满足生效条件时是否自动生效 | true:满足生效条件时,固件自动生效 false:满足生效条件时,不做固件生效动作 |
使用指南
无
使用实例
请求样例:
PATCH <https://device_ip/redfish/v1/UpdateService>请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json
If-Match: W/"06348C97"请求消息体:
{
"Oem": {
"Public": {
"DowngradeDisabled": true,
"AutoFirmwareActivationEnable": true
}
}
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#UpdateService",
"@odata.id": "/redfish/v1/UpdateService",
"@odata.type": "#UpdateService.v1_0_0.UpdateService",
"Id": "UpdateService",
"Name": "Update Service",
"Status": {
"Status": "Enabled",
"Oem": {
"Public": {
"Severity": "Informational"
}
},
"Health": "OK"
},
"ServiceEnabled": true,
"Actions": {
"#UpdateService.SimpleUpdate": {
"target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/SimpleUpdateActionInfo"
},
"Oem": {
"Public": {
"#UpdateService.StartSyncUpdate": {
"target": "/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.StartSyncUpdate",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/StartSyncUpdateActionInfo"
},
"#UpdateService.ActivateBios": {
"target": "/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.ActivateBios",
"@Redfish.ActionInfo": "/redfish/v1/UpdateService/ActivateBiosActionInfo"
}
}
}
},
"FirmwareInventory": {
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory"
},
"HttpPushUri": "/redfish/v1/UpdateService/FirmwareInventory",
"MultipartHttpPushUri": "/redfish/v1/UpdateService/upload",
"MaxImageSizeBytes": null,
"Task": {
"@odata.id": "/redfish/v1/TaskService/Tasks/1"
},
"Oem": {
"Public": {
"DowngradeDisabled": false,
"SyncUpdateState": "UpgradeFailed",
"BiosUpdateState": "UpgradeFailed",
"InbandFirmwareUpdateEnabled": true,
"AutoFirmwareActivationEnable": true,
"FirmwareToTakeEffect": [
{
"FirmwareType": "BIOS",
"StagedVersion": "12.5",
"StagedTime": "2024-12-16T06:37:04",
"RelatedFirmwareItems": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Bios"
}
]
}
]
}
}
}响应码:200
POST (ACTION)
SimpleUpdate
命令功能
升级固件
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
{
"ImageURI": filepath,
"TransferProtocol": protocol,
"ActiveMode": activemode,
"BiosActiveMode": biosactivemode,
"RestoreFactorySettings": restoresettings,
"SystemId": systemid,
"Stage": true,
"ForceUpdate": forceupdate,
"Targets": targeturis
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| filepath | 升级包所在路径 | 升级包的URL(支持本地tmp目录升级),本地tmp目录支持的最大长度为255个字符,远程目录支持的最大长度为1004个字符(传输协议长度不计算在内,如"sftp://")。 例如:"sftp://username:password@10.10.10.191/tmp/package/cpldimage.hpm" 本地升级:"/tmp/cpldimage.hpm" |
| protocol | BMC从远程服务器下载升级包时使用的协议 | ● HTTPS ● SCP ● SFTP ● CIFS ● NFS 说明:如果是本地升级则不需要该字段 |
| activemode | BMC固件的升级生效模式 | ● Immediately ● ResetBMC 说明:Immediately:成功升级BMC固件后BMC自动复位生效。BMC重启后需要几分钟才恢复通信。 ResetBMC:成功升级BMC固件后需要手动复位BMC生效。 目前默认支持BMC升级与生效分离能力的单板:A800T A3,A800I A3,A880,A800-9010,A500-3000,5290V2,2280E V2,CN221,CM221,A800I 2UP。如果不加该参数,默认升级后立即生效 |
| biosactivemode | BIOS无感升级生效区域,使用该字段使BIOS在业务侧上电状态升级,并立即生效指定区域 | ● Default ● IMU ● M7 ● All ● None 说明:Default:默认缓存BIOS升级包,下电或重启后升级并生效 IMU:升级BIOS后立即复位生效IMU M7:升级BIOS后立即复位生效M7 All:升级BIOS后立即复位生效IMU和M7 None:仅升级BIOS,升级完成后需要手动重启或使用BIOS独立生效命令生效IMU或M7 目前支持BIOS无感升级的单板:S920X10/S920X10K,S920X20,S920H20,A9000 RCK A3,A900 A3 SuperPoD,A800T A3,A800I A3,A800I 2UP。如果不加该参数,则默认缓存BIOS升级包,下电或重启后升级并生效。 openUBMC 25.12 LTS版本及以上支持, BIOS 6.39版本及以上支持 |
| restoresettings | 是否恢复出厂设置 | ● true ● false 说明:true:升级完成后恢复出厂设置 false:升级完成后不恢复出厂设置 如果不加该参数,默认升级完成后不恢复出厂设置 |
| systemid | Multi-Host场景(一个BMC管理多个host主机)下指定升级某host的固件 | ● 字符串[1 ~ N]:表示升级第N个host上的固件,要求对应的host在位 说明:可选参数,不使用此参数默认升级所有host |
| Stage | 固件是否暂存 | ● true ● false 说明:可选参数,不选用此参数默认不暂存 true:暂存 false:不暂存 |
| ForceUpdate | 固件是否强制升级 | ● true ● false 说明:true:版本号一致的固件升级 false:版本号一致的固件不升级 如果不加该参数,版本号一致的固件升级 |
| targeturis | 表示更新镜像将要应用到组件的URI数组 | 字符串数组。示例如下:["/redfish/v1/Chassis/Drives/HDDPlaneDisk0"] 说明 可选参数,如果未指定此参数或其包含的目标列表为空,则服务应将镜像应用于所有适用的目标。 openUBMC 26.03版本及以上支持 |
使用指南
无
使用实例
请求样例:
POST <https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate>请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
{
"ImageURI": "sftp://username:password@10.10.10.191/tmp/package/cpldimage.hpm",
"TransferProtocol": "SFTP",
"ActiveMode": "Immediately",
"SystemId": "1",
"Staged": true,
"Targets": [
"/redfish/v1/Chassis/Drives/HDDPlaneDisk0",
"/redfish/v1/Chassis/Drives/HDDPlaneDisk1"
]
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/Members/$entity",
"@odata.type": "#Task.v1_0_2.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Upgarde Task",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2016-11-28T10:36+00:00",
"Messages": [],
"PercentComplete": null,
"Oem": {
"Public": {
"TaskPercentage": null
}
}
}响应码:202
POST (ACTION)
StartActivate
命令功能
生效固件
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.StartActivate
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
{
"ActivationControl": ActivationControl_value
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| ActivationControl_value | 生效控制 | ResetBMC:BMC复位 PowerOff:整机下电 PowerOn:整机上电 ResetTargetDevice:重启目标设备 |
使用指南
支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3
使用实例
请求样例:
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.StartActivate>请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
{
"ActivationControl": [
"ResetBMC"
]
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/Members/$entity",
"@odata.type": "#Task.v1_0_2.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Active Task",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2016-11-28T10:36+00:00",
"Messages": [],
"PercentComplete": null,
"Oem": {
"Public": {
"TaskPercentage": null
}
}
}响应码:202
POST (ACTION)
ParallelUpdate
命令功能
并行升级
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.ParallelUpdate
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
{
"Packages": Packages_value,
"Stage": true
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| Packages_value | 升级参数 | 对象数组,内容如下 ● SystemId ● TransferProtocol ● ImageURI ● ForceUpdate |
| SystemId | Multi-Host场景(一个BMC管理多个host主机)下指定升级某host的固件 | ● 字符串[1 ~ N]:表示升级第N个host上的固件,要求对应的host在位 说明:可选参数,不使用此参数默认升级所有host |
| TransferProtocol | BMC从远程服务器下载升级包时使用的协议 | ● HTTPS ● SCP ● SFTP ● CIFS ● NFS 说明:如果是本地升级则不需要该字段 |
| ImageURI | 升级包所在路径 | 升级包的URL(支持本地tmp目录升级),本地tmp目录支持的最大长度为255个字符,远程目录支持的最大长度为1004个字符(传输协议长度不计算在内,如"sftp://")。 例如:"sftp://username:password@10.10.10.191/tmp/package/cpldimage.hpm" 本地升级:"/tmp/cpldimage.hpm" |
| Stage | 固件是否暂存 | ● true ● false 说明:可选参数,不选用此参数默认不暂存 true:暂存 false:不暂存 |
| ForceUpdate | 固件是否强制升级 | ● true ● false 说明:true:版本号一致的固件升级 false:版本号一致的固件不升级 如果不加该参数,版本号一致的固件升级 |
使用指南
支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3
使用实例
请求样例:
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.ParallelUpdate>请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
{
"Packages": [
{
"ImageURI": "/tmp/cpld.hpm",
"Stage": true
}
]
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/Members/$entity",
"@odata.type": "#Task.v1_0_2.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Active Task",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2016-11-28T10:36+00:00",
"Messages": [],
"PercentComplete": 10,
"SubTasks": {
"@odata.id": "/redfish/v1/TaskService/Tasks/1/SubTasks"
},
"Oem": {
"Public": {
"TaskPercentage": null
}
}
}响应码:202
POST (ACTION)
Activate
命令功能
生效暂存固件
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.Activate
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
{
"Targets": targets_value
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| Targets_value | 生效参数 | 对象数组,内容如下 ● @odata.id |
| @odata.id | 可生效暂存固件资源的访问路径 | 可通过查询可升级固件集合资源获得 |
使用指南
支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3。共用一个升级包的暂存固件会一并升级
使用实例
请求样例:
POST <https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.Activate>请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
{
"Targets": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLD.hpm"
}
]
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/Members/$entity",
"@odata.type": "#Task.v1_0_2.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Active Task",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2016-11-28T10:36+00:00",
"Messages": [],
"PercentComplete": 10,
"SubTasks": {
"@odata.id": "/redfish/v1/TaskService/Tasks/1/SubTasks"
},
"Oem": {
"Public": {
"TaskPercentage": null
}
}
}响应码:202
POST (ACTION)
DiscardStagedFirmwares
命令功能
弃用暂存固件
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.DiscardStagedFirmwares
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
{
"Targets": targets_value
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| Targets_value | 生效参数 | 对象数组,内容如下 ● @odata.id |
| @odata.id | 需要弃用的暂存固件资源的访问路径 | 可通过查询可升级固件集合资源获得 |
使用指南
支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3。共用一个升级包的暂存固件会一并被删除
使用实例
请求样例:
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.DiscardStagedFirmwares>请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
{
"Targets": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLD.hpm"
}
]
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/Members/$entity",
"@odata.type": "#Task.v1_0_2.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Active Task",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2016-11-28T10:36+00:00",
"Messages": [],
"PercentComplete": 10,
"SubTasks": {
"@odata.id": "/redfish/v1/TaskService/Tasks/1/SubTasks"
},
"Oem": {
"Public": {
"TaskPercentage": null
}
}
}响应码:202
POST (ACTION)
FullImageUpdate
命令功能
升级固件整包
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.FullImageUpdate
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
{
"ImageURI": ImageURI,
"TransferProtocol": TransferProtocol,
"ForceUpdate": ForceUpdate
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| ImageURI | 升级整包所在路径 | 升级包的URL(支持本地tmp目录升级),本地tmp目录支持的最大长度为255个字符,远程目录支持的最大长度为1004个字符(传输协议长度不计算在内,如"sftp://")。 例如:"sftp://username:password@10.10.10.191/tmp/package.zip" 本地升级:"/tmp/cpldimage.zip" |
| TransferProtocol | BMC从远程服务器下载升级包时使用的协议 | ● HTTPS ● SCP ● SFTP ● CIFS ● NFS 说明:如果是本地升级则不需要该字段 |
| ForceUpdate | 固件是否强制升级 | ● true ● false 说明:true:版本号一致的固件升级 false:版本号一致的固件不升级 如果不加该参数,版本号一致的固件升级 |
使用指南
支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3
使用实例
请求样例:
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.FullImageUpdate>请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
{
"ImageURI": "sftp://username:password@10.10.10.191/tmp/package.zip",
"TransferProtocol": "SFTP",
"ForceUpdate": true
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/Members/$entity",
"@odata.type": "#Task.v1_0_2.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Upgarde Task",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2016-11-28T10:36+00:00",
"Messages": [],
"PercentComplete": 10,
"SubTasks": {
"@odata.id": "/redfish/v1/TaskService/Tasks/1/SubTasks"
},
"Oem": {
"Public": {
"TaskPercentage": null
}
}
}响应码:202
POST (ACTION)
UpdateMultipart
命令功能
Redfish UpdateService 通过 Multipart 更新固件
E9000U机型不支持此功能
命令格式
URL: https://device_ip/redfish/v1/UpdateService/update-multipart
请求头:
X-Auth-Token: 123456789***********************
Content-Type: header_type请求消息体:
当前请求由于是 multipart 请求,因此请求体分为两个部分,具体如下:
// UpdateParameters 部分
Content-Disposition: form-data; name="UpdateParameters"
Content-Type: application/json
{
"Targets": ["/redfish/v1/Managers/1"],
"Oem": {}
}
// UpdateFile 部分
Content-Disposition: form-data; name="UpdateFile"; filename="flash.bin"
Content-Type: application/octet-stream
<software image binary>请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| header_type | 请求消息的格式 | 支持的消息格式包括: ● multipart/form-data |
| targeturis | 表示更新镜像将要应用到组件的URI数组 | 字符串数组。示例如下: ["/redfish/v1/Chassis/Drives/HDDPlaneDisk0"] 说明 可选参数,如果未指定此参数或其包含的目标列表为空,则服务应将镜像应用于所有适用的目标。 openUBMC 26.03版本及以上支持 |
| restoresettings | 是否恢复出厂设置 | ● true ● false 说明 ● true:升级完成后恢复出厂设置。 ● false:升级完成后不恢复出厂设置。 如果不加该参数,默认升级完成后不恢复出厂设置。 |
| systemid | Multi-Host场景(一个BMC管理多个host主机)下指定升级某host的固件 | ● 字符串[1 ~ N]:表示升级第N个host上的固件,要求对应的host在位。 说明 可选参数,不使用此参数默认升级所有host。 |
| stage | 固件是否暂存 | ● true ● false 说明:可选参数,不选用此参数默认不暂存 ● true:暂存 ● false:不暂存 |
| forceupdate | 固件是否强制升级 | ● true ● false 说明 ● true:版本号一致的固件升级 ● false:版本号一致的固件不升级 如果不加该参数,版本号一致的固件升级。 |
| activemode | BMC固件的升级生效模式 | ● Immediately ● ResetBMC 说明 ● Immediately:成功升级BMC固件后BMC自动复位生效。BMC重启后需要几分钟才恢复通信。 ● ResetBMC:成功升级BMC固件后需要手动复位BMC生效。 【目前默认支持BMC升级与生效分离能力的单板(非以下单板则不需要该字段):Atlas 800T A3,Atlas 800I A3 A800T A3,A800I A3,Atlas880A880,Atlas800_9010A800-9010,Atlas500_3000A500-3000,Taishan5290V2,Taishan2280E V2,CN221,CM221,Atlas 800I A2 2UP A800I 2UP】如果不加该参数,默认升级后立即生效。 |
| filename | Multipart 上传的文件的名称 | 请求上传之后的固件文件名 说明:非必填参数,如果请求没有则默认image.hpm |
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/UpdateService/update-multipart请求头:
X-Auth-Token: 123456789***********************
Content-Type: multipart/form-data请求消息体:
// UpdateParameters 部分
Content-Disposition: form-data; name="UpdateParameters"
Content-Type: application/json
{
"Targets": ["/redfish/v1/Managers/1"],
"Oem": {}
}
// UpdateFile 部分
Content-Disposition: form-data; name="UpdateFile"; filename="flash.bin"
Content-Type: application/octet-stream
<software image binary>响应样例:
{
"error": {
"code": "Base.1.0.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information.",
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_0_0.Message",
"MessageId": "Base.1.0.Success",
"RelatedProperties": [],
"Message": "Successfully Completed Request",
"MessageArgs": [],
"Severity": "OK",
"Resolution": "None"
}
]
}
}响应码:202
POST (ACTION)
RemoveLocalImage
命令功能
删除指定的服务器当前本地固件仓信息。
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.RemoveLocalImage
请求头:
X-Auth-Token: 123456789***********************请求消息体:
{
"Targets": [
{
"@odata.id": localimagestore_id
}
]
}请求头参数说明
参见 请求头参数说明
请求体参数说明
| 参数 | 参数说明 | 取值 |
|---|---|---|
| Targets | 请求消息体 | 要删除的本地固件仓id集合 |
| @odata.id | 要删除的本地固件仓 | 要删除的本地固件仓id |
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.RemoveLocalImage请求头:
X-Auth-Token: 123456789***********************请求消息体:
{
"Targets": [
{
"@odata.id": "/redfish/v1/UpdateService/LocalImageStore/VRD_BCU_010101"
}
]
}响应样例:
{
"@odata.context": "/redfish/v1/$metadata#Task.Task",
"@odata.type": "#Task.v1_7_4.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Init",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2000-04-07T02:08:42+00:00",
"Messages": [],
"PercentComplete": null,
"Oem": {
"openUBMC": {
"TaskPercentage": null
}
}
}响应码:202
POST (ACTION)
StartUpdate
命令功能
触发通过 @Redfish.OperationApplyTime 注解值为OnStartUpdateRequest时创建的固件升级Job。
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.StartUpdate
请求头:
X-Auth-Token: 123456789***********************请求消息体: 无
请求头参数说明
参见 请求头参数说明
请求体参数说明
无
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.StartUpdate请求头:
X-Auth-Token: 123456789***********************请求消息体:无
响应样例:
{
"error": {
"code": "Base.1.0.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information.",
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_0_0.Message",
"MessageId": "Base.1.0.Success",
"RelatedProperties": [],
"Message": "Successfully Completed Request",
"MessageArgs": [],
"Severity": "OK",
"Resolution": "None"
}
]
}
}响应码:200
POST (ACTION)
PrepareUpdate
命令功能
固件升级前支持预检查,检查升级通道是否正常。
命令格式
URL: https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.PrepareUpdate
请求头:
X-Auth-Token: 123456789***********************请求消息体: 无
请求头参数说明
参见 请求头参数说明
请求体参数说明
无
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.PrepareUpdate请求头:
X-Auth-Token: 123456789***********************请求消息体:无
响应样例:
{
"@odata.context": "/redfish/v1/$metadata#Task.Task",
"@odata.type": "#Task.v1_7_4.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/1",
"Id": "1",
"Name": "Prepare Check Task",
"Description": "",
"TaskState": "Running",
"TaskStatus": "OK",
"StartTime": "2000-05-18T13:27:14+00:00",
"Messages": [],
"PercentComplete": null,
"Oem": {
"openUBMC": {
"TaskPercentage": null
}
}
}响应码:202