ResourceDefinition
uris
/redfish/v1/Sms/1/UpdateService
properties
| 名称 | 类型 | 是否只读 | 取值范围/枚举值 | 说明 |
|---|---|---|---|---|
| @odata.context | string | true | - | 指定升级服务资源模型的OData描述信息 |
| @odata.id | string | true | - | 指定升级服务资源的访问路径 |
| @odata.type | string | true | - | 指定升级服务资源的类型 |
| Id | string | true | - | 指定升级服务资源的ID |
| Name | string | false | - | 指定升级服务资源的名称 |
| Status | object | true | - | 指定升级服务资源的状态,包括: ● State:使能状态 ● Health:健康状态 |
| ServiceEnabled | boolean | true | - | 升级服务使能状态 |
| Actions | object | true | - | 升级服务可执行的操作 |
| Actions.#UpdateService.SimpleUpdate | object | true | - | 同步升级操作 |
| Actions.#UpdateService.SimpleUpdate.target | string | true | - | 操作路径 |
| Actions.#UpdateService.SimpleUpdate.TransferProtocol@Redfish.AllowableValues | array | true | - | 支持的传输协议 |
| Actions.Oem | object | true | - | 自定义属性 |
| Actions.Oem.Public.#UpdateService.OemAsynchronousUpdate | object | true | - | 异步升级操作 |
| Actions.Oem.Public.#UpdateService.OemAsynchronousUpdate.target | string | true | - | 操作路径 |
| Actions.Oem.Public.#UpdateService.OemAsynchronousUpdate.TransferProtocol@Redfish.AllowableValues | array | true | - | 支持的传输协议 |
| Actions.Oem.Public.#UpdateService.OemEffectiveUpdate | object | true | - | 异步升级生效 |
| Actions.Oem.Public.#UpdateService.OemEffectiveUpdate.target | string | true | - | 操作路径 |
| Progress | object | true | - | 升级进度查询链接 |
| Progress.@odata.id | string | true | - | 升级进度资源的访问路径 |
| FirmwareInventory | object | true | - | 可升级固件列表的链接 |
| FirmwareInventory.@odata.id | string | true | - | 固件清单资源的访问路径 |
| SoftwareInventory | object | true | - | 可升级软件列表的链接 |
| SoftwareInventory.@odata.id | string | true | - | 软件清单资源的访问路径 |
| Oem | object | true | - | 自定义Sms资源属性 |
| Oem.Public | object | true | - | 自定义属性 |
| Oem.Public.KernelVersion | string | true | - | 内核版本 |
| Oem.Public.Arch | string | true | x86_64,aarch64 | 平台类型 |
| Oem.Public.OSVersion | string | true | - | OS版本 |
| Oem.Public.Vendor | string | true | - | 操作系统厂商 |
| Oem.Public.MajorVersion | string | true | - | 操作系统主版本号 |
| Oem.Public.MinorVersion | string | true | - | 操作系统子版本号 |
| Oem.Public.SpMajorVersion | string | true | - | 补丁主版本号 |
| Oem.Public.SpMinorVersion | string | true | - | 补丁子版本号 |
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创建会话时获得 |
使用指南
无
使用实例
请求样例:
GET https://device_ip/redfish/v1/Sms/1/UpdateService请求头:
X-Auth-Token: 123456789***********************请求消息体:无
响应样例:
{
"@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请求消息体:
{
"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及以上版本支持) |
| user | URI访问用户名 | URI访问用户名,小于32字符。若传输协议类型为SFTP时必须传入此参数 |
| password | URI访问密码 | 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升级的时候该参数不生效 |
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.SimpleUpdate请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体(使用SFTP传输协议):
{
"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传输方式):
{
"ImageURI": "/tmp/image.iso",
"SignalURI": "/tmp/image.iso.cms",
"CrlURI": "/tmp/image.iso.crl",
"ImageType": "Driver",
"TransferProtocol": "CDROM",
"Parameter": "all",
"ActiveMethod": ""
}响应样例:
{
"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请求消息体:
{
"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及以上版本支持) |
| user | URI访问用户名 | URI访问用户名,小于32字符。若传输协议类型为SFTP时必须传入此参数 |
| password | URI访问密码 | 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 |
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.AsynchronousUpdate请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体(使用SFTP传输协议):
{
"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传输方式):
{
"ImageURI": "/tmp/image.iso",
"SignalURI": "/tmp/image.iso.cms",
"CrlURI": "/tmp/image.iso.crl",
"ImageType": "Driver",
"TransferProtocol": "CDROM",
"Parameter": "all",
"ActiveMethod": "",
"AllowStop": false
}响应样例:
{
"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请求消息体:
{
"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卡 |
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.EffectiveUpdate请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体:
{
"ImageType": "Driver",
"ActiveMethod": "OSRestart",
"Parameter": "all"
}响应样例:
{
"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请求消息体:
{
"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及以上版本支持) |
| user | URI访问用户名 | URI访问用户名,小于32字符。若传输协议类型为SFTP时必须传入此参数 |
| password | URI访问密码 | URI访问密码,小于32字符。若传输协议类型为SFTP时必须传入此参数 |
| download_via_ibmc | 是否通过BMC上传 | true:通过BMC上传文件;false:通过业务网口上传文件。若传输协议类型为SFTP时必须传入此参数 |
| allow_overwrite | 是否允许覆盖 | 默认为true |
| allow_stop | 是否允许停止 | 默认为false |
使用指南
无
使用实例
请求样例:
POST https://device_ip/redfish/v1/Sms/1/UpdateService/Actions/UpdateService.UploadFile请求头:
X-Auth-Token: 123456789***********************
Content-Type: application/json请求消息体(使用SFTP传输协议):
{
"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传输方式):
{
"ImageURI": "/tmp/10MB.tar.gz",
"ChecksumType": "SHA256",
"ChecksumData": "e5b844cc57f57094ea4585e235f36c78c1cd222262bb89d53c94dcb4d6b3e55d",
"TransferProtocol": "CDROM",
"ActiveMethod": true,
"AllowOverwrite": false
}响应样例:
{
"status": "200",
"message": "Upload file has started, please wait.",
"TaskId": "7001"
}响应码:200