Problem
In misc/cfg-dhcp-redfish-bmcs-by-switch.py, checkfish() creates a blocking pyghmi.util.webclient.SecureHTTPConnection without passing any timeout. A blackholed or unresponsive BMC can hang a worker thread indefinitely.
With ThreadPoolExecutor, enough stuck probes can exhaust the worker pool and prevent queued probes from starting, keeping the script from ever leaving the executor block. This is especially risky in a provisioning path on degraded BMC networks.
Recommendation
- Pass an explicit short timeout to the webclient/socket layer in
checkfish()
- Set a bounded overall probe deadline on the executor
- Cancel or fail outstanding futures before proceeding to node/DHCP mutations
Problem
In
misc/cfg-dhcp-redfish-bmcs-by-switch.py,checkfish()creates a blockingpyghmi.util.webclient.SecureHTTPConnectionwithout passing any timeout. A blackholed or unresponsive BMC can hang a worker thread indefinitely.With
ThreadPoolExecutor, enough stuck probes can exhaust the worker pool and prevent queued probes from starting, keeping the script from ever leaving the executor block. This is especially risky in a provisioning path on degraded BMC networks.Recommendation
checkfish()