ironic.drivers.modules.drac.management module

DRAC management interface

class ironic.drivers.modules.drac.management.DracManagement(*args, **kwargs)[source]

Bases: DracWSManManagement

Class alias of class DracWSManManagement.

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

All bug fixes and new features should be implemented in its base class, DracWSManManagement. 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.management.DracRedfishManagement(*args, **kwargs)[source]

Bases: RedfishManagement

iDRAC Redfish interface for management-related actions.

EXPORT_CONFIGURATION_ARGSINFO = {'export_configuration_location': {'description': 'URL of location to save the configuration to.', 'required': True}}
IMPORT_CONFIGURATION_ARGSINFO = {'import_configuration_location': {'description': 'URL of location to fetch desired configuration from.', 'required': True}}
IMPORT_EXPORT_CONFIGURATION_ARGSINFO = {'export_configuration_location': {'description': 'URL of location to save the configuration to.', 'required': True}, 'import_configuration_location': {'description': 'URL of location to fetch desired configuration from.', 'required': True}}
clear_job_queue(task)[source]

Clear iDRAC job queue.

Parameters:

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

Raises:

RedfishError on an error.

export_configuration(task, export_configuration_location)[source]

(Deprecated) Export the configuration of the server.

Exports the configuration of the server against which the step is run and stores it in specific format in indicated location.

Uses Dell’s Server Configuration Profile (SCP) from sushy-oem-idrac library to get ALL configuration for cloning.

Parameters:
  • task – A task from TaskManager.

  • export_configuration_location – URL of location to save the configuration to.

Raises:

MissingParameterValue if missing configuration name of a file to save the configuration to

Raises:

DracOperatationError when no managagers for Redfish system found or configuration export from SCP failed

Raises:

RedfishError when loading OEM extension failed

import_configuration(task, import_configuration_location)[source]

(Deprecated) Import and apply the configuration to the server.

Gets pre-created configuration from storage by given location and imports that into given server. Uses Dell’s Server Configuration Profile (SCP).

Parameters:
  • task – A task from TaskManager.

  • import_configuration_location – URL of location to fetch desired configuration from.

Raises:

MissingParameterValue if missing configuration name of a file to fetch the configuration from

import_export_configuration(task, import_configuration_location, export_configuration_location)[source]

Import and export configuration in one go.

Gets pre-created configuration from storage by given name and imports that into given server. After that exports the configuration of the server against which the step is run and stores it in specific format in indicated storage as configured by Ironic.

Parameters:
  • import_configuration_location – URL of location to fetch desired configuration from.

  • export_configuration_location – URL of location to save the configuration to.

known_good_state(task)[source]

Reset iDRAC to known good state.

An iDRAC is reset to a known good state by resetting it and clearing its job queue.

Parameters:

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

Raises:

RedfishError on an error.

reset_idrac(task)[source]

Reset the iDRAC.

Parameters:

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

Raises:

RedfishError on an error.

class ironic.drivers.modules.drac.management.DracWSManManagement(*args, **kwargs)[source]

Bases: ManagementInterface

clear_job_queue(task)[source]

Clear the job queue.

Parameters:

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

Returns:

None if it is completed.

Raises:

DracOperationError on an error from python-dracclient.

get_boot_device(task)[source]

Get the current boot device for a node.

Returns the current boot device of the node.

Parameters:

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

Raises:

DracOperationError on an error from python-dracclient.

Returns:

a dictionary containing:

boot_device:

the boot device, one of ironic.common.boot_devices or None if it is unknown.

persistent:

whether the boot device will persist to all future boots or not, None if it is unknown.

get_properties()[source]

Return the properties of the interface.

get_sensors_data(task)[source]

Get sensors data.

Parameters:

task – a TaskManager instance.

Raises:

FailedToGetSensorData when getting the sensor data fails.

Raises:

FailedToParseSensorData when parsing sensor data fails.

Returns:

returns a consistent format dict of sensor data grouped by sensor type, which can be processed by Ceilometer.

get_supported_boot_devices(task)[source]

Get a list of the supported boot devices.

Parameters:

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

Returns:

A list with the supported boot devices defined in ironic.common.boot_devices.

known_good_state(task)[source]

Reset the iDRAC, Clear the job queue.

Parameters:

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

Returns:

None if it is completed.

Raises:

DracOperationError on an error from python-dracclient.

reset_idrac(task)[source]

Reset the iDRAC.

Parameters:

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

Returns:

None if it is completed.

Raises:

DracOperationError on an error from python-dracclient.

set_boot_device(task, device, persistent=False)[source]

Set the boot device for a node.

Set the boot device to use on next reboot of the node.

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

  • device – the boot device, one of ironic.common.boot_devices.

  • persistent – Boolean value. True if the boot device will persist to all future boots, False if not. Default: False.

Raises:

InvalidParameterValue if an invalid boot device is specified.

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)[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 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.

ironic.drivers.modules.drac.management.set_boot_device(node, device, persistent=False)[source]

Set the boot device for a node.

Set the boot device to use on next boot of the node.

Parameters:
  • node – an ironic node object.

  • device – the boot device, one of ironic.common.boot_devices.

  • persistent – Boolean value. True if the boot device will persist to all future boots, False if not. Default: False.

Raises:

DracOperationError on an error from python-dracclient.