代码仓
中
UpdateService
更新时间: 2026/11/04
在AtomGit上查看源码

ResourceDefinition ​

uris ​

  • /redfish/v1/UpdateService

properties ​

名称类型是否只读取值范围/枚举值说明
@odata.contextstringtrue-升级服务资源模型的OData描述信息
@odata.idstringfalse-升级服务资源的访问路径
@odata.typestringtrue-升级服务资源的类型
Idstringtrue-升级服务资源的ID
Namestringtrue-升级服务资源的名称
Status {objecttrue-升级服务健康状态,包括:
● Status:使能状态
● Health:健康状态
● Severity:自定义健康状态
Status.Healthstringtrue-升级服务服务健康状态
Status.Oem {objectfalse-自定义属性
Status.Oem.Public {objectfalse-自定义属性
Status.Oem.Public.Severitystringfalse-升级服务的自定义健康状态
}
}
Status.Statusstringtrue-升级服务健康状态,包括:
● Status:使能状态
● Health:健康状态
● Severity:自定义健康状态
}
ServiceEnabledbooleantruetrue,false升级服务使能状态
Actions {objecttrue-升级服务可执行的操作
Actions.#UpdateService.SimpleUpdate {objecttrue-升级操作
Actions.#UpdateService.SimpleUpdate.targetstringtrue-升级操作的路径
Actions.#UpdateService.SimpleUpdate.@Redfish.ActionInfostringtrue-升级操作信息的查询路径
}
Actions.Oem {objectfalse-自定义属性
Actions.Oem.Public {objectfalse-自定义属性
Actions.Oem.Public.#UpdateService.StartSyncUpdate {objecttrue-BMC主备同步升级
Actions.Oem.Public.#UpdateService.StartSyncUpdate.targetstringtrue-BMC主备同步升级操作的路径
Actions.Oem.Public.#UpdateService.StartSyncUpdate.@Redfish.ActionInfostringtrue-BMC主备同步升级操作信息的查询路径
}
Actions.Oem.Public.#UpdateService.ActivateBios {objecttrue-BIOS独立生效
Actions.Oem.Public.#UpdateService.ActivateBios.targetstringtrue-BIOS独立生效操作的路径
Actions.Oem.Public.#UpdateService.ActivateBios.@Redfish.ActionInfostringtrue-BIOS独立生效操作信息的查询路径
}
Actions.Oem.Public.#UpdateService.StartActivate {objecttrue-统一生效操作
Actions.Oem.Public.#UpdateService.StartActivate.targetstringtrue-统一生效操作的路径
Actions.Oem.Public.#UpdateService.StartActivate.@Redfish.ActionInfostringtrue-统一生效操作信息的查询路径
}
Actions.Oem.Public.#UpdateService.ParallelUpdate {objecttrue-并行升级操作
Actions.Oem.Public.#UpdateService.ParallelUpdate.targetstringtrue-并行升级操作的路径
Actions.Oem.Public.#UpdateService.ParallelUpdate.@Redfish.ActionInfostringtrue-并行升级操作信息的查询路径
}
}
}
}
FirmwareInventory {objecttrue-可升级固件列表的链接
FirmwareInventory.@odata.idstringfalse-可升级固件列表的访问路径
}
HttpPushUristringtrue-向升级服务推送固件的远端客户端URI
MultipartHttpPushUristringtrue-以multipart方式推送固件升级包的URI
MaxImageSizeBytesnumbertrue-升级服务支持的最大固件大小
Task {objecttrue-正在升级的任务链接
Task.@odata.idstringfalse-正在升级的任务的访问路径
}
Oem {objectfalse-自定义属性
Oem.Public {objectfalse-自定义属性
Oem.Public.DowngradeDisabledbooleanfalsetrue,false禁止版本降级的使能状态
Oem.Public.SyncUpdateStatestringtrue-主备同步升级状态
Oem.Public.BiosUpdateStatestringtrue-Bios升级状态
Oem.Public.InbandFirmwareUpdateEnabledbooleantrue-带内更新固件使能状态
Oem.Public.ParallelSupportedbooleantrue-是否支持并行升级
Oem.Public.AutoFirmwareActivationEnablebooleanfalsetrue,false待生效固件在满足生效条件时是否自动生效
Oem.Public.FirmwareToTakeEffect [ {arraytrue-待生效固件列表
Oem.Public.FirmwareToTakeEffect[].FirmwareTypestringtrue-待生效固件类型
Oem.Public.FirmwareToTakeEffect[].StagedVersionstringtrue-待生效固件版本
Oem.Public.FirmwareToTakeEffect[].StagedTimestringtrue-升级缓存时间
Oem.Public.FirmwareToTakeEffect[].RelatedFirmwareItems[ ]arraytrue-待生效固件列表的链接
Oem.Public.FirmwareToTakeEffect[].RelatedFirmwareItems[].@odata.idstringfalse-待生效固件列表的访问路径
} ]
Oem.Public.ActivationControl[ ]arraytrue-待生效固件的生效动作
Oem.Public.BackgroundUpdateTasks[ ]arraytrue-后台升级任务列表,每个元素为升级Task的URI
Oem.Public.LocalImageStoreobjecttrue-本地固件仓的清单。此属性应包含指向资源集合的链接,该资源集合的类型为 SoftwareInventoryCollection。该资源集合应包含本地固件仓的集合
} ]
Oem.Public.FirmwareIntegrity {objecttrue-用于呈现固件完整性校验的签名证书和吊销列表
说明
openUBMC 25.12 LTS及以上版本支持
Oem.Public.FirmwareIntegrity.Certificates [ {arraytrue-用于固件完整性校验的签名证书。若当前不存在该类证书,则该资源呈现为空数组
Oem.Public.FirmwareIntegrity.Certificates[].CertificateStringstringtrue-升级服务内容
} ]
Oem.Public.FirmwareIntegrity.CertificateRevocationLists [ {arraytrue-用于固件完整性校验的吊销列表。若当前不存在该类吊销列表,则该资源呈现为空数组
Oem.Public.FirmwareIntegrity.CertificateRevocationLists[].CRLStringstringtrue-证书吊销列表内容
} ]
}
}
}
ActiveStatusstringtrue-待生效固件的生效状态
LocalImageStoreAvailableCapacityBytesnumbertrue-本地固件仓当前可用的字节数
LocalImageStoreTotalCapacityBytesnumbertrue-本地固件仓当前的总字节数
LocalImageVersionCheckEnabledbooleantrue-本地固件仓版本与运行固件版本检测使能,true表示使能,false表示去使能

supported_methods ​

  • GET
  • PATCH
  • POST

HTTP methods ​

GET ​

命令功能

查询升级服务资源信息

命令格式

URL: https://device_ip/redfish/v1/UpdateService

请求头:

text
X-Auth-Token: 123456789***********************

请求消息体: 无

参数说明

参数参数说明取值
device_ip登录设备的IP地址IPv4或IPv6地址
auth_value执行该GET请求时,必须在"Headers"中携带"X-Auth-Token"值用于鉴权可通过/redfish/v1/SessionService/Sessions创建会话时获得

使用指南

无

使用实例

请求样例:

http
GET <https://device_ip/redfish/v1/UpdateService>

请求头:

text
X-Auth-Token: 123456789***********************

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type
If-Match: ifmatch_value

请求消息体:

json
{
"Oem": {
"Public": {
"DowngradeDisabled": state,
"AutoFirmwareActivationEnable": enabled
}
}
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
DowngradeDisabled禁止版本降级的使能状态true、false
AutoFirmwareActivationEnable待生效固件在满足生效条件时是否自动生效true:满足生效条件时,固件自动生效
false:满足生效条件时,不做固件生效动作

使用指南

无

使用实例

请求样例:

http
PATCH <https://device_ip/redfish/v1/UpdateService>

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: application/json
If-Match: W/"06348C97"

请求消息体:

json
{
"Oem": {
"Public": {
"DowngradeDisabled": true,
"AutoFirmwareActivationEnable": true
}
}
}

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

json
{
"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"
protocolBMC从远程服务器下载升级包时使用的协议● HTTPS
● SCP
● SFTP
● CIFS
● NFS
说明:如果是本地升级则不需要该字段
activemodeBMC固件的升级生效模式● 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。如果不加该参数,默认升级后立即生效
biosactivemodeBIOS无感升级生效区域,使用该字段使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:升级完成后不恢复出厂设置
如果不加该参数,默认升级完成后不恢复出厂设置
systemidMulti-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版本及以上支持

使用指南

无

使用实例

请求样例:

http
POST <https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate>

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: application/json

请求消息体:

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"
]
}

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

json
{
"ActivationControl": ActivationControl_value
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
ActivationControl_value生效控制ResetBMC:BMC复位
PowerOff:整机下电
PowerOn:整机上电
ResetTargetDevice:重启目标设备

使用指南

支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3

使用实例

请求样例:

http
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.StartActivate>

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: application/json

请求消息体:

json
{
"ActivationControl": [
"ResetBMC"
]
}

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

json
{
"Packages": Packages_value,
"Stage": true
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
Packages_value升级参数对象数组,内容如下
● SystemId
● TransferProtocol
● ImageURI
● ForceUpdate
SystemIdMulti-Host场景(一个BMC管理多个host主机)下指定升级某host的固件● 字符串[1 ~ N]:表示升级第N个host上的固件,要求对应的host在位
说明:可选参数,不使用此参数默认升级所有host
TransferProtocolBMC从远程服务器下载升级包时使用的协议● 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

使用实例

请求样例:

http
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.ParallelUpdate>

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: application/json

请求消息体:

json
{
"Packages": [
{
"ImageURI": "/tmp/cpld.hpm",
"Stage": true
}
]
}

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

json
{
"Targets": targets_value
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
Targets_value生效参数对象数组,内容如下
● @odata.id
@odata.id可生效暂存固件资源的访问路径可通过查询可升级固件集合资源获得

使用指南

支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3。共用一个升级包的暂存固件会一并升级

使用实例

请求样例:

http
POST <https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.Activate>

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: application/json

请求消息体:

json
{
"Targets": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLD.hpm"
}
]
}

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

json
{
"Targets": targets_value
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
Targets_value生效参数对象数组,内容如下
● @odata.id
@odata.id需要弃用的暂存固件资源的访问路径可通过查询可升级固件集合资源获得

使用指南

支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3。共用一个升级包的暂存固件会一并被删除

使用实例

请求样例:

http
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.DiscardStagedFirmwares>

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: application/json

请求消息体:

json
{
"Targets": [
{
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/CPLD.hpm"
}
]
}

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

json
{
"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"
TransferProtocolBMC从远程服务器下载升级包时使用的协议● HTTPS
● SCP
● SFTP
● CIFS
● NFS
说明:如果是本地升级则不需要该字段
ForceUpdate固件是否强制升级● true
● false
说明:true:版本号一致的固件升级
false:版本号一致的固件不升级
如果不加该参数,版本号一致的固件升级

使用指南

支持的机型:A900 A3 SuperPoD,A800T A3,A800I A3

使用实例

请求样例:

http
POST <https://device_ip/redfish/v1/UpdateService/Actions/Oem/UpdateService.FullImageUpdate>

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: application/json

请求消息体:

json
{
"ImageURI": "sftp://username:password@10.10.10.191/tmp/package.zip",
"TransferProtocol": "SFTP",
"ForceUpdate": true
}

响应样例:

json
{
"@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

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: header_type

请求消息体:

当前请求由于是 multipart 请求,因此请求体分为两个部分,具体如下:

text
// 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:升级完成后不恢复出厂设置。
如果不加该参数,默认升级完成后不恢复出厂设置。
systemidMulti-Host场景(一个BMC管理多个host主机)下指定升级某host的固件● 字符串[1 ~ N]:表示升级第N个host上的固件,要求对应的host在位。
说明
可选参数,不使用此参数默认升级所有host。
stage固件是否暂存● true
● false
说明:可选参数,不选用此参数默认不暂存
● true:暂存
● false:不暂存
forceupdate固件是否强制升级● true
● false
说明
● true:版本号一致的固件升级
● false:版本号一致的固件不升级
如果不加该参数,版本号一致的固件升级。
activemodeBMC固件的升级生效模式● 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】如果不加该参数,默认升级后立即生效。
filenameMultipart 上传的文件的名称请求上传之后的固件文件名
说明:非必填参数,如果请求没有则默认image.hpm

使用指南

无

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/UpdateService/update-multipart

请求头:

text
X-Auth-Token: 123456789***********************
Content-Type: multipart/form-data

请求消息体:

text
// 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>

响应样例:

json
{
  "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

请求头:

text
X-Auth-Token: 123456789***********************

请求消息体:

json
{
  "Targets": [
    {
      "@odata.id": localimagestore_id
    }
  ]
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
Targets请求消息体要删除的本地固件仓id集合
@odata.id要删除的本地固件仓要删除的本地固件仓id

使用指南

无

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.RemoveLocalImage

请求头:

text
X-Auth-Token: 123456789***********************

请求消息体:

json
{
  "Targets": [
    {
      "@odata.id": "/redfish/v1/UpdateService/LocalImageStore/VRD_BCU_010101"
    }
  ]
}

响应样例:

json
{
  "@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

请求头:

text
X-Auth-Token: 123456789***********************

请求消息体: 无

请求头参数说明

参见 请求头参数说明

请求体参数说明

无

使用指南

无

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/UpdateService/Actions/UpdateService.StartUpdate

请求头:

text
X-Auth-Token: 123456789***********************

请求消息体:无

响应样例:

json
{
  "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

请求头:

text
X-Auth-Token: 123456789***********************

请求消息体: 无

请求头参数说明

参见 请求头参数说明

请求体参数说明

无

使用指南

无

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/UpdateService/Actions/Oem/Public/UpdateService.PrepareUpdate

请求头:

text
X-Auth-Token: 123456789***********************

请求消息体:无

响应样例:

json
{
  "@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