ironic.drivers.modules.redfish.firmware module

class ironic.drivers.modules.redfish.firmware.RedfishFirmware(*args, **kwargs)[source]

Bases: FirmwareInterface

cache_firmware_components(task)[source]

Store or update Firmware Components on the given node.

This method stores Firmware Components to the firmware_information table during ‘cleaning’ operation. It will also update the timestamp of each Firmware Component.

Parameters:

task – a TaskManager instance.

Raises:

UnsupportedDriverExtension, if the node’s driver doesn’t support getting Firmware Components from bare metal.

get_properties()[source]

Return the properties of the interface.

Returns:

dictionary of <property name>:<property description> entries.

update(task, settings)[source]

Update the Firmware on the node using the settings for components.

Parameters:
  • task – a TaskManager instance.

  • settings – a list of dictionaries, each dictionary contains the component name and the url that will be used to update the firmware.

Raises:

UnsupportedDriverExtension, if the node’s driver doesn’t support update via the interface.

Raises:

InvalidParameterValue, if validation of the settings fails.

Raises:

MissingParamterValue, if some required parameters are missing.

Returns:

states.CLEANWAIT if Firmware update with the settings is in progress asynchronously of None if it is complete.

validate(task)[source]

Validates the driver information needed by the redfish driver.

Parameters:

task – a TaskManager instance containing the node to act on.

Raises:

InvalidParameterValue on malformed parameter(s)

Raises:

MissingParameterValue on missing parameter(s)