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
@@ -0,0 +1,498 @@
|
||||
[
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 34.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "CPU1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 37.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "CPU2 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 28.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "PCH Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 18.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "System Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 38.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "Peripheral Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 29.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "Vcpu1VRM Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 33.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "Vcpu2VRM Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 24.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "VmemABVRM Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 22.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "VmemCDVRM Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 35.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "VmemEFVRM Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 30.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "VmemGHVRM Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 25.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P1-DIMMA1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 24.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P1-DIMMB1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 25.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P1-DIMMC1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 22.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P1-DIMMD1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 26.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P2-DIMME1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 26.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P2-DIMMF1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 27.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P2-DIMMG1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Temperature",
|
||||
"value": 27.0,
|
||||
"imprecision": 0.5,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "°C",
|
||||
"name": "P2-DIMMH1 Temp"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Fan",
|
||||
"value": 6300.0,
|
||||
"imprecision": 50.0,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "RPM",
|
||||
"name": "FAN2"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Fan",
|
||||
"value": 6900.0,
|
||||
"imprecision": 50.0,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "RPM",
|
||||
"name": "FAN3"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Fan",
|
||||
"value": 6400.0,
|
||||
"imprecision": 50.0,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "RPM",
|
||||
"name": "FAN4"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Fan",
|
||||
"value": 5100.0,
|
||||
"imprecision": 50.0,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "RPM",
|
||||
"name": "FANB"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 12.0,
|
||||
"imprecision": 0.03149999999999942,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "12V"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 4.922000000000001,
|
||||
"imprecision": 0.013000000000000789,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "5VCC"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 3.35,
|
||||
"imprecision": 0.008500000000000174,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "3.3VCC"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 2.69,
|
||||
"imprecision": 0.0129999999999999,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "VBAT"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.818,
|
||||
"imprecision": 0.0044999999999999485,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "Vcpu1"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.818,
|
||||
"imprecision": 0.0044999999999999485,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "Vcpu2"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.2000000000000002,
|
||||
"imprecision": 0.0045000000000001705,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "VDIMMAB"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.2000000000000002,
|
||||
"imprecision": 0.0045000000000001705,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "VDIMMCD"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.2000000000000002,
|
||||
"imprecision": 0.0045000000000001705,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "VDIMMEF"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.2000000000000002,
|
||||
"imprecision": 0.0045000000000001705,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "VDIMMGH"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 4.896,
|
||||
"imprecision": 0.0129999999999999,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "5VSB"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 3.197,
|
||||
"imprecision": 0.008500000000000174,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "3.3VSB"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.5,
|
||||
"imprecision": 0.0044999999999999485,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "1.5V PCH"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.209,
|
||||
"imprecision": 0.0044999999999999485,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "1.2V BMC"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Voltage",
|
||||
"value": 1.05,
|
||||
"imprecision": 0.0044999999999999485,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "V",
|
||||
"name": "1.05V PCH"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Physical Security",
|
||||
"value": null,
|
||||
"imprecision": null,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "",
|
||||
"name": "Chassis Intru"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Power Supply",
|
||||
"value": null,
|
||||
"imprecision": null,
|
||||
"states": [
|
||||
"Present"
|
||||
],
|
||||
"state_ids": [
|
||||
552704
|
||||
],
|
||||
"unavailable": 0,
|
||||
"units": "",
|
||||
"name": "PS1 Status"
|
||||
},
|
||||
{
|
||||
"broken_sensor_ids": {},
|
||||
"health": 0,
|
||||
"type": "Power Supply",
|
||||
"value": null,
|
||||
"imprecision": null,
|
||||
"states": [],
|
||||
"state_ids": [],
|
||||
"unavailable": 0,
|
||||
"units": "",
|
||||
"name": "PS2 Status"
|
||||
}
|
||||
]
|
||||
Reference in new issue
Block a user