Wallaby Series (3.5.0 - 3.7.x) Release Notes


Bug Fixes

  • Makes the unstripped version of an Etag available in addition to the stripped one in order to support vendor implementations which require one or the other.


Bug Fixes

  • Changing boot device string for virtual media from “Cd” to “UsbCd” on SuperMicro machines to match their specific naming convention.

  • If available, uses headers with an Etag to set the boot options.

  • Fixes issues with the refresh of Session based authentication where a previous refresh attempt failing could result in a fallback to Basic authentication and would silently fail. The client library now attempts to re-authenticate.

  • Fixes silent failures when a refresh of an authentication Session fails and was unable to be re-established due to an AccessError. Should this occur, now the AccessError exception is explicitly raised as opposed to attempting to fall back to Basic authentication.

  • Fixes issues where the Session and Basic auth interface would fallback to Basic authentication should a ConnectionError exception occur while attempting to perform an authentication action. ConnectionError exceptions are signs of networking transport issues, and should be investigated. A ConnectionError exception is now raised.

  • Prevents the combined Session and Basic authentication support from falling back to Basic authentication once Session based authentication has been established. This should be considered a potential security issue or an environmental change requiring potential client re-initialization. This is exposed as an AccessError exception. Continued operations against the Sushy library will attempt to reauthenticate, if possible.

  • Resolved virtualmedia attach failures caused by the lack of TransferProtocolType parameter in the request payload which is required by certain BMCs (e.g. on Nokia servers). This is done by adding capability to retry virtualmedia InsertMedia with the updated payload in such cases.

  • Fixes incompatibility with BMCs that require use of a specific SettingsObject URI specified in @Redfish.Settings resource in order to set BootSourceOverride or similar attributes. For example, this is required on Nokia servers.


Upgrade Notes

  • “Inserted” and “WriteProtected” optional attributes are no longer present in the InsertMedia API call payload when default values {“Inserted”: True, “WriteProtected”: True} are specified by the consumer (e.g. Ironic) and PATCH method of configuring virtual media is not used. Behaviour is unchanged if PATCH method is used.

Bug Fixes

  • Removing “Inserted” and “WriteProtected” parameters from the Redfish VirtualMedia::insert_media() API call payload when default values {“Inserted”: True, “WriteProtected”: True} are set and PATCH method is not used. Those parameters are optional as per Redfish schema 2021.1. Some BMCs (e.g. SuperMicro X11/X12 platforms) treat these fields as read-only and setting them causes vMedia insert failures. These attributes should default to True on the BMC side. Some BMCs using PATCH method of configuring virtual media (e.g. Lenovo SD530) still require “Inserted” attribute, so only changing this for non-PATCH methods of configuring virtual media such as InsertMedia action.

  • Fixes Processor.sub_processors for “‘Processor’ object has no attribute ‘conn’” error.


Bug Fixes

  • Adds a fallback for inserting and ejecting virtual media using the PATCH HTTP request instead of the explicit action URIs. The fallback is required for Lenovo ThinkSystem machines (i.e. SD530, ..) that only implement the PATCH method.


New Features

  • Adds new method get_task_monitor to retrieve TaskMonitor instance by task monitor URI.

  • Adds support for fetching and resetting individual UEFI secure boot databases.

Deprecation Notes

  • Existing two TaskMonitor-s are deprecated and replaced with one taskmonitor.TaskMonitor.

    For resources.task_monitor.TaskMonitor users changes include:

    • in_progress is replaced with method check_is_processing

    • location_header is replaced with method task_monitor_uri

    • there is no replacement for set_retry_after, taskmonitor.TaskMonitor sets this internally from Retry-After header

    For resources.taskservice.taskmonitor.TaskMonitor users changes include:

    • check_is_processing, sleep_for and static get_task_monitor added.

    • in __init__ parameter field_data is deprecated, use response

    • in __init__ parameter task_monitor is renamed to task_monitor_uri

    • task_monitor is deprecated, use task_monitor_uri

    • retry_after is deprecated, use sleep_for

    Methods create_volume, delete_volume, initialize_volume in volume module are deprecated and replaced with ones named create, delete and initialize. New methods for asynchronous operations return taskmonitor.TaskMonitor instead of deprecated resources.task_monitor.TaskMonitor.

    Method resources.updateservice.UpdateService.get_task_monitor is deprecated, use Sushy.get_task_monitor instead.

Bug Fixes

  • Automatically retries internal server errors from GET requests.


Bug Fixes

  • Fixes AttributeError: 'str' object has no attribute 'get' during error handling. This occurs when BMC does not return a list of messages inside @Message.ExtendedInfo, but a single item. This has been observed with iDRAC.

  • Fixes issues in the volume module where the first parameter passed to the TaskMonitor constructor was incorrect. The parameter passed was the resource object (self), but it should have been the connector object (self._conn). This affected the create_volume() and delete_volume() methods.


New Features

  • Adds initial support for the TaskService resource to the library. TaskService is responsible for managing tasks.

  • Update the create_volume method in the VolumeCollection class and the delete_volume and initialize_volume methods in the Volume class to take optional apply_time and timeout keyword parameters. This allows the caller of those volume methods to specify a preferred OperationApplyTime annotation and a maximum timeout for synchronous operations. For asynchronous operations, those three methods will now return a TaskMonitor instance that the caller can use to monitor the state of the task.

  • Adding a new attribute task_uri to monitor redfish firmware update since some vendors(ilo) does not provide appropriate response with task_monitor uri.

  • Adds support for UEFI secure boot: reading the current status, enabling or disabling secure boot, resetting keys.

Deprecation Notes

  • The supported_values property in the OperationApplyTimeSupportField class is deprecated. Use the mapped_supported_values property instead. The mapped_supported_values property uses the MappedListField type to map the Redfish schema-defined enumeration values to constants exposed by the Sushy package.

Bug Fixes

  • Fixes an issue in the Connector class where an exception is not raised when an asynchronous operations fails.


Bug Fixes

  • Fixes an issue in performing action #Bios.ResetBios when no body in POST request provided and BMC responds with HTTP 400 Bad request, for example, Dell R630 having iDRAC See story 2008198 for details.

  • The Actions field in the Volume resource was incorrectly specified as being required. This fix makes the field optional.

  • Makes message parsing more resilient by handling the case where the message ID only contains a message key and no registry name. In this case, fall back to the Messages message registry file and then to the BaseMessages message registry file. If the message ID cannot be found, then set the message to unknown. When parsing messages, if not enough arguments were supplied, then fill in the remaining arguments with unknown.

  • Reduce the logging from sushy by logging only attributes and values set in the redfish response, not the entire json.