ironic.drivers.modules.drac.management module

DRAC management interface

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

Bases: ironic.drivers.modules.drac.management.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: ironic.drivers.modules.redfish.management.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]

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]

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: ironic.drivers.base.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.

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.