Current Series Release Notes¶
5.14.0-17¶
New Features¶
Adds support for AccountService and manager Accounts.
Adds a
last_reset_timeattribute to the System object. It maps to the RedfishLastResetTimeproperty, the date and time when the system was last reset or rebooted.
Expands the
EthernetInterfacesdefinitions with fields relevant for Manager NICs, such as DHCP information and IP addresses.
Exposes the Manager’s HostInterface resource.
Adds support for Manager’s
NetworkProtocolobject.
Adds low-level
delete,patch, andpostmethods to BaseResource. More specific methods should still be preferred.
Bug Fixes¶
The
ReadOnlyproperty of an attribute registry entry is now read whatever case a vendor uses for it. Dell’s manager and BIOS attribute registries spell itReadonly, so every entry from an iDRAC previously reportedread_onlyasNonerather than saying whether the attribute could be changed.
Avoid sending a null
HttpBootUriwhen the Redfish Settings resource advertises the property with an empty value. The URI is already unset, and some controllers reject the unnecessary PATCH.
Fixes
AttributeError: 'str' object has no attribute 'get'during error handling. This occurs when a service returns an error response whose JSON body is not an object (for example, a plain string ornull) instead of a Redfish error object.
Fix virtual media payload for improved compatibility with iDRAC10
Adds the
Resetvalue to thePowerStateenumeration. HPE iLO reports it while a system is resetting. It is documented by HPE but is not in the Redfish schema, so until nowpower_statewas left unset for the whole reset. Affects ProLiant Gen10, Gen10 Plus and Gen11.
When the
@Redfish.Settingsannotation of a BIOS or storage controller resource does not include anETag, the HTTP ETag of theSettingsObjectis now read when the resource is loaded or refreshed (refresh()with the defaultforce=True), and used asIf-Matchwhen updating settings. This fixes BIOS updates on BMCs that requireIf-Matchand reject requests without it with HTTP 428, such as the AMI-based BMC of Cisco UCS C880 servers. See bug 2169279.
A
LastResetTimevalue that cannot be parsed no longer makes the System resource unusable. Thelast_reset_timeattribute is set toNoneinstead. This affected Dell iDRAC, which reports0000-00-00T00:00:00+00:00while the host is powered off. See bug 2172255 for details.
Virtual media devices now report their supported media types on BMCs that name the
MediaTypespropertyMediaType, such as Fujitsu iRMC S5 with firmware 3.54P. Previouslymedia_typeswas empty on these BMCs, so Ironic found no device to insert an ISO into. The misnamed property is only used whenMediaTypesis missing.
5.14.0¶
New Features¶
Adds per-job status to the Dell OEM Lifecycle Controller job collection. Individual jobs can now be read as
DellJobresources that expose their state and message and report whether the job has finished and whether it failed, so callers can tell a successful job from a failed one and see why it failed. Previously only the list of unfinished job identities was available;get_unfinished_jobs()keeps its existing behaviour.
Upgrade Notes¶
DellJobCollection.get_unfinished_jobsnow returns jobs in any non-terminal state rather than onlyScheduled,RunningandPaused. Callers using it to decide whether the BMC is busy will see it report busy in more situations, which is the intended and more conservative behaviour. Callers using it to decide whether a specific job has finished will now get a correct answer for staged firmware jobs.
sushy.oem.dell.constants.INCOMPLETE_JOB_STATESis deprecated. It is an allowlist of only some of the incomplete job states and cannot be used to determine whether a job has finished. It is retained for backward compatibility but is no longer used internally; usesushy.oem.dell.constants.TERMINAL_JOB_STATESinstead.
Bug Fixes¶
Fixes
DellJobCollection.get_unfinished_jobsreporting a job as finished while the Lifecycle Controller was still working on it. The method matched an allowlist of three “incomplete” states (Scheduled,RunningandPaused), so a job in any other non-terminal state was silently omitted from the result. This notably affectedUserIntervention, which iDRAC reports for firmware that has been staged but not yet flashed during POST, and which is not present in this library’sJobStateenumeration at all. Callers polling for job completion could conclude that a firmware update had been applied when the flash had not started. The check is now inverted: only the terminal states listed insushy.oem.dell.constants.TERMINAL_JOB_STATEScount as finished, and any state the library does not recognise is treated as unfinished.
Fixes Sushy trying to access non-existing
/emptyURL when PCIe functions are not supported by the BMC. MissingAttributeError is raised instead (as documented).The code tries to return an empty collection instead of raising MissingAttributeError as any other accessors. However, it did not work in reality. Instead, out-of-band inspection would fail with
ResourceNotFoundError: Resource https://<host>/empty not found.
Fixes getting the supported reset types from services that publish them in an
ActionInforesource, referenced by the system reset action’s@Redfish.ActionInfoannotation, instead of annotating them inline. On such systems every reset type was previously assumed to be supported.
Postpones Redfish message registries download and processing when accessing task monitors.