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.
58 lines
2.8 KiB
Markdown
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)
|