ironic.drivers.modules.drac.vendor_passthru module

DRAC vendor-passthru interface

class ironic.drivers.modules.drac.vendor_passthru.DracRedfishVendorPassthru(*args, **kwargs)[source]

Bases: RedfishVendorPassthru

iDRAC Redfish interface for vendor_passthru.

Use the Redfish implementation for vendor passthru.

class ironic.drivers.modules.drac.vendor_passthru.DracVendorPassthru(*args, **kwargs)[source]

Bases: DracWSManVendorPassthru

Class alias of class DracWSManVendorPassthru.

This class provides ongoing support of the deprecated ‘idrac’ vendor passthru interface implementation entrypoint.

All bug fixes and new features should be implemented in its base class, DracWSManVendorPassthru. That makes them available to both the deprecated ‘idrac’ and new ‘idrac-wsman’ entrypoints. Such changes should not be made to this class.

class ironic.drivers.modules.drac.vendor_passthru.DracWSManVendorPassthru(*args, **kwargs)[source]

Bases: VendorInterface

Interface for DRAC specific methods.

abandon_bios_config(task, **kwargs)[source]

Abandon a BIOS configuration job.

This method is used to abandon a BIOS configuration previously submitted through set_bios_config().

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

  • kwargs – not used.

Raises:

DracOperationError on an error from python-dracclient.

commit_bios_config(task, reboot=False, **kwargs)[source]

Commit a BIOS configuration job.

This method is used to commit a BIOS configuration job. submitted through set_bios_config().

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

  • reboot – indicates whether a reboot job should be automatically created with the config job.

  • kwargs – not used.

Raises:

DracOperationError on an error from python-dracclient.

Returns:

A dictionary containing the job_id key with the id of the newly created config job, and the reboot_required key indicating whether the node needs to be rebooted to start the config job.

get_bios_config(task, **kwargs)[source]

Get the BIOS configuration.

This method is used to retrieve the BIOS settings from a node.

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

  • kwargs – not used.

Raises:

DracOperationError on an error from python-dracclient.

Returns:

a dictionary containing BIOS settings.

get_properties()[source]

Return the properties of the interface.

list_unfinished_jobs(task, **kwargs)[source]

List unfinished config jobs of the node.

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

  • kwargs – not used.

Returns:

a dictionary containing the unfinished_jobs key; this key points to a list of dicts, with each dict representing a Job object.

Raises:

DracOperationError on an error from python-dracclient.

set_bios_config(task, **kwargs)[source]

Change BIOS settings.

This method is used to change the BIOS settings on a node.

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

  • kwargs – a dictionary of {‘AttributeName’: ‘NewValue’}

Raises:

DracOperationError on an error from python-dracclient.

Returns:

A dictionary containing the is_commit_required key with a Boolean value indicating whether commit_bios_config() needs to be called to make the changes, and the is_reboot_required key with a value of ‘true’ or ‘false’. This key is used to indicate to the commit_bios_config() call if a reboot should be performed.

supported = False

Indicates if an interface is supported.

This will be set to False for interfaces which are untested in first- or third-party CI, or in the process of being deprecated.

validate(task, **kwargs)[source]

Validate the driver-specific info supplied.

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

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

  • kwargs – not used.

Raises:

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