docs: design notes for a Redfish/IPMI BMC driver

No code yet. The README explains why one Redfish driver with vendor quirk
modules beats a Supermicro-only IPMI driver, and keeps IPMI over LAN as a
read-only fallback. docs/ holds a draft for a new ManagementController
role base in napalm-device-types, the getter-to-resource map, the first
test device (Supermicro X10DRL-i, Redfish firmware 3.91), the security
points (IPMI RAKP hash disclosure, power control, credentials) and the
test plan with DMTF mockups and fixtures to record.
This commit is contained in:
Christian Manivong committed 2026-10-13 01:15:57 +02:00
commit 5f8a4ef975
9 files changed
+557

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
# References
Collected 2026-10-13.
## Standards and DMTF tools
| What | URL |
|---|---|
| DMTF Redfish standards page (specification, schemas, DSP2043 mockups) | https://www.dmtf.org/standards/redfish |
| Redfish publications (schemas, mockups) on GitHub | https://github.com/DMTF/Redfish-Publications |
| Redfish-Mockup-Server | https://github.com/DMTF/Redfish-Mockup-Server |
| Redfish-Mockup-Server Docker image | https://hub.docker.com/r/dmtf/redfish-mockup-server |
| Redfish-Service-Validator | https://github.com/DMTF/Redfish-Service-Validator |
| Redfish-Interop-Validator | https://github.com/DMTF/Redfish-Interop-Validator |
## Libraries
| Library | Use | License | Status (2026-10) |
|---|---|---|---|
| `redfish` (DMTF python-redfish-library) | thin Redfish client: sessions, GET/POST | BSD-3-Clause | release 3.4.1, 2026-10-09 |
| `sushy` (OpenStack) | object-model Redfish client | Apache-2.0 | active |
| `sushy-tools` (OpenStack) | Redfish emulator for tests | Apache-2.0 | active |
| `pyghmi` | IPMI over LAN, pure Python | Apache-2.0 | release 1.6.19, 2026-07-13 on PyPI (the GitHub mirror is archived) |
Choosing between the thin `redfish` client and `sushy` is open. The thin client keeps
quirk handling in this driver; `sushy` brings an object model but also its own assumptions
about Ironic's needs.
## Supermicro
| What | URL |
|---|---|
| BMC firmware for X10DRL-i (REDFISH_X10 3.91) | https://supermicro.com/en/support/resources/downloadcenter/firmware/MBD-X10DRL-i/BMC |
| Redfish Reference Guide (HTML, X12/H12 and later) | https://www.supermicro.com/manuals/other/redfish-ref-guide-html/ |
| Redfish Reference Guide 1.0a for X10 (third-party mirror) | https://update.shared.it/SUPERMICRO/X10DRL-I/IPMI/REDFISH_X10_327/Redfish_Ref_Guide_1%200a.pdf |
## Security
- CVE-2013-4786: IPMI 2.0 RAKP password hash disclosure.
## netOrk
- Discovery already fingerprints `idrac` and `ilo` by HTTP (`netork/jobs/tasks/discovery.py`),
without a driver. Supermicro BMCs are not fingerprinted yet.
- Default-credential audit: NetOrk/netork#141.
- Reachability recovery (a hung host could be power-cycled through its BMC): NetOrk/netork#938.