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

2.8 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[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)