UpdateService
更新时间: 2026/06/26
在Gitcode上查看源码

ResourceDefinition

uris

  • /redfish/v1/Sms/1/UpdateService

properties

名称类型是否只读取值范围/枚举值说明
@odata.contextstringtrue-指定升级服务资源模型的OData描述信息
@odata.idstringtrue-指定升级服务资源的访问路径
@odata.typestringtrue-指定升级服务资源的类型
Idstringtrue-指定升级服务资源的ID
Namestringfalse-指定升级服务资源的名称
Statusobjecttrue-指定升级服务资源的状态,包括:
● State:使能状态
● Health:健康状态
ServiceEnabledbooleantrue-升级服务使能状态
Actionsobjecttrue-升级服务可执行的操作
Actions.#UpdateService.SimpleUpdateobjecttrue-同步升级操作
Actions.#UpdateService.SimpleUpdate.targetstringtrue-操作路径
Actions.#UpdateService.SimpleUpdate.TransferProtocol@Redfish.AllowableValuesarraytrue-支持的传输协议
Actions.Oemobjecttrue-自定义属性
Actions.Oem.Public.#UpdateService.OemAsynchronousUpdateobjecttrue-异步升级操作
Actions.Oem.Public.#UpdateService.OemAsynchronousUpdate.targetstringtrue-操作路径
Actions.Oem.Public.#UpdateService.OemAsynchronousUpdate.TransferProtocol@Redfish.AllowableValuesarraytrue-支持的传输协议
Actions.Oem.Public.#UpdateService.OemEffectiveUpdateobjecttrue-异步升级生效
Actions.Oem.Public.#UpdateService.OemEffectiveUpdate.targetstringtrue-操作路径
Progressobjecttrue-升级进度查询链接
Progress.@odata.idstringtrue-升级进度资源的访问路径
FirmwareInventoryobjecttrue-可升级固件列表的链接
FirmwareInventory.@odata.idstringtrue-固件清单资源的访问路径
SoftwareInventoryobjecttrue-可升级软件列表的链接
SoftwareInventory.@odata.idstringtrue-软件清单资源的访问路径
Oemobjecttrue-自定义Sms资源属性
Oem.Publicobjecttrue-自定义属性
Oem.Public.KernelVersionstringtrue-内核版本
Oem.Public.Archstringtruex86_64,aarch64平台类型
Oem.Public.OSVersionstringtrue-OS版本
Oem.Public.Vendorstringtrue-操作系统厂商
Oem.Public.MajorVersionstringtrue-操作系统主版本号
Oem.Public.MinorVersionstringtrue-操作系统子版本号
Oem.Public.SpMajorVersionstringtrue-补丁主版本号
Oem.Public.SpMinorVersionstringtrue-补丁子版本号

supported_methods

  • GET
  • POST

HTTP methods

GET

命令功能

查询升级服务资源

说明

GA140C不支持。

命令格式

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

请求头:


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/Sms/1/UpdateService

请求头:


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

请求消息体:无

响应样例:

json
{
  "@odata.context": "/redfish/v1/$metadata#UpdateService",
  "@odata.id": "/redfish/v1/Sms/1/UpdateService",
  "@odata.type": "#UpdateService.v1_0_0.UpdateService",
  "Id": "UpdateService",
  "Name": "Update Service",
  "Status": {
    "State": "Enabled",
    "Health": "OK"
  },
  "ServiceEnabled": true,
  "Actions": {
    "#UpdateService.SimpleUpdate": {
      "target": "/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.SimpleUpdate",
      "TransferProtocol@Redfish.AllowableValues": [
        "SFTP"
      ]
    },
    "Oem": {
      "Public": {
        "#UpdateService.OemAsynchronousUpdate": {
          "target": "/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.AsynchronousUpdate",
          "TransferProtocol@Redfish.AllowableValues": [
            "SFTP"
          ]
        },
        "#UpdateService.OemEffectiveUpdate": {
          "target": "/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.EffectiveUpdate"
        }
      }
    }
  },
  "Progress": {
    "@odata.id": "/redfish/v1/Sms/1/UpdateService/Progress"
  },
  "FirmwareInventory": {
    "@odata.id": "/redfish/v1/Sms/1/UpdateService/FirmwareInventory"
  },
  "SoftwareInventory": {
    "@odata.id": "/redfish/v1/Sms/1/UpdateService/SoftwareInventory"
  },
  "Oem": {
    "Public": {
      "KernelVersion": "2.6.32-573.el6.x86_64",
      "Arch": "x86_64",
      "OSVersion": "Red Hat Enterprise Linux Server release 6.7 (Santiago)",
      "Vendor": "Red Hat",
      "MajorVersion": "5",
      "MinorVersion": "8",
      "SpMajorVersion": null,
      "SpMinorVersion": null
    }
  }
}

响应码:200

POST (ACTION)

SimpleUpdate

命令功能

带内升级软件/固件

命令格式

URL: https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.SimpleUpdate

请求头:


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

请求消息体:

json
{
  "ImageURI": image_uri,
  "SignalURI": signal_uri,
  "CrlURI": crl_uri,
  "ImageType": image_type,
  "TransferProtocol": transfer_protocol,
  "User": user,
  "Password": password,
  "Parameter": parameter,
  "ActiveMethod": active_method
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
image_uri升级包所在路径文件路径。支持tar.gz、zip格式的文件。当文件进行远程传输且使用的ip协议为ipv6时,文件路径应写成[ipv6]:port/uri的形式
signal_uri升级包数字签名所在路径文件路径。支持asc、cms格式的文件。当文件进行远程传输且使用的ip协议为ipv6时,文件路径应写成[ipv6]:port/uri的形式
crl_uri升级包公钥文件所在路径文件路径。支持crl格式的文件,cms数字签名时必须传入。当文件进行远程传输且使用的ip协议为ipv6时,文件路径应写成[ipv6]:port/uri的形式
image_type升级包类型Driver、iBMA、Firmware_Shell
transfer_protocol传输协议类型支持SFTP协议、CDROM传输方式(iBMA 2.2.0.3及以上版本支持)
userURI访问用户名URI访问用户名,小于32字符。若传输协议类型为SFTP时必须传入此参数
passwordURI访问密码URI访问密码,小于32字符。若传输协议类型为SFTP时必须传入此参数
parameter升级参数驱动升级:all表示整包升级,也可指定升级包,如"package1.rpm,package2.rpm"指定升级"package1和package2"。
iBMA升级:-f表示强制升级。
FPGA固件升级:all表示所有张卡全部升级。也可指定槽位升级,如"1,2"指定升级1槽和2槽的FPGA卡
active_method升级生效方式包括重启OS(OSRestart),重启服务器(ServerRestart)等。iBMA升级的时候该参数不生效

使用指南

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.SimpleUpdate

请求头:


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

请求消息体(使用SFTP传输协议):

json
{
  "ImageURI": "192.168.2.100:22/home/image.iso",
  "SignalURI": "192.168.2.100:22/home/image.iso.cms",
  "CrlURI": "192.168.2.100:22/home/image.iso.crl",
  "ImageType": "Driver",
  "TransferProtocol": "SFTP",
  "User": "name",
  "Password": "password",
  "Parameter": "all",
  "ActiveMethod": ""
}

请求消息体(使用CDROM传输方式):

json
{
  "ImageURI": "/tmp/image.iso",
  "SignalURI": "/tmp/image.iso.cms",
  "CrlURI": "/tmp/image.iso.crl",
  "ImageType": "Driver",
  "TransferProtocol": "CDROM",
  "Parameter": "all",
  "ActiveMethod": ""
}

响应样例:

json
{
  "status": 200,
  "message": "OK"
}

响应码:200

POST (ACTION)

AsynchronousUpdate

命令功能

异步升级操作

命令格式

URL: https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.AsynchronousUpdate

请求头:


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

请求消息体:

json
{
  "Name": name,
  "ImageURI": image_uri,
  "SignalURI": signal_uri,
  "CrlURI": crl_uri,
  "ImageType": image_type,
  "TransferProtocol": transfer_protocol,
  "User": user,
  "Password": password,
  "Parameter": parameter,
  "ActiveMethod": active_method,
  "DownloadViaiBMC": download_via_ibmc,
  "AllowStop": allow_stop
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
name软件名称,多个名称使用半角逗号隔开,仅软件升级时使用软件升级时必须传入,其它类型升级允许为空值或不传入。支持字母、数字、连字符、下划线、句点、半角冒号和空格
image_uri升级包所在路径文件路径。支持tar.gz、zip、iso格式的文件。当文件进行远程传输且使用的ip协议为ipv6时,文件路径应写成[ipv6]:port/uri的形式
signal_uri升级包数字签名所在路径文件路径。支持asc、cms格式的文件。当文件进行远程传输且使用的ip协议为ipv6时,文件路径应写成[ipv6]:port/uri的形式
crl_uri升级包公钥所在路径文件路径。支持crl格式的文件,cms数字签名时必须传入。当文件进行远程传输且使用的ip协议为ipv6时,文件路径应写成[ipv6]:port/uri的形式
image_type升级包类型Driver、iBMA、Software、Firmware_Shell
transfer_protocol传输协议类型支持SFTP协议、CDROM传输方式(iBMA 2.2.0.3及以上版本支持)
userURI访问用户名URI访问用户名,小于32字符。若传输协议类型为SFTP时必须传入此参数
passwordURI访问密码URI访问密码,小于32字符。若传输协议类型为SFTP时必须传入此参数
parameter升级参数驱动升级:all表示整包升级,也可指定升级包,如"package1.rpm,package2.rpm"指定升级package1和package2;iBMA升级:NA;Firmware_Shell升级:all表示所有卡全部升级,也可指定槽位升级,如"1,2"指定升级1槽和2槽的FPGA卡;软件升级:软件包升级脚本依赖的参数
active_method升级生效方式包括重启OS(OSRestart),重启服务器(ServerRestart),升级包自己做生效动作(Immediately或null),FPGA热生效(WarmReboot),FPGA冷生效(ColdReboot)。iBMA升级的时候该参数不生效,Windows/VMware环境下只支持OSRestart和Immediately生效方式
download_via_ibmc是否通过BMC下载默认为true,表示通过BMC上传文件;false表示通过业务网口上传文件。若传输协议类型为SFTP时必须传入此参数
allow_stop是否允许停止默认为false

使用指南

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.AsynchronousUpdate

请求头:


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

请求消息体(使用SFTP传输协议):

json
{
  "ImageURI": "192.168.2.100:22/home/image.iso",
  "SignalURI": "192.168.2.100:22/home/image.iso.cms",
  "CrlURI": "192.168.2.100:22/home/image.iso.crl",
  "ImageType": "Driver",
  "TransferProtocol": "SFTP",
  "User": "name",
  "Password": "password",
  "Parameter": "all",
  "ActiveMethod": "",
  "DownloadViaiBMC": true,
  "AllowStop": false
}

请求消息体(使用CDROM传输方式):

json
{
  "ImageURI": "/tmp/image.iso",
  "SignalURI": "/tmp/image.iso.cms",
  "CrlURI": "/tmp/image.iso.crl",
  "ImageType": "Driver",
  "TransferProtocol": "CDROM",
  "Parameter": "all",
  "ActiveMethod": "",
  "AllowStop": false
}

响应样例:

json
{
  "status": 200,
  "message": "A task is created.",
  "TaskId": "2002"
}

响应码:200

POST (ACTION)

EffectiveUpdate

命令功能

异步升级生效

命令格式

URL: https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.EffectiveUpdate

请求头:


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

请求消息体:

json
{
  "ImageType": image_type,
  "ActiveMethod": active_method,
  "Parameter": parameter
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
image_type升级类型Driver、Software、Firmware_Shell
active_method生效方式OSRestart:重启系统;ServerRestart:系统先下电再上电;WarmReboot:FPGA热生效;ColdReboot:FPGA冷生效
parameter生效接口参数Firmware_Shell升级:all表示所有卡全部生效。也可指定槽位升级,如"1,2"指定生效1槽和2槽的FPGA卡

使用指南

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.EffectiveUpdate

请求头:


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

请求消息体:

json
{
  "ImageType": "Driver",
  "ActiveMethod": "OSRestart",
  "Parameter": "all"
}

响应样例:

json
{
  "status": "200",
  "message": "A task is created.",
  "TaskId": "1001"
}

响应码:200

POST (ACTION)

UploadFile

命令功能

文件上传操作

说明

此接口仅供Smart Provisioning使用。

命令格式

URL: https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.UploadFile

请求头:


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

请求消息体:

json
{
  "ImageURI": image_uri,
  "ChecksumType": check_sum_type,
  "ChecksumData": check_sum_data,
  "TransferProtocol": transfer_protocol,
  "User": user,
  "Password": password,
  "DownloadViaiBMC": download_via_ibmc,
  "AllowOverwrite": allow_overwrite,
  "AllowStop": allow_stop
}

请求头参数说明

参见 请求头参数说明

请求体参数说明

参数参数说明取值
image_uri文件包所在路径文件路径。文件名称中的字符取值范围为[A-Za-z0-9_.-&()],且文件名只能以".ini",".json",".tar.gz",".zip",".iso",".asc",".cms",".crl",".p7s",".xml",".cfg"或".yaml"为后缀。iBMA 2.3.4及以上版本支持".p7s"后缀,iBMA 2.7.0及以上版本支持".xml"、".cfg"、".yaml"后缀。当文件进行远程传输且使用的ip协议为ipv6时,文件路径应写成[ipv6]:port/uri的形式
check_sum_type校验和类型SHA256
check_sum_data校验和数值SHA256生成的文件校验和数据
transfer_protocol使用的传输协议支持SFTP协议、CDROM传输方式(iBMA 2.2.0.3及以上版本支持)
userURI访问用户名URI访问用户名,小于32字符。若传输协议类型为SFTP时必须传入此参数
passwordURI访问密码URI访问密码,小于32字符。若传输协议类型为SFTP时必须传入此参数
download_via_ibmc是否通过BMC上传true:通过BMC上传文件;false:通过业务网口上传文件。若传输协议类型为SFTP时必须传入此参数
allow_overwrite是否允许覆盖默认为true
allow_stop是否允许停止默认为false

使用指南

使用实例

请求样例:

http
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.UploadFile

请求头:


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

请求消息体(使用SFTP传输协议):

json
{
  "ImageURI": "192.168.2.100:22/home/upgbma/UploadFile/10MB.tar.gz",
  "ChecksumType": "SHA256",
  "ChecksumData": "e5b844cc57f57094ea4585e235f36c78c1cd222262bb89d53c94dcb4d6b3e55d",
  "TransferProtocol": "SFTP",
  "User": "name",
  "Password": "password",
  "ActiveMethod": true,
  "DownloadViaiBMC": true,
  "AllowOverwrite": false
}

请求消息体(使用CDROM传输方式):

json
{
  "ImageURI": "/tmp/10MB.tar.gz",
  "ChecksumType": "SHA256",
  "ChecksumData": "e5b844cc57f57094ea4585e235f36c78c1cd222262bb89d53c94dcb4d6b3e55d",
  "TransferProtocol": "CDROM",
  "ActiveMethod": true,
  "AllowOverwrite": false
}

响应样例:

json
{
  "status": "200",
  "message": "Upload file has started, please wait.",
  "TaskId": "7001"
}

响应码:200