Hoe u de systeemfirmware kunt updaten met behulp van de XCC Redfish REST API voor ThinkSystem -servers
Hoe u de systeemfirmware kunt updaten met behulp van de XCC Redfish REST API voor ThinkSystem -servers
Hoe u de systeemfirmware kunt updaten met behulp van de XCC Redfish REST API voor ThinkSystem -servers
Beschrijving
Lenovo XClarity Controller (XCC) biedt ondersteuning voor de industriestandaard Redfish Scalable Platforms Management API die kan worden gebruikt om toegang te krijgen tot XCC-gegevens en -services van applicaties die buiten XCC worden uitgevoerd. Redfish gebruikt RESTful-interfacesemantiek en JSON-resourcepayloads om systeembeheer uit te voeren via webgebaseerde protocollen.
In dit artikel wordt de procedure beschreven voor het bijwerken van systeemfirmware met behulp van de XCC Redfish REST API.
In dit artikel worden de volgende HTTP-methoden gebruikt:
- GET: leesverzoek – wordt gebruikt om een specifieke bron of verzameling op te vragen om gegevens te controleren
- POST: actieverzoek – wordt gebruikt om bewerkingen te starten of bronnen te creëren
Toepasselijke systemen
ThinkSystem (behalve HR330A, HR350A, HR630X, HR650X), SR645, SR665
Vereisten
- Er moet een Redfish-client op uw werkstation of laptop geïnstalleerd zijn.
- Klanten van Redfish:
- Chrome: Postman, Talend API-tester
- Firefox: REST-client
- Het werkstation of de laptop moet directe netwerktoegang hebben tot XCC op de doelserver.
Werkwijze
Gebruik de volgende stappen om de firmwareniveaus van het systeem bij te werken met behulp van de XCC Redfish API-methode.
Download de gewenste firmwarepakketten
- Download het juiste firmwarepakket voor uw machine vanaf de Lenovo ondersteuningspagina .
- Pak de bestanden uit en kopieer de inhoud naar de opgegeven map.
De geïnstalleerde firmwareversies ophalen
- Om toegang te krijgen tot de eigenschappen in de firmware-inventarisverzameling, opent u Postman, selecteert u de GET- methode ① en voert u vervolgens de volgende gevraagde URL in ② : https:// BMCIP /redfish/v1/UpdateService/FirmwareInventory
- Selecteer op het tabblad Autorisatie Basisverificatie in het menu Type ③ en voer vervolgens de BMC-referenties in ④ . Klik op Verzenden ⑤ .
Let op: Deze autorisatiestap is vereist voor elke aanvraag.
Voorbeeld van antwoord
Als het verzoek succesvol is, wordt een berichttekst geretourneerd die er ongeveer als volgt uitziet:
{ "Leden": [ { "@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": "/red fish/v1/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/Schijf1" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Schijf2" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Schijf3" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Schijf4" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Schijf5" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/Schijf6" }, { "@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": "Firmware-inventarisverzameling." }
- Zoek in de uitvoer van de ledenlijst het systeemfirmware-eindpunt dat u wilt bevragen, bijvoorbeeld /redfish/v1/UpdateService/FirmwareInventory/UEFI . Voer het in het URL-veld in om de UEFI-informatie te verkrijgen.
{ "ReleaseDate": "2020-09-18T00:00:00Z", "RelatedItem": [ { "@odata.id": "/redfish/v1/Systems/1/ Bios " } ], "Id": "UEFI", "Status": { "HealthRollup": "OK", "Health": "OK", "State": "Ingeschakeld" }, "Fabrikant": " Lenovo ", "Naam": "Firmware:UEFI", "Versie": "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", "Updateable": true, "@odata.etag": "\"3d193e9f3c0c2725df0\"", "LowestSupportedVersion": null, "Description": "De informatie van UEFI-firmware." }
In de bovenstaande responsgegevens is de geïnstalleerde UEFI 60N-2.71 en de software-ID UEFI-IVE1-1.6 .
Firmware-updates toepassen
Gebruik de POST-methode om UEFI- of XCC-updates toe te passen.
UEFI-updates
- Selecteer de POST- methode en voer vervolgens de volgende gevraagde URL in: https:// BMCIP /fwupdate
- Selecteer binair op het tabblad Body voor de POST- actie en selecteer vervolgens de firmware-image die u wilt bijwerken.
- Klik op Verzenden .
- Als het verzoek succesvol is, wordt de responscodestatus 202 Accepted weergegeven. De berichttekst is vergelijkbaar met het volgende voorbeeld:
In het bovenstaande responsvoorbeeld is /redfish/v1/TaskService/Tasks/00fc5d1b-f3da-469a-a4b0-007e91baa55f de nieuwe taak die zojuist is gemaakt. U kunt de Get- methode gebruiken om de updatestatus op te vragen met de taak-ID.
Gevraagde URL
https:// BMCIP /redfish/v1/TaskService/Taak/ ID
Voorbeeld van antwoord
- Start de server opnieuw op en voer de firmware-inventarisatie opnieuw uit. De BIOS versie is bijgewerkt.
U kunt ook de POST- methode gebruiken om het systeem opnieuw op te starten.
Gevraagde URL
https:// BMCIP /redfish/v1/Systems/1/Actions/ComputerSystem.Reset
Gevraagde inhoud van de POST-actie:
{"ResetType":"GracefulRestart"}
# De mogelijke waarden van het systeemresettype kunnen zijn: On/ForceOff/GracefulShutdown/GracefulRestart/ForceRestart/Nmu/ForceOn
Voorbeeld van antwoord
Het volgende JSON-antwoord wordt geretourneerd:
Geen
XCC-updates
- Selecteer de POST- methode en voer vervolgens de volgende gevraagde URL in: https:// BMCIP /fwupdate
- Selecteer binair op het tabblad Body voor de POST- actie en selecteer vervolgens de firmware-image die u wilt bijwerken.
- Klik op Verzenden .
- Als het verzoek succesvol is, wordt de responscodestatus 202 Accepted weergegeven. De berichttekst is vergelijkbaar met het volgende voorbeeld:
In het bovenstaande antwoordvoorbeeld, /redfish/v1/TaskService/Tasks/d9674179-39e2-4842-8cbe-5d2ce477e49b is de nieuwe taak die zojuist is gemaakt. U kunt de Get- methode gebruiken om de updatestatus op te vragen met de taak-ID.
Gevraagde URL
https:// BMCIP /redfish/v1/TaakService/Taak/ID
Voorbeeld van antwoord
- Start de server opnieuw op en voer de firmware-inventarisatie opnieuw uit. De XCC-versie is bijgewerkt.
U kunt ook de POST- methode gebruiken om XCC opnieuw te starten.
Gevraagde URL
https://BMCIP/redfish/v1/Managers/1/Acties/Manager.Reset
Gevraagde inhoud van de POST-actie:
{"ResetType":"GracefulRestart"}
# De mogelijke waarden van het XCC-resettype kunnen GracefulRestart/ForceRestart zijn
Voorbeeld van antwoord
Het volgende JSON-antwoord wordt geretourneerd:
Geen