如何使用 XCC Redfish REST API 更新ThinkSystem服务器的系统固件

如何使用 XCC Redfish REST API 更新ThinkSystem服务器的系统固件

如何使用 XCC Redfish REST API 更新ThinkSystem服务器的系统固件

这是机器翻译的文章,请单击此处查看原始英文版本。

描述

Lenovo XClarity Controller (XCC) 支持行业标准的 Redfish 可扩展平台管理 API,可用于从 XCC 外部运行的应用程序访问 XCC 数据和服务。Redfish 使用 RESTful 接口语义和 JSON 资源有效负载通过基于 Web 的协议执行系统管理。

本文介绍了使用 XCC Redfish REST API 更新系统固件的过程。

本文将使用以下 HTTP 方法:

  • GET:读取请求——用于请求指定资源或集合来检查数据
  • POST:动作请求——用于启动操作或创建资源

适用系统

ThinkSystem (HR330A、HR350A、HR630X、HR650X 除外)、SR645、SR665

先决条件

  • 您的工作站或笔记本电脑上必须安装 Redfish 客户端。
  • Redfish 客户:
  • Chrome:Postman、Talend API 测试器
  • Firefox:REST客户端
  • 工作站或笔记本电脑必须能够通过网络直接访问目标服务器上的 XCC。

过程

使用以下步骤使用 XCC Redfish API 方法更新系统固件级别。

下载所需的固件包

  1. Lenovo支持页面下载适合您机器的固件包。
  2. 解压文件并将内容复制到指定文件夹。

检索已安装的固件版本

  1. 要访问固件清单集合中的属性,请打开 Postman,选择GET方法 ,然后输入以下请求的 URL :https:// BMCIP /redfish/v1/UpdateService/FirmwareInventory
  2. 授权选项卡中,从类型菜单中选择基本授权,然后输入 BMC 凭证 。单击发送

存货

注意:每个请求都需要此授权步骤。

响应示例

如果请求成功,会返回类似如下的消息体:

 { “成员”:[ { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/BMC-Primary” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/BMC-Backup” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/UEFI” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/LXPM” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/LXPMWindowsDriver” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/LXPMLinuxDriver” }, { “@odata.id”: "/redfish/v1/UpdateService/FirmwareInventory/Ob_1.Bundle" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Slot_4.Bundle" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_5.Bundle" }, { "@odata.id": 1/UpdateService/FirmwareInventory/Ob_4.Bundle" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_1.1" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Ob_1.2" }, { "@odata.id": “/redfish/v1/UpdateService/FirmwareInventory/Slot_4.1” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/Disk1” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/Disk2” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/Disk3” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/Disk4” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/Disk5” }, { “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/Disk6” }, { “@odata.id” “/redfish/v1/UpdateService/FirmwareInventory/PSU1” } ], “@odata.type”:“#SoftwareInventoryCollection.SoftwareInventoryCollection”, “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory”, “Members@odata.count”:20, “@odata.etag”:“\”af76d20eb1af2e197f855\“”, “名称”:“SoftwareInventoryCollection”, “说明”:“固件库存收集。” }
  1. 从成员列表的输出中,找到要查询的系统固件端点 - 例如/redfish/v1/UpdateService/FirmwareInventory/UEFI 。 将其输入到 URL 字段中以获取 UEFI 信息。
 { “ReleaseDate”:“2020-09-18T00:00:00Z”, “RelatedItem”:[{ “@odata.id”:“/redfish/v1/Systems/1/ Bios ” } ],“Id”:“UEFI”, “状态”:{ “HealthRollup”:“OK”, “健康”:“OK”, “状态”:“已启用” },“制造商”:“ Lenovo ”, “名称”:“固件:UEFI”, “版本”:“60N-2.71”, “SoftwareId”:“UEFI-IVE1-6”, “RelatedItem@odata.count”:1, “@odata.type”:“#SoftwareInventory.v1_2_3.SoftwareInventory”, “@odata.id”:“/redfish/v1/UpdateService/FirmwareInventory/UEFI”, “可更新”:true, “@odata.etag”: "\"3d193e9f3c0c2725df0\"", "LowestSupportedVersion": null, "Description": "UEFI 固件的信息。" }

上面的响应数据中,安装的UEFI是60N-2.71 ,软件ID是UEFI-IVE1-1.6

应用固件更新

使用 POST 方法应用UEFIXCC 更新

UEFI 更新

  1. 选择POST方法,然后输入以下请求的URL: https:// BMCIP /fwupdate
  2. POST操作的Body选项卡中,选择binary ,然后选择要更新的固件映像。

更新

  1. 单击“发送”

发送

  1. 如果请求成功,则会显示响应代码状态202 Accepted 。消息正文将类似于以下示例:

202 已接受

上面的响应示例中, /redfish/v1/TaskService/Tasks/00fc5d1b-f3da-469a-a4b0-007e91baa55f是刚刚创建的新任务。您可以使用Get方法通过任务 ID 查询更新状态。

请求的 URL

https:// BMCIP /redfish/v1/TaskService/Task/ ID

响应示例

任务完成

任务 2

  1. 重新启动服务器并再次执行固件清点。BIOS 版本BIOS已更新。
    您还可以使用POST方法执行系统重启。

请求的 URL

https:// BMCIP /redfish/v1/Systems/1/Actions/ComputerSystem.Reset

POST 操作的请求主体

{"ResetType":"优雅重启"}
# 系统重置类型的可能值可以是On/ForceOff/GracefulShutdown/GracefulRestart/ForceRestart/Nmu/ForceOn
权力行动

响应示例

将返回以下 JSON 响应:

没有任何

[回页首]

XCC 更新

  1. 选择POST方法,然后输入以下请求的URL: https:// BMCIP /fwupdate
  2. POST操作的Body选项卡中,选择binary ,然后选择要更新的固件映像。

更新

  1. 单击“发送”

XCC 更新

  1. 如果请求成功,则会显示响应代码状态202 Accepted 。消息正文将类似于以下示例:

XCC 更新已应用

在上面的响应示例中, /redfish/v1/TaskService/Tasks/d9674179-39e2-4842-8cbe-5d2ce477e49b是刚刚创建的新任务,可以使用Get方法通过任务ID查询更新状态。

请求的 URL

https:// BMCIP /redfish/v1/TaskService/Task/ID

响应示例

XCC 更新完成

XCC 更新完成 2

  1. 重新启动服务器并再次执行固件清点。XCC 版本将已更新。
    您也可以使用POST方法重新启动XCC。

请求的 URL

https://BMCIP/redfish/v1/Managers/1/Actions/Manager.Reset

POST 操作的请求主体

{"ResetType":"优雅重启"}
# XCC 重置类型的可能值可能是GracefulRestart/ForceRestart

响应示例

将返回以下 JSON 响应:

没有任何

[回页首]

视频

附加信息

相关文章

文件ID:HT511484
初始发布日期:11/20/2020
最近修改日期:08/26/2024