Come aggiornare il firmware di sistema utilizzando l'API REST XCC Redfish per i server ThinkSystem
Come aggiornare il firmware di sistema utilizzando l'API REST XCC Redfish per i server ThinkSystem
Come aggiornare il firmware di sistema utilizzando l'API REST XCC Redfish per i server ThinkSystem
Descrizione
Lenovo XClarity Controller (XCC) fornisce supporto per l'API di gestione delle piattaforme scalabili Redfish standard del settore, che può essere utilizzata per accedere ai dati e ai servizi XCC da applicazioni in esecuzione al di fuori di XCC. Redfish utilizza la semantica dell'interfaccia RESTful e i payload delle risorse JSON per eseguire la gestione del sistema tramite protocolli basati sul Web.
In questo articolo viene illustrata la procedura utilizzata per aggiornare il firmware di sistema tramite l'API REST XCC Redfish.
In questo articolo verranno utilizzati i seguenti metodi HTTP:
- GET: richiesta di lettura – utilizzata per richiedere una risorsa o una raccolta specificata per controllare i dati
- POST: richiesta di azione – utilizzata per avviare operazioni o creare risorse
Sistemi applicabili
ThinkSystem (tranne HR330A, HR350A, HR630X, HR650X), SR645, SR665
Prerequisiti
- È necessario che sulla tua postazione di lavoro o sul tuo laptop sia installato un client Redfish.
- Clienti di Redfish:
- Chrome: Postman, tester API Talend
- Firefox: client RESTC
- La workstation o il laptop devono avere accesso di rete diretto a XCC sul server di destinazione.
Procedure
Per aggiornare i livelli del firmware di sistema utilizzando il metodo API XCC Redfish, attenersi alla seguente procedura.
Scarica i pacchetti firmware desiderati
- Scarica il pacchetto firmware appropriato per il tuo computer dalla pagina di supporto Lenovo .
- Decomprimi i file e copia il contenuto in una cartella specificata.
Recupera le versioni del firmware installate
- Per accedere alle proprietà nella raccolta dell'inventario del firmware, aprire Postman, selezionare il metodo GET ① e quindi immettere il seguente URL richiesto ② : https:// BMCIP /redfish/v1/UpdateService/FirmwareInventory
- Nella scheda Autorizzazione , seleziona Autenticazione di base dal menu Tipo ③ , quindi immetti le credenziali BMC ④ . Fai clic su Invia ⑤ .
Nota: questo passaggio di autorizzazione è obbligatorio per ogni richiesta.
Esempio di risposta
Se la richiesta ha esito positivo, verrà restituito un corpo del messaggio simile al seguente:
{ "Membri": [ { "@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": "/redfish/v 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/Disco1" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disco2" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disco3" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disco4" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disco5" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Disco6" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/PSU1" } ], "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", "Members@odata.count": 20, "@odata.etag": "\"af76d20eb1af2e197f855\"", "Name": "SoftwareInventoryCollection", "Description": "Raccolta inventario firmware." }
- Dall'output dell'elenco Membri, trova l'endpoint del firmware di sistema che vuoi interrogare, ad esempio /redfish/v1/UpdateService/FirmwareInventory/UEFI . Inseriscilo nel campo URL per ottenere le informazioni UEFI.
{ "ReleaseDate": "2020-09-18T00:00:00Z", "RelatedItem": [ { "@odata.id": "/redfish/v1/Systems/1/ Bios " } ], "Id": "UEFI", "Stato": { "HealthRollup": "OK", "Integrità": "OK", "Stato": "Abilitato" }, "Produttore": " Lenovo ", "Nome": "Firmware:UEFI", "Versione": "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", "Aggiornabile": true, "@odata.etag": "\"3d193e9f3c0c2725df0\"", "LowestSupportedVersion": null, "Description": "Informazioni sul firmware UEFI." }
Nei dati di risposta sopra riportati, l'UEFI installato è 60N-2.71 e l'ID software è UEFI-IVE1-1.6 .
Applicare gli aggiornamenti del firmware
Utilizzare il metodo POST per applicare gli aggiornamenti UEFI o XCC .
Aggiornamenti UEFI
- Selezionare il metodo POST , quindi immettere il seguente URL richiesto: https:// BMCIP /fwupdate
- Nella scheda Corpo per l'azione POST , selezionare binario , quindi selezionare l'immagine del firmware da aggiornare.
- Fare clic su Invia .
- 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:
Nell'esempio di risposta sopra, /redfish/v1/TaskService/Tasks/00fc5d1b-f3da-469a-a4b0-007e91baa55f è il nuovo task appena creato. Puoi usare il metodo Get per interrogare lo stato di aggiornamento con l'ID task.
URL richiesto
https:// BMCIP /redfish/v1/TaskService/Task/ ID
Esempio di risposta
- Riavviare il server ed eseguire nuovamente l'inventario del firmware. La versione BIOS sarà stata aggiornata.
È anche possibile utilizzare il metodo POST per eseguire un riavvio del sistema.
URL richiesto
https:// BMCIP /redfish/v1/Systems/1/Actions/ComputerSystem.Reset
Corpo richiesto dell'azione POST:
{"ResetType":"Riavvio Grazioso"}
# I possibili valori del tipo di ripristino del sistema potrebbero essere On/ForceOff/GracefulShutdown/GracefulRestart/ForceRestart/Nmu/ForceOn
Esempio di risposta
Verrà restituita la seguente risposta JSON:
Nessuno
Aggiornamenti XCC
- Selezionare il metodo POST , quindi immettere il seguente URL richiesto: https:// BMCIP /fwupdate
- Nella scheda Corpo per l'azione POST , selezionare binario , quindi selezionare l'immagine del firmware da aggiornare.
- Fare clic su Invia .
- 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:
Nell'esempio di risposta sopra, /redfish/v1/TaskService/Tasks/d9674179-39e2-4842-8cbe-5d2ce477e49b è il nuovo task appena creato. Puoi usare il metodo Get per interrogare lo stato di aggiornamento con l'ID task.
URL richiesto
https:// BMCIP /redfish/v1/TaskService/Task/ID
Esempio di risposta
- Riavviare il server ed eseguire nuovamente l'inventario del firmware. La versione XCC sarà stata aggiornata.
È anche possibile utilizzare il metodo POST per riavviare XCC.
URL richiesto
https://BMCIP/redfish/v1/Managers/1/Actions/Manager.Reset
Corpo richiesto dell'azione POST:
{"ResetType":"Riavvio Grazioso"}
# I possibili valori del tipo di reset XCC potrebbero essere GracefulRestart/ForceRestart
Esempio di risposta
Verrà restituita la seguente risposta JSON:
Nessuno