Files
napalm-redfish/CHANGELOG.md
T
christianmanivong bfbeb19255 fix: group alternative fingerprint rules (0.1.2)
One Redfish answer (the service root or the error a service refuses it
with) and one landing page (Supermicro/ATEN, iDRAC or iLO) can match,
never all of them. Grouped, the driver's maximum in netOrk's discovery
is 21 instead of 41, and a Supermicro landing page alone (6 of 21)
outranks the "linux" its BMC reports over SNMP (5 of 18).

Requires napalm-device-types 4.8 for FingerprintRule.group.
2026-10-13 10:19:56 +02:00

58 lines
2.8 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.1.2] - 2026-10-13
### Fixed
- The fingerprint rules are grouped into alternatives (one Redfish answer, one landing
page), so discovery's maximum for this driver is 21, not 41. With every alternative
summed, a Supermicro landing page (6 of 41) lost to a bare "linux" in the BMC's own
SNMP sysDescr (5 of 18). Requires napalm-device-types 4.8.
## [0.1.1] - 2026-10-13
### Fixed
- Discovery no longer takes every device with an open HTTPS port for a BMC: the
`PortSpec` for 443 carries no weight, so a switch's web UI scores nothing.
- A BMC that refuses Redfish for want of a vendor license (Supermicro X10 without SUM,
DCMS or OOB answers even `GET /redfish/v1/` with 403 `OemLicenseNotPassed`) now fails
`open()` with `RedfishLicenseError` naming the licenses, not with a bare status code.
### Added
- Fingerprint rules for the BMC web UIs netOrk's discovery already fetches: Supermicro
X9-X11 (ATEN firmware), iDRAC, iLO. A rule for a Redfish error body
(`@message.extendedinfo`) for when discovery reads the service root.
- Recorded fixtures from a Supermicro X10DRL-i (BMC 3.91, unlicensed).
## [0.1.0] - 2026-10-13
### Added
- `redfish` NAPALM driver (`RedfishDriver`) on `ManagementControllerDriver` from
napalm-device-types 4.7, registered as the `napalm.drivers` entry point `redfish`
- NAPALM getters for the BMC: `get_facts`, `get_interfaces`, `get_interfaces_ip`,
`get_environment` (fans, temperatures, power supplies; `cpu` and `memory` empty),
`get_users`, `get_ntp_servers`, `get_snmp_information`
- Role methods for the managed server: `get_power_state`, `set_power_state`,
`get_hardware_inventory`, `get_event_log`, `get_firmware_inventory`,
`get_management_protocols`; `reboot_host` resets the BMC (`Manager.Reset`)
- HTTPS transport on the DMTF `redfish` library: Redfish session login with the session
deleted on close, basic auth fallback only when sessions are unsupported, certificate
verification on by default (`verify_ssl` accepts a CA file), collections followed by
`@odata.id` including `nextLink` pages, links to other hosts refused
- Environment from `ThermalSubsystem`/`PowerSubsystem`/`Sensors` where present, legacy
`Thermal`/`Power` otherwise
- Pure parsers for every resource in `docs/redfish-map.md`
- Tests against DMTF Redfish mockups (public-rackmount1, public-localstorage,
public-telemetry) over mocked HTTP
### Known limitations
- Not yet run against real hardware; Supermicro X10 behaviour is from the design notes
- No `ipmi` fallback driver yet
- `get_config` is not implemented (a BMC has no configuration file)