feat: report the licenses a BMC asks for as facts (0.5.0)

get_licenses (napalm-device-types LicenseMixin, 4.15) on redfish and bmc,
for NetOrk/netork#1111.

- A BMC that refuses Redfish altogether reports each license it names as
  missing, with its message.
- One that answers but withholds parts reports the license with withholds,
  e.g. DCMS withholding drives and the firmware inventory on an X10 with
  only SFT-OOB-LIC.
- ipmi knows no licenses.

get_device_warnings keeps its two codes until netOrk derives them.
This commit is contained in:
Christian Manivong committed 2026-10-17 11:32:59 +02:00
1 parent e9ad7951cd
commit 5b24675a12
9 files changed
+86 -7

No files matched your search

+4
View File
@@ -44,6 +44,10 @@ reads more than IPMI: CPUs, DIMMs, NICs, power draw, the BIOS version, the SMBIO
with DCMS also its drives and firmware inventory. `optional_args`: those of `redfish`, plus
`ipmi_port` (623).
`get_licenses()` (`redfish`, `bmc`) reports the licenses the BMC asks for as facts:
`{"name": "DCMS", "status": "missing", "withholds": ["drives", "firmware inventory"]}`.
Whether that is worth a warning is the caller's to decide.
Vendor quirks (Supermicro, Dell, HPE, Lenovo) live in one module per vendor, selected from
the service root's `Vendor`/`Oem` data and `Manager.Model`. No separate entry point per
vendor.