ironic.drivers.modules.irmc.bios module

iRMC BIOS configuration specific methods

class ironic.drivers.modules.irmc.bios.IRMCBIOS(*args, **kwargs)[source]

Bases: ironic.drivers.base.BIOSInterface

apply_configuration(task, settings)[source]

Applies BIOS configuration on the given node.

This method takes the BIOS settings from the settings param and applies BIOS configuration on the given node. After the BIOS configuration is done, self.cache_bios_settings() may be called to sync the node’s BIOS-related information with the BIOS configuration applied on the node. It will also validate the given settings before applying any settings and manage failures when setting an invalid BIOS config. In the case of needing password to update the BIOS config, it will be taken from the driver_info properties.

Parameters
  • task – a TaskManager instance.

  • settings – Dictionary containing the BIOS configuration. It may be an empty dictionary as well.

Raises

IRMCOperationError,if apply bios settings failed.

cache_bios_settings(task)[source]

Store or update BIOS settings on the given node.

This method stores BIOS properties to the bios settings db

Parameters

task – a TaskManager instance.

Raises

IRMCOperationError,if get bios settings failed.

Returns

None if it is complete.

factory_reset(task)[source]

Reset BIOS configuration to factory default on the given node.

Parameters

task – a TaskManager instance.

Raises

UnsupportedDriverExtension, if the node’s driver doesn’t support BIOS reset.

get_properties()[source]

Return the properties of the interface.

supported = False
validate(task)[source]

Validate the driver-specific Node info.

This method validates whether the ‘driver_info’ property of the supplied node contains the required information for this driver to manage the BIOS settings of the node.

Parameters

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

Raises

InvalidParameterValue if required driver_info attribute is missing or invalid on the node.

Raises

MissingParameterValue if a required parameter is missing in the driver_info property.