fix: read a Supermicro X10 with only the OOB license over Redfish (0.3.1)

First run against real hardware over Redfish: an X10DRL-i (BMC 3.91) with
SFT-OOB-LIC. Its Redfish tree is recorded under
tests/fixtures/supermicro-x10drl-i-3.91/redfish, scrubbed.

- A resource refused for want of a further license (403 OemLicenseNotPassed)
  no longer fails the getter. Storage then falls back to SimpleStorage. The
  firmware list falls back to the BMC and BIOS versions when UpdateService
  is withheld.
- get_device_warnings reports bmc_license_partial with the licenses and the
  withheld parts (drives, firmware inventory).
- A placeholder system model ("Super Server") is replaced by the board
  (PartNumber, else the chassis model).
This commit is contained in:
Christian Manivong committed 2026-10-17 09:32:09 +02:00
1 parent 6c60f7ac60
commit adf152ee12
78 files changed
+3237 -24

No files matched your search

+11 -3
View File
@@ -33,9 +33,17 @@ curl -sk -u <user>:<password> https://<bmc>/redfish/v1/Systems/1 | python3 -m js
- Older Supermicro BMCs shipped with `ADMIN`/`ADMIN`; newer ones have a unique password on
a label. A BMC still on `ADMIN`/`ADMIN` is a test case for netOrk's default-credential
audit (NetOrk/netork#141).
- Some out-of-band features (BIOS update and BIOS settings through the BMC) need a
Supermicro license (SFT-OOB-LIC / SFT-DCMS-SINGLE). Reading and power control should not.
Which resources the X10 omits without a license shows up in the recorded responses.
- Verified on the X10DRL-i (3.91): **without any license Redfish is refused altogether**, even
the service root (403 `OemLicenseNotPassed`, naming SUM DCMS OOB). **With SFT-OOB-LIC**
the service root, systems, processors, memory, chassis, thermal, power, managers, network
protocol, accounts and logs answer, and so does `ComputerSystem.Reset`. `Systems/1/Storage`
and `UpdateService` still want DCMS (SFT-DCMS-SINGLE); the driver then reads no drives,
takes the BMC and BIOS versions from `Managers/1` and `Systems/1`, and reports
`bmc_license_partial`. `SimpleStorage` answers but is empty.
- `Systems/1.Model` is "Super Server" on every board; the board is `Systems/1.PartNumber` and
`Chassis/1.Model`, which the driver reports as the model instead.
- The system UUID over Redfish is the server's SMBIOS UUID (MAC-based on the X10), unlike the
IPMI FRU UUID.
- Vendor-specific data sits under `Oem.Supermicro` in several resources.
## IPMI on the same board