Cara memperbarui firmware sistem menggunakan XCC Redfish REST API untuk server ThinkSystem
Cara memperbarui firmware sistem menggunakan XCC Redfish REST API untuk server ThinkSystem
Cara memperbarui firmware sistem menggunakan XCC Redfish REST API untuk server ThinkSystem
Keterangan
Lenovo XClarity Controller (XCC) menyediakan dukungan untuk Redfish Scalable Platforms Management API standar industri yang dapat digunakan untuk mengakses data dan layanan XCC dari aplikasi yang berjalan di luar XCC. Redfish menggunakan semantik antarmuka RESTful dan muatan sumber daya JSON untuk melakukan manajemen sistem melalui protokol berbasis Web.
Artikel ini memperkenalkan prosedur yang digunakan untuk memperbarui firmware sistem menggunakan XCC Redfish REST API.
Metode HTTP berikut akan digunakan dalam artikel ini:
- GET: baca permintaan – digunakan untuk meminta sumber daya atau koleksi tertentu untuk memeriksa data
- POST: permintaan tindakan – digunakan untuk memulai operasi atau membuat sumber daya
Sistem yang Berlaku
ThinkSystem (Kecuali HR330A, HR350A, HR630X, HR650X), SR645, SR665
Prasyarat
- Klien Redfish harus diinstal pada stasiun kerja atau laptop Anda.
- Klien Redfish:
- Chrome: Postman, Penguji API Talend
- Firefox: Klien REST
- Stasiun kerja atau laptop harus memiliki akses jaringan langsung ke XCC di server target.
Prosedur
Gunakan langkah-langkah berikut untuk memperbarui tingkat firmware sistem menggunakan metode API XCC Redfish.
Unduh paket firmware yang diinginkan
- Unduh paket firmware yang sesuai untuk mesin Anda dari halaman dukungan Lenovo .
- Ekstrak file dan salin isinya ke folder tertentu.
Ambil versi firmware yang terinstal
- Untuk mengakses properti dalam koleksi inventaris firmware, buka postman, pilih metode GET ① lalu masukkan URL yang diminta berikut ② : https:// BMCIP /redfish/v1/UpdateService/FirmwareInventory
- Pada tab Otorisasi , pilih Otorisasi Dasar dari menu Jenis ③ , lalu masukkan kredensial BMC ④ . Klik Kirim ⑤ .
Catatan: Langkah otorisasi ini diperlukan untuk setiap permintaan.
Contoh respons
Jika permintaan berhasil, isi pesan yang mirip dengan berikut ini akan dikembalikan:
{ "Anggota": [ { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC-Utama" }, { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC-Cadangan" }, { "@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/Ob_5.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/LayananPembaruan/InventoryFirmware/Slot_4.1" }, { "@odata.id": "/redfish/v1/LayananPembaruan/InventoryFirmware/Disk1" }, { "@odata.id": "/redfish/v1/LayananPembaruan/InventoryFirmware/Disk2" }, { "@odata.id": "/redfish/v1/LayananPembaruan/InventoryFirmware/Disk3" }, { "@odata.id": "/redfish/v1/LayananPembaruan/InventoryFirmware/Disk4" }, { "@odata.id": "/redfish/v1/LayananPembaruan/InventoryFirmware/Disk5" }, { "@odata.id": "/redfish/v1/LayananPembaruan/InventoryFirmware/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\"", "Name": "SoftwareInventoryCollection", "Description": "Pengumpulan Inventaris Firmware." }
- Dari output daftar Anggota, temukan titik akhir firmware sistem yang ingin Anda tanyakan – misalnya, /redfish/v1/UpdateService/FirmwareInventory/UEFI . Masukkan ke dalam kolom URL untuk mendapatkan informasi UEFI.
{ "ReleaseDate": "2020-09-18T00:00:00Z", "RelatedItem": [ { "@odata.id": "/redfish/v1/Systems/1/ Bios " } ], "Id": "UEFI", "Status": { "HealthRollup": "OK", "Health": "OK", "State": "Diaktifkan" }, "Manufacturer": " Lenovo ", "Name": "Firmware:UEFI", "Version": "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": benar, "@odata.etag": "\"3d193e9f3c0c2725df0\"", "LowestSupportedVersion": null, "Description": "Informasi firmware UEFI." }
Dalam data respons di atas, UEFI yang terpasang adalah 60N-2.71 dan ID perangkat lunaknya adalah UEFI-IVE1-1.6 .
Terapkan pembaruan firmware
Gunakan metode POST untuk menerapkan pembaruan UEFI atau XCC .
Pembaruan UEFI
- Pilih metode POST , lalu masukkan URL yang diminta berikut: https:// BMCIP /fwupdate
- Pada tab Body untuk tindakan POST , pilih biner , lalu pilih citra firmware yang akan diperbarui.
- Klik Kirim .
- Jika permintaan berhasil, status kode respons 202 Diterima akan ditampilkan. Isi pesan akan mirip dengan contoh berikut:
Dalam contoh respons di atas, /redfish/v1/TaskService/Tasks/00fc5d1b-f3da-469a-a4b0-007e91baa55f adalah tugas baru yang baru saja dibuat. Anda dapat menggunakan metode Get untuk menanyakan status pembaruan dengan ID tugas.
URL yang diminta
https:// BMCIP /redfish/v1/TaskService/Tugas/ ID
Contoh respons
- Nyalakan ulang server dan lakukan inventarisasi firmware lagi. Versi BIOS akan diperbarui.
Anda juga dapat menggunakan metode POST untuk melakukan boot ulang sistem.
URL yang diminta
https:// BMCIP /redfish/v1/Sistem/1/Tindakan/ComputerSystem.Reset
Isi yang diminta dari tindakan POST:
{"JenisReset":"MulaiUlangAnggun"}
# Nilai yang mungkin dari tipe pengaturan ulang sistem bisa berupa On/ForceOff/GracefulShutdown/GracefulRestart/ForceRestart/Nmu/ForceOn
Contoh respons
Respons JSON berikut akan dikembalikan:
Tidak ada
Pembaruan XCC
- Pilih metode POST , lalu masukkan URL yang diminta berikut: https:// BMCIP /fwupdate
- Pada tab Body untuk tindakan POST , pilih biner , lalu pilih citra firmware yang akan diperbarui.
- Klik Kirim .
- Jika permintaan berhasil, status kode respons 202 Diterima akan ditampilkan. Isi pesan akan mirip dengan contoh berikut:
Dalam contoh respon di atas, /redfish/v1/TaskService/Tasks/d9674179-39e2-4842-8cbe-5d2ce477e49b adalah tugas baru yang baru saja dibuat. Anda dapat menggunakan metode Get untuk menanyakan status pembaruan dengan ID tugas.
URL yang diminta
https:// BMCIP /redfish/v1/TaskService/Tugas/ID
Contoh respons
- Nyalakan ulang server dan lakukan inventarisasi firmware lagi. Versi XCC akan diperbarui.
Anda juga dapat menggunakan metode POST untuk memulai ulang XCC.
URL yang diminta
https://BMCIP/redfish/v1/Manajer/1/Tindakan/Manajer.Reset
Isi yang diminta dari tindakan POST:
{"JenisReset":"MulaiUlangAnggun"}
# Nilai yang mungkin dari tipe reset XCC bisa berupa GracefulRestart/ForceRestart
Contoh respons
Respons JSON berikut akan dikembalikan:
Tidak ada