Current Series Release Notes

5.14.0-17

New Features

  • Adds support for AccountService and manager Accounts.

  • Adds a last_reset_time attribute to the System object. It maps to the Redfish LastResetTime property, the date and time when the system was last reset or rebooted.

  • Expands the EthernetInterfaces definitions with fields relevant for Manager NICs, such as DHCP information and IP addresses.

  • Exposes the Manager’s HostInterface resource.

  • Adds support for Manager’s NetworkProtocol object.

  • Adds low-level delete, patch, and post methods to BaseResource. More specific methods should still be preferred.

Bug Fixes

  • The ReadOnly property of an attribute registry entry is now read whatever case a vendor uses for it. Dell’s manager and BIOS attribute registries spell it Readonly, so every entry from an iDRAC previously reported read_only as None rather than saying whether the attribute could be changed.

  • Avoid sending a null HttpBootUri when 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 or null) instead of a Redfish error object.

  • Fix virtual media payload for improved compatibility with iDRAC10

  • Adds the Reset value to the PowerState enumeration. HPE iLO reports it while a system is resetting. It is documented by HPE but is not in the Redfish schema, so until now power_state was left unset for the whole reset. Affects ProLiant Gen10, Gen10 Plus and Gen11.

  • When the @Redfish.Settings annotation of a BIOS or storage controller resource does not include an ETag, the HTTP ETag of the SettingsObject is now read when the resource is loaded or refreshed (refresh() with the default force=True), and used as If-Match when updating settings. This fixes BIOS updates on BMCs that require If-Match and reject requests without it with HTTP 428, such as the AMI-based BMC of Cisco UCS C880 servers. See bug 2169279.

  • A LastResetTime value that cannot be parsed no longer makes the System resource unusable. The last_reset_time attribute is set to None instead. This affected Dell iDRAC, which reports 0000-00-00T00:00:00+00:00 while the host is powered off. See bug 2172255 for details.

  • Virtual media devices now report their supported media types on BMCs that name the MediaTypes property MediaType, such as Fujitsu iRMC S5 with firmware 3.54P. Previously media_types was empty on these BMCs, so Ironic found no device to insert an ISO into. The misnamed property is only used when MediaTypes is 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 DellJob resources 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_jobs now returns jobs in any non-terminal state rather than only Scheduled, Running and Paused. 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_STATES is 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; use sushy.oem.dell.constants.TERMINAL_JOB_STATES instead.

Bug Fixes

  • Fixes DellJobCollection.get_unfinished_jobs reporting a job as finished while the Lifecycle Controller was still working on it. The method matched an allowlist of three “incomplete” states (Scheduled, Running and Paused), so a job in any other non-terminal state was silently omitted from the result. This notably affected UserIntervention, which iDRAC reports for firmware that has been staged but not yet flashed during POST, and which is not present in this library’s JobState enumeration 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 in sushy.oem.dell.constants.TERMINAL_JOB_STATES count as finished, and any state the library does not recognise is treated as unfinished.

  • Fixes Sushy trying to access non-existing /empty URL 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 ActionInfo resource, referenced by the system reset action’s @Redfish.ActionInfo annotation, 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.