From 8b512b6e0d8dca0737c1a74b789a27e6dda4a472 Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Mon, 12 Oct 2026 23:42:14 +0000 Subject: [PATCH] Update README and references for the transport and parsers --- README.md | 19 +++++++++++++++++-- docs/references.md | 7 ++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2474955..6100000 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,12 @@ NAPALM driver for server **baseboard management controllers (BMCs)** over boards that predate Redfish. Built on [napalm-device-types](https://git.netork.io/NAPALM/napalm-device-types). Written for netOrk. -**Status: planning.** There is no code yet. This repository holds the design so far. The -first test device is a Supermicro X10DRL-i (BMC firmware 3.91, Redfish). +**Status: early development.** The HTTPS transport (`napalm_redfish/transport.py`) and pure +parsers for the Redfish resources in [docs/redfish-map.md](docs/redfish-map.md) +(`napalm_redfish/parsers/`) exist and are tested against DMTF mockups. The driver class and +its `napalm.drivers` entry point wait for the `ManagementControllerDriver` role base in +napalm-device-types. The first test device is a Supermicro X10DRL-i (BMC firmware 3.91, +Redfish). ## Why Redfish, and why not one driver per vendor @@ -60,6 +64,17 @@ These follow the other drivers in the `NAPALM` organisation: - `napalm-device-types` is not on PyPI: install it from `git+https://git.netork.io/NAPALM/napalm-device-types.git` before this package. +## Development + +```bash +python -m venv .venv && . .venv/bin/activate +pip install -e '.[test]' +pytest +``` + +Fixtures from the DMTF mockups live under `tests/fixtures/dmtf-/`, unmodified, with +the DMTF license and a `COMMANDS.txt` naming the source commit and request paths. + ## License Apache License 2.0, see [LICENSE](LICENSE). diff --git a/docs/references.md b/docs/references.md index e6d3a72..4b672d2 100644 --- a/docs/references.md +++ b/docs/references.md @@ -22,9 +22,10 @@ Collected 2026-10-13. | `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. +The transport uses the thin `redfish` client, which keeps quirk handling in this driver; +`sushy` brings an object model but also its own assumptions about Ironic's needs. Note that +the `redfish` library turns certificate verification off whenever it is not given a CA file, +so the transport always passes one when verification is on. ## Supermicro