We are pumped to announce the release of: sushy 3.7.6: Sushy is a small Python library to communicate with Redfish based systems This release is part of the wallaby stable release series. The source is available from: https://opendev.org/openstack/sushy Download the package from: https://tarballs.openstack.org/sushy/ Please report issues through: https://storyboard.openstack.org/#!/project/openstack/sushy For more details, please see below. 3.7.6 ^^^^^ Bug Fixes * Fixes potential cases where exceptions from the underlying "requests" library may be raised up through "sushy", resulting in client applications possibly not understanding that an error has occurred. The sushy "ConnectionError" exception is now returned upon any exception falling under "RequestException" from the "requests" library. * Fixes unreliable behavior with ETag interactions with some BMCs as opportunistic use of compressed responses may cause the BMC to change an ETag response to "Weak", which is to be expected as an ETag represents an absolute byte-by-byte response consistency, and compression cannot reliably honor that contract. Introduction of a client perceiving a "Weak" ETag may not be expected by the server, and the server may reject responses because the ETag is not a "Strong" ETag when we respond or interact with a resource. As a result, requests no longer offer oppurtunistic compression of responses as an acceptable possibility, which overall has minimal impact, espescially when compared to the value of consistent BMC behavior and interaction. * Fixes an issue in the sushy connector object handling where a Sushy client utilizing "basic" authentication would not raise an AccessError exception once the credentials stopped working. We now explicitly check to see if "basic" authentication is in use, and raise the exception if an AccessError is encountered. * Alters eTag handling in PATCH requests: First, the original eTag is used. In case of a failure, if the eTag provided was weak, it is converted to a strong format by removing the weak prefix. If this approach is not applicable or fails, the final attempt is made omitting the eTag entirely. By taking this approach, no workarounds are applied if BMC is handling eTags as expected and in case of failures, known workarounds are attempted, improving overall resiliency. Changes in sushy 3.7.5..3.7.6 ----------------------------- 9b3cf44 Improve resiliency of eTag handling a91e086 Capture requests errors cff4cc1 Do not send compression as acceptable encoding 73cbb51 Handle AccessError with Basic Auth instead of "reauth" Diffstat (except docs and test files) ------------------------------------- ...neral-requests-exceptions-b5fd706597708fb6.yaml | 8 + ...ffer-compression-encoding-884ca8a7458cb096.yaml | 16 ++ ...-basic-auth-access-errors-393b368b31f5cad2.yaml | 9 + .../notes/releasenote-d7138d1e1d414632.yaml | 10 + sushy/auth.py | 1 + sushy/connector.py | 120 ++++++++++- sushy/main.py | 1 - sushy/resources/base.py | 17 +- sushy/resources/system/system.py | 5 +- .../unit/resources/manager/test_virtual_media.py | 4 +- 12 files changed, 396 insertions(+), 41 deletions(-)