When a BMC is unreachable, sushy would wait up to 60 seconds per connection attempt before timing out. This can cause significant delays in scenarios where nodes are being deleted with invalid BMC addresses. This change adds two new parameters to the Sushy class: - read_timeout: HTTP read timeout in seconds (default: 60, unchanged from previous behavior) - connect_timeout: TCP connection timeout in seconds (default: None) When connect_timeout is specified, sushy uses separate timeouts for establishing the TCP connection versus waiting for response data. This allows faster failure when a BMC is unreachable (e.g., 10s) while still allowing longer read timeouts for slow BMCs (e.g., 60s). The change is fully backwards compatible - existing code works unchanged, and the new parameters are opt-in. Assisted-By: Claude Sonnet 4.5 Change-Id: Ib9fa5ea0decf20768dc92abd8e7512187e80e353 Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
Overview
Sushy is a Python library to communicate with Redfish based systems.
The goal of the library is to be extremely simple, small, have as few dependencies as possible and be very conservative when dealing with BMCs by issuing just enough requests to it (BMCs are very flaky).
Therefore, the scope of the library has been limited to what is supported by the OpenStack Ironic project. As the project grows and more features from Redfish are needed we can expand Sushy to fulfill those requirements.
- Free software: Apache license
- Includes Redfish registry files licensed under
-
Creative Commons Attribution 4.0 License: https://creativecommons.org/licenses/by/4.0/
- Documentation: https://docs.openstack.org/sushy/latest/
- Usage: https://docs.openstack.org/sushy/latest/reference/usage.html
- Source: https://opendev.org/openstack/sushy
- Bugs: https://bugs.launchpad.net/sushy
- Release Notes: https://docs.openstack.org/releasenotes/sushy/
Description
Languages
Python
100%