Come aggiornare il firmware del sistema SR635 e SR655 utilizzando l'API REST BMC Redfish

Come aggiornare il firmware del sistema SR635 e SR655 utilizzando l'API REST BMC Redfish

Come aggiornare il firmware del sistema SR635 e SR655 utilizzando l'API REST BMC Redfish

Questo è un articolo tradotto automaticamente, fai clic qui per visualizzare la versione originale in inglese.

Descrizione

Il server AMD 1P Redfish si basa sul pacchetto tecnologico AMI MegaRAC® Redfish V1.7 (segue la specifica DSP0266 1.7.0 e lo schema Redfish 2019.1). Per aggiungere API OEM, Redfish utilizza la semantica dell'interfaccia RESTful e i payload delle risorse JSON per eseguire la gestione del sistema tramite protocolli basati sul Web.

Questo articolo introduce la procedura utilizzata per aggiornare il firmware del sistema utilizzando l'API REST BMC Redfish.

In questo articolo verranno utilizzati i seguenti metodi HTTP:

  • GET: richiesta di lettura – utilizzata per richiedere una risorsa o una raccolta specifica per controllare i dati
  • POST: richiesta di azione – utilizzata per avviare operazioni o creare risorse

Sistemi applicabili

SR635, SR655

Prerequisiti

  • I client Redfish devono essere installati sulla workstation o sul laptop.
    • Cliente dello scorfano
      • Chrome: Postino, tester API Talend
      • Firefox: client RESTC
  • La workstation o il laptop devono avere accesso di rete diretto al BMC sul server di destinazione.

Procedure

  1. Scarica il pacchetto firmware appropriato per la tua macchina dalla pagina di supporto Lenovo .
  2. Decomprimere i file e copiare il contenuto in una cartella specificata.

Come ottenere le informazioni sul firmware installato

  1. Per accedere alle proprietà nella raccolta dell'inventario del firmware, aprire Postman, selezionare il metodo GET e quindi inserire il seguente URL richiesto : https:// BMCIP /redfish/v1/UpdateService/FirmwareInventory
  2. Nella scheda Autorizzazione , seleziona Autenticazione di base dal menu Tipo , quindi inserisci le credenziali BMC . Fare clic su Invia .
    inventario del firmware
    Nota: questo passaggio di autorizzazione è obbligatorio per ogni richiesta.
    Esempio di risposta
    Se la richiesta precedente ha esito positivo, verrà restituito un corpo del messaggio simile al seguente:
     {
        
    "@odata.context" : "/redfish/v1/$metadata#SoftwareInventoryCollection.SoftwareInventoryCollection" ,
        
    "@odata.etag" : "\"1577837046\"" ,
        
    "@odata.id" : "/redfish/v1/UpdateService/FirmwareInventory" ,
        
    "@odata.type" : "#SoftwareInventoryCollection.SoftwareInventoryCollection" ,
        
    "Descrizione" : "Raccolta di risorse di inventario firmware disponibili per UpdateService" ,
        
    "Membri" : [
        
    {
        
    "@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" }
        
    ],
        
    "Membri@odata.count" : 8 ,
        
    "Nome" : "Raccolta inventario firmware" } 
        
  3. Dall'output dell'elenco Membri, trova l'endpoint del firmware di sistema che desideri interrogare, ad esempio /redfish/v1/UpdateService/FirmwareInventory/UEFI . Inseriscilo nel campo URL per ottenere le informazioni 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" ,
  
    "Id" : "UEFI" ,
  
    "Nome" : "Firmware UEFI" ,
  
    "Articolo correlato" : [
  
{
  
            "@odata.id" : "/redfish/v1/Systems/Self"
  
},
  
{
  
            "@odata.id" : "/redfish/v1/Systems/1"
  
}
  
],
  
    "Articolo correlato@odata.count" : 2 ,
  
    "ID software" : "CFE118K" ,
   
    "Stato" : {
   
        "Salute" : "OK" ,
   
        "Stato" : "Abilitato"
   
},
   
    "Aggiornabile" : vero ,
   
    "Versione" : "5.10"
  
}

Nei dati di risposta mostrati sopra, la versione UEFI installata è 5.10 e l'ID software è CFE118K .

Aggiornamenti UEFI

  1. Selezionare il metodo POST , quindi inserire il seguente URL richiesto: https:// BMCIP /redfish/v1/UpdateService/upload
  2. Nella scheda Corpo per l'azione POST, seleziona form-data , imposta il nome KEY su UpdateFile e modifica il tipo KEY in File .

POSTcorpo

  1. Nella sezione del valore, seleziona l'immagine del firmware che desideri aggiornare.

file

  1. Apri un editor di testo come Notepad++ per creare un file JSON parametri.json con il seguente contenuto:
 { "Obiettivi": [ "/redfish/v1/Managers/Self" ] } 

parametri

  1. Crea un altro file JSON oem_parameters.json con il seguente contenuto:
 {
      "FlashType": "UEFIUpdate",
      "UploadSelector":"Predefinito"                    
} 

parametri_oem

  1. Immetti UpdateParameters come nome CHIAVE, modifica il tipo CHIAVE in File e quindi seleziona il file parametri.json creato nel passaggio 4.
  2. Immetti OemParameters come altro nome CHIAVE, modifica il tipo CHIAVE in File e quindi seleziona il file oem_parameters.json creato nel passaggio 5.
  3. Fare clic su Invia .

Aggiornamento UEFI

  1. Se la richiesta ha esito positivo, verrà visualizzato lo stato del codice di risposta 202 Accettato . Il corpo del messaggio sarà simile al seguente esempio:

202 accettati

Stato dell'aggiornamento UEFI

Nell'esempio di risposta sopra, /redfish/v1/TaskService/Tasks/1989 è la nuova attività appena creata. È possibile utilizzare il metodo Get per interrogare lo stato dell'aggiornamento con l'ID attività.

Richiedi URL

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

Esempio di risposta

interrogare lo stato del BIOS

interrogare lo stato del bios2

Azioni di potere

  1. Riavviare il server ed eseguire nuovamente l'inventario del firmware. La versione BIOS sarà stata aggiornata.

È inoltre possibile utilizzare il metodo POST per eseguire un ripristino del sistema.

Richiedi URL

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

Corpo richiesto dell'azione POST:

{"ResetType":"ForceRestart"}

Esempio di risposta

Se l'azione ha avuto esito positivo, verrà restituito lo stato della risposta 202 con il seguente corpo della risposta:

 {
  
    "@odata.context" : "/redfish/v1/$metadata#Task. Task(TaskState,Descrizione,Nome,Id)" ,
  
    "@odata.id" : "/redfish/v1/TaskService/Tasks/1" ,
  
    "@odata.type" : "#Task.v1_2_0.Task" ,
  
    "Descrizione" : "Attività di ripristino del computer" ,
  
    "Id" : " 1 " ,
  
    "Nome" : "Reimpostazione del computer" ,
  
    "TaskState" : "Nuovo"
  
} 
  

Aggiornamenti BMC

  1. Seleziona il metodo POST, quindi inserisci il seguente URL richiesto:

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

  1. Nella scheda Corpo per l'azione POST, seleziona form-data , imposta il nome KEY su UpdateFile e modifica il tipo KEY in File .

POSTcorpo

  1. Nella sezione del valore, seleziona l'immagine del firmware che desideri aggiornare.

file

  1. Apri un editor di codice sorgente come Notepad++ per creare un file JSON parametri.json con il seguente contenuto:
 { "Obiettivi": [ "/redfish/v1/Managers/Self" ] } 

parametri

  1. Crea un altro file JSON oem_parameters.json con il seguente contenuto:
 {
      "FlashType": "HPMFwUpdate",
      "UploadSelector":"Predefinito"                     
} 

parametri_bmc

  1. Immetti UpdateParameters come nome CHIAVE, modifica il tipo CHIAVE in File e quindi seleziona il file parametri.json creato nel passaggio 4.
  2. Immetti OemParameters come altro nome CHIAVE, modifica il tipo CHIAVE in File e quindi seleziona il file oem_parameters.json creato nel passaggio 5.
  3. Fare clic su Invia .

Aggiornamento BMC

  1. Se la richiesta ha esito positivo, verrà visualizzato lo stato del codice di risposta 202 Accettato . Il corpo del messaggio sarà simile al seguente esempio:

Attività_BMC

Nell'esempio di risposta sopra, /redfish/v1/TaskService/Tasks/1991 è la nuova attività appena creata. È possibile utilizzare il metodo Get per interrogare lo stato dell'aggiornamento con l'ID attività.

Richiedi URL

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

Esempio di risposta

BMC_Stato aggiornamento

  1. Quando lo stato dell'attività è completo e ThinkSystem System Manager (BMC GUI) è accessibile, la versione BMC verrà aggiornata.

video

Informazioni aggiuntive

Articolo correlato

ID Documento:HT511480
Data pubblicazione originale:11/19/2020
Data ultima modifica:03/30/2024