2023.1 Series (4.4.x) Release Notes


Bug Fixes

  • Fixes bug where sushy would not pass a read/connect timeout through to requests when making requests to a redfish service. This means that an ill-timed failure could cause python processes calling sushy to freeze indefinately.

  • Add TransferProtocolType for any general error that mentions it

  • In some cases registries might not be available because the our check for the registry language did not account for a possible country suffix. The logic was improved to take it into account.

  • Correctly handles errors on a request that is re-tried after refreshing an authentication token.

  • An issue was encountered on some HPE iLO supported machines where the Baseboard Management Controller would respond with a HTTP 400 error and an error message indicating the requested operation was invalid for the then system state. For example, attempting to change the power state via the BMC shortly after previously changing the power state. We now attempt to retry within the permitted number of retries when this error is encountered.


Bug Fixes

  • Fixes exceeding retries. Before this fix running sushy for longer it no longer retried for temporary failures when it should.

  • Fixes ‘Unsupported parameter name @Redfish.OperationApplyTime’ error on iDRAC firmware version or newer when deleting volumes.

  • Workaround for https://github.com/psf/requests/issues/3829 If the env REQUESTS_CA_BUNDLE is set the requests.Session() ignores the verify parameter. Therefore the verify parameter is moved directly into the function call of requests.


Bug Fixes

  • Adds an extra check for cases where the BMC provides a SettingsObject URI through @Redfish.Settings but this URI does not allow setting boot related attributes. Prior to sending a PATCH request to SettingsURI, a GET request is issued to verify if it contains the attributes to be updated. In case these attributes are missing, the request is made against System URI instead. Issues such as the one addressed with this change usually manifest themselves with a Redfish response containing an error message similar to the following: MessageId: Base.1.8.PropertyNotWritable, Message: The property BootSourceOverrideEnabled is a read only property and cannot be assigned a value.

  • Add retries on iDRAC error with code SYS518 and message “iDRAC is currently unable to display any information because data sources are unavailable.” for all request types in addition to existing GET methods. This helps to fix a known intermittent issue when deleting set of volumes one after another and iDRAC is reloading after deleting each volume.

  • Correctly handles error code Base.1.5.PropertyMissing when dealing with hardware that requires TransferProtocolType for virtual media operations.


New Features

  • Adds two new configuration options: server_side_retries allows to set a custom value for the number of times we should retry a GET request in case of a server error, defaults to 10; server_side_retries_delay allows to customize the time in seconds between the request retries, defaults to 3.

Bug Fixes

  • To avoid timeouts with recent versions of firmwares we need to increase the number of server side retries. For example, in idrac firmware series 5.x the time gap between operations is almost 20 seconds instead of the 10 seconds in the 4.x series.

  • 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.