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).
53 lines
2.7 KiB
Markdown
53 lines
2.7 KiB
Markdown
# Supermicro X10 (first test device: X10DRL-i)
|
||
|
||
## Firmware
|
||
|
||
Supermicro shipped Redfish to X10 boards as a separate BMC firmware line, named
|
||
`REDFISH_X10_<version>`. For the X10DRL-i the latest is **3.91**
|
||
(`REDFISH_X10_391_20200806_unsigned.zip`) in Supermicro's download center. Other X10
|
||
boards have 3.86–3.90 from 2019–2020. Users report Redfish version 1.0.x on these
|
||
firmwares, so expect:
|
||
|
||
- the legacy `Chassis/{id}/Thermal` and `Power` resources, not `ThermalSubsystem`/`Sensors`,
|
||
- an older `ManagerNetworkProtocol` schema (NTP and SNMP details may be missing),
|
||
- fewer collections overall (storage details may be absent).
|
||
|
||
The X10 BMC firmware is unlikely to get further updates. For the driver that is useful
|
||
twice: it is the oldest Redfish the driver has to survive, and a real case for flagging
|
||
outdated BMC firmware in netOrk's vulnerability management.
|
||
|
||
Supermicro's **Redfish Reference Guide 1.0a** was published with the X10 Redfish firmware.
|
||
Supermicro's own HTML guide covers X12/H12 and later.
|
||
|
||
## Check before starting
|
||
|
||
```bash
|
||
# Service root, no login: Redfish version and available collections
|
||
curl -sk https://<bmc>/redfish/v1/ | python3 -m json.tool
|
||
# The managed server: model, serial, BIOS, power state
|
||
curl -sk -u <user>:<password> https://<bmc>/redfish/v1/Systems/1 | python3 -m json.tool
|
||
```
|
||
|
||
## Known Supermicro points (from memory, to verify on the device)
|
||
|
||
- 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).
|
||
- 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
|
||
|
||
The X10DRL-i also speaks IPMI 2.0 over LAN (UDP 623), so the `ipmi` fallback can be tested on
|
||
the same device, and so can the check that reports IPMI over LAN as enabled.
|