feat: read-only IPMI driver; report a missing Redfish license (0.2.0)
A Supermicro X10DRL-i refuses Redfish without a license (SUM, DCMS or
OOB), even the service root. IPMI answers without one.
- New entry point `ipmi` (napalm_redfish.ipmi.IpmiDriver) on
ManagementControllerDriver, over pyghmi: facts and inventory from the
FRU (serial number, system UUID), the BMC's LAN interface, sensors
(temperatures, fans, power supplies), the power state, the event log
and the BMC firmware. Read-only: no power control, no BMC reset.
Tested against recordings of the X10 with serials, the UUID, MACs and
IPs replaced.
- RedfishDriver.open() no longer fails on a license refusal: get_facts
returns what is known without Redfish, get_device_warnings reports
bmc_license_required with the licenses the BMC names, every other
getter raises. netOrk then shows the reason instead of an offline BMC.
- IpmiDriver is not exported from the package: NAPALM's own
get_network_driver("redfish") takes the first driver class of
napalm_redfish.
This commit is contained in:
1 parent
bfbeb19255
commit
332e6090a7
17 files changed
+1194
-19
No files matched your search
@@ -5,11 +5,17 @@ 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: early development.** The `redfish` driver (`napalm_redfish.RedfishDriver`, a
|
||||
`ManagementControllerDriver` from napalm-device-types) implements the NAPALM getters and
|
||||
the role methods in [docs/redfish-map.md](docs/redfish-map.md), tested end to end against
|
||||
DMTF mockups. It has not yet run against real hardware; the first test device is a
|
||||
Supermicro X10DRL-i (BMC firmware 3.91, Redfish). The `ipmi` fallback does not exist yet.
|
||||
**Status: early development.** Two drivers, both `ManagementControllerDriver`s from
|
||||
napalm-device-types:
|
||||
|
||||
- `redfish` (`napalm_redfish.RedfishDriver`) implements the NAPALM getters and the role
|
||||
methods in [docs/redfish-map.md](docs/redfish-map.md), tested end to end against DMTF
|
||||
mockups. A BMC that refuses Redfish for want of a vendor license (a Supermicro X10
|
||||
without SUM, DCMS or OOB) still opens: the driver reports `bmc_license_required` through
|
||||
`get_device_warnings` instead of failing.
|
||||
- `ipmi` (`napalm_redfish.ipmi.IpmiDriver`) reads over IPMI 2.0 only: FRU facts and
|
||||
inventory, sensors, power state, event log, BMC firmware. Tested against recordings of a
|
||||
Supermicro X10DRL-i (BMC 3.91), which refuses Redfish without a license.
|
||||
|
||||
## Why Redfish, and why not one driver per vendor
|
||||
|
||||
@@ -23,7 +29,7 @@ RAKP handshake hands the password hash to anyone who asks (CVE-2013-4786), so ne
|
||||
not depend on it. Finding IPMI over LAN enabled is itself worth reporting, see
|
||||
[docs/security.md](docs/security.md).
|
||||
|
||||
## Layout (planned)
|
||||
## Layout
|
||||
|
||||
| Entry point | Transport | Scope |
|
||||
|---|---|---|
|
||||
|
||||
Reference in new issue
Block a user