Cómo actualizar el firmware del sistema SR635 y SR655 utilizando la API REST de BMC Redfish

Cómo actualizar el firmware del sistema SR635 y SR655 utilizando la API REST de BMC Redfish

Cómo actualizar el firmware del sistema SR635 y SR655 utilizando la API REST de BMC Redfish

Este es un artículo traducido automáticamente. Haga clic aquí para ver la versión original en inglés.

Descripción

El servidor AMD 1P Redfish se basa en el paquete de tecnología AMI MegaRAC® Redfish V1.7 (sigue la especificación DSP0266 1.7.0 y el esquema Redfish 2019.1). Para agregar API OEM, Redfish utiliza semántica de interfaz RESTful y cargas útiles de recursos JSON para realizar la gestión del sistema a través de protocolos basados en web.

Este artículo presenta el procedimiento utilizado para actualizar el firmware del sistema utilizando la API REST de BMC Redfish.

En este artículo se utilizarán los siguientes métodos HTTP:

  • GET: solicitud de lectura: se utiliza para solicitar un recurso o colección específica para verificar datos
  • POST: solicitud de acción: se utiliza para iniciar operaciones o crear recursos.

Sistemas aplicables

SR635, SR655

Requisitos previos

  • Los clientes Redfish deben estar instalados en su estación de trabajo o computadora portátil.
    • Cliente de gallineta nórdica
      • Chrome: cartero, probador de API de Talend
      • Firefox: cliente RESTC
  • La estación de trabajo o computadora portátil debe tener acceso directo a la red al BMC en el servidor de destino.

Trámites

  1. Descargue el paquete de firmware apropiado para su máquina desde la página de soporte Lenovo .
  2. Descomprima los archivos y copie el contenido a una carpeta especificada.

Cómo obtener la información del firmware instalado

  1. Para acceder a las propiedades en la colección de inventario de firmware, abra Postman, seleccione el método GET y luego ingrese la siguiente URL solicitada : https:// BMCIP /redfish/v1/UpdateService/FirmwareInventory
  2. En la pestaña Autorización , seleccione Autenticación básica en el menú Tipo y luego ingrese las credenciales de BMC . Haga clic en Enviar .
    inventario de firmware
    Nota: Este paso de autorización es necesario para cada solicitud.
    Ejemplo de respuesta
    Si la solicitud anterior tiene éxito, se devolverá un cuerpo de mensaje similar al siguiente:
     {
        
    "@odata.context" : "/redfish/v1/$metadata#SoftwareInventoryCollection.SoftwareInventoryCollection" ,
        
    "@odata.etag" : "\"1577837046\"" ,
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory" ,
        
    "@odata.type" : "#SoftwareInventoryCollection.SoftwareInventoryCollection" ,
        
    "Descripción" : "Recopilación de recursos del inventario de firmware disponibles para UpdateService" ,
        
    "Miembros" : [
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/LXPMLinuxDriver1" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/PSU2" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/LXPMWindowsDriver1" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/BMC-Primary" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/BMC-Backup" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/LXPM" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/UEFI" },
        
    {
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/PSU1" }
        
    ],
        
    "Miembros@odata.count" : 8 ,
        
    "Nombre" : "Recolección de inventario de firmware" } 
        
  3. En el resultado de la lista de miembros, busque el punto final del firmware del sistema que desea consultar, por ejemplo, /redfish/v1/UpdateService/FirmwareInventory/UEFI . Ingréselo en el campo URL para obtener la información UEFI.
{
  
    "@odata.context" : "/redfish/v1/$metadata#UpdateService.UpdateService" ,
  
    "@odata.etag" : "\"1577837046\"" ,
  
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory/UEFI" ,
  
    "@odata.type" : "#SoftwareInventory.v1_2_2.SoftwareInventory" ,
  
    "Identificación" : "UEFI" ,
  
    "Nombre" : "Firmware UEFI" ,
  
    "Artículo relacionado" : [
  
{
  
            "@odata.id" : "/redfish/v1/Systems/Self"
  
},
  
{
  
            "@odata.id" : "/redfish/v1/Systems/1"
  
}
  
],
  
    "RelatedItem@odata.count" : 2 ,
  
    "Id. De software" : "CFE118K" ,
   
    "Estado" : {
   
        "Salud" : "OK" ,
   
        "Estado" : "Habilitado"
   
},
   
    "Actualizable" : verdadero ,
   
    "Versión" : "5.10"
  
}

En los datos de respuesta que se muestran arriba, la versión UEFI instalada es 5.10 y el ID del software es CFE118K .

Actualizaciones UEFI

  1. Seleccione el método POST y luego ingrese la siguiente URL solicitada: https:// BMCIP /redfish/v1/UpdateService/upload
  2. En la pestaña Cuerpo para la acción POST, seleccione datos de formulario , establezca el nombre de la CLAVE en UpdateFile y cambie el tipo de CLAVE a Archivo .

POSTcuerpo

  1. En la sección de valor, seleccione la imagen de firmware que desea actualizar.

archivo

  1. Abra un editor de texto como Notepad++ para crear un archivo JSON parámetros.json con el siguiente contenido:
 { "Objetivos": [ "/redfish/v1/Managers/Self" ] } 

parámetros

  1. Cree otro archivo JSON oem_parameters.json con el siguiente contenido:
 {
      "FlashType": "UEFIUpdate",
      "UploadSelector": "Predeterminado"                    
} 

parámetros_oem

  1. Ingrese UpdateParameters como nombre de CLAVE, cambie el tipo de CLAVE a Archivo y luego seleccione el archivo parámetros.json que creó en el paso 4.
  2. Ingrese OemParameters como otro nombre de CLAVE, cambie el tipo de CLAVE a Archivo y luego seleccione el archivo oem_parameters.json que creó en el paso 5.
  3. Haga clic en Enviar .

Actualización UEFI

  1. Si la solicitud tiene éxito, se mostrará el estado del código de respuesta 202 Aceptado . El cuerpo del mensaje será similar al siguiente ejemplo:

202 aceptado

Estado de actualización UEFI

En el ejemplo de respuesta anterior, /redfish/v1/TaskService/Tasks/1989 es la nueva tarea que se acaba de crear. Puede utilizar el método Get para consultar el estado de la actualización con el ID de la tarea.

Solicitar URL

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

Ejemplo de respuesta

consultar el estado del BIOS

consultar estado de bios2

Acciones de poder

  1. Reinicie el servidor y realice nuevamente el inventario de firmware. La versión BIOS habrá sido actualizada.

También puede utilizar el método POST para realizar un reinicio del sistema.

Solicitar URL

https:// BMCIP /redfish/v1/System/Self/Actions/ComputerSystem.Reset

Cuerpo solicitado de la acción POST:

{"ResetType":"Forzar reinicio"}

Ejemplo de respuesta

Si la acción fue exitosa, se devolverá el estado de respuesta 202 con el siguiente cuerpo de respuesta:

 {
  
    "@odata.context" : "/redfish/v1/$metadata#Task. Task(TaskState,Descripción,Nombre,Id)" ,
  
    "@odata.id" : "/redfish/v1/TaskService/Tasks/1" ,
  
    "@odata.type" : "#Tarea.v1_2_0.Tarea" ,
  
    "Descripción" : "Tarea para restablecer la computadora" ,
  
    "Identificación" : " 1 " ,
  
    "Nombre" : "Restablecer computadora" ,
  
    "Estado de tarea" : "Nuevo"
  
} 
  

Actualizaciones de BMC

  1. Seleccione el método POST y luego ingrese la siguiente URL solicitada:

http:// BMCIP /redfish/v1/UpdateService/upload

  1. En la pestaña Cuerpo para la acción POST, seleccione datos de formulario , establezca el nombre de la CLAVE en UpdateFile y cambie el tipo de CLAVE a Archivo .

POSTcuerpo

  1. En la sección de valor, seleccione la imagen de firmware que desea actualizar.

archivo

  1. Abra un editor de código fuente como Notepad++ para crear un archivo JSON parámetros.json con el siguiente contenido:
 { "Objetivos": [ "/redfish/v1/Managers/Self" ] } 

parámetros

  1. Cree otro archivo JSON oem_parameters.json con el siguiente contenido:
 {
      "FlashType": "HPMFwUpdate",
      "UploadSelector": "Predeterminado"                     
} 

parámetros_bmc

  1. Ingrese UpdateParameters como nombre de CLAVE, cambie el tipo de CLAVE a Archivo y luego seleccione el archivo parámetros.json que creó en el paso 4.
  2. Ingrese OemParameters como otro nombre de CLAVE, cambie el tipo de CLAVE a Archivo y luego seleccione el archivo oem_parameters.json que creó en el paso 5.
  3. Haga clic en Enviar .

Actualización del BMC

  1. Si la solicitud tiene éxito, se mostrará el estado del código de respuesta 202 Aceptado . El cuerpo del mensaje será similar al siguiente ejemplo:

BMC_tarea

En el ejemplo de respuesta anterior, /redfish/v1/TaskService/Tasks/1991 es la nueva tarea que se acaba de crear. Puede utilizar el método Get para consultar el estado de la actualización con el ID de la tarea.

Solicitar URL

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

Ejemplo de respuesta

BMC_Estado de actualización

  1. Cuando se complete el estado de la tarea y se pueda acceder a ThinkSystem System Manager (BMC GUI), se actualizará la versión de BMC.

Video

información adicional

Artículo relacionado

ID del documento:HT511480
Fecha de publicación original:11/19/2020
Fecha de última modificación:03/30/2024