The second IPMI poll of a BMC in the same worker process failed with "'<' not supported between instances of 'float' and 'NoneType'". pyghmi files a session in Session.initting_sessions under the credentials as str and deletes it only under bytes, so the entry stays and the next Command got the old, logged-out session back. The driver drops that entry itself before open() and after close(). Reproduced and verified live against the Supermicro X10DRL-i: three polls in one process now succeed. IpmiDriver and RedfishDriver mix in HealthMetricsMixin, so netOrk's SNMP health poll reads the BMC's own load, memory and interfaces where the BMC runs net-snmp with the UCD-MIB, as the X10's does.
41 lines
997 B
TOML
41 lines
997 B
TOML
[build-system]
|
|
requires = ["setuptools>=64"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "napalm-redfish"
|
|
version = "0.2.1"
|
|
description = "NAPALM driver for server baseboard management controllers over DMTF Redfish"
|
|
readme = "README.md"
|
|
license = { file = "LICENSE" }
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"napalm>=5.0",
|
|
# Not on PyPI: install from git before this package (see README).
|
|
"napalm-device-types>=4.8",
|
|
"redfish>=3.2",
|
|
"pyghmi>=1.5",
|
|
]
|
|
classifiers = [
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Programming Language :: Python :: 3",
|
|
"Topic :: System :: Hardware",
|
|
"Topic :: System :: Networking",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest>=7",
|
|
"responses>=0.23",
|
|
]
|
|
|
|
[project.entry-points."napalm.drivers"]
|
|
redfish = "napalm_redfish:RedfishDriver"
|
|
ipmi = "napalm_redfish.ipmi:IpmiDriver"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["napalm_redfish*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|