ironic.drivers.modules.irmc.management module

iRMC Management Driver

class ironic.drivers.modules.irmc.management.IRMCManagement(*args, **kwargs)[source]

Bases: ironic.drivers.modules.ipmitool.IPMIManagement

get_properties()[source]

Return the properties of the interface.

Returns

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

get_secure_boot_state(task)[source]

Get the current secure boot state for the node.

NOTE: Not all drivers support this method. Older hardware

may not implement that.

Parameters

task – A task from TaskManager.

Raises

MissingParameterValue if a required parameter is missing

Raises

DriverOperationError or its derivative in case of driver runtime error.

Raises

UnsupportedDriverExtension if secure boot is not supported by the driver or the hardware

Returns

Boolean

get_sensors_data(task)[source]

Get sensors data method.

It gets sensor data from the task’s node via SCCI, and convert the data from XML to the dict format.

Parameters

task – A TaskManager instance.

Raises

FailedToGetSensorData when getting the sensor data fails.

Raises

FailedToParseSensorData when parsing sensor data fails.

Raises

InvalidParameterValue if required parameters are invalid.

Raises

MissingParameterValue if a required parameter is missing.

Returns

Returns a consistent formatted dict of sensor data grouped by sensor type, which can be processed by Ceilometer. Example:

{
  'Sensor Type 1': {
    'Sensor ID 1': {
      'Sensor Reading': 'Value1 Units1',
      'Sensor ID': 'Sensor ID 1',
      'Units': 'Units1'
    },
    'Sensor ID 2': {
      'Sensor Reading': 'Value2 Units2',
      'Sensor ID': 'Sensor ID 2',
      'Units': 'Units2'
    }
  },
  'Sensor Type 2': {
    'Sensor ID 3': {
      'Sensor Reading': 'Value3 Units3',
      'Sensor ID': 'Sensor ID 3',
      'Units': 'Units3'
    },
    'Sensor ID 4': {
      'Sensor Reading': 'Value4 Units4',
      'Sensor ID': 'Sensor ID 4',
      'Units': 'Units4'
    }
  }
}

inject_nmi(task)[source]

Inject NMI, Non Maskable Interrupt.

Inject NMI (Non Maskable Interrupt) for a node immediately.

Parameters

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

Raises

IRMCOperationError on an error from SCCI

Returns

None

restore_irmc_bios_config(task)[source]

Restore BIOS config for a node.

Parameters

task – a task from TaskManager.

Raises

NodeCleaningFailure, on failure to execute step.

Returns

None.

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 task from TaskManager.

  • device – The boot device, one of the supported devices listed in 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.

Raises

MissingParameterValue if a required parameter is missing.

Raises

IPMIFailure on an error from ipmitool.

set_secure_boot_state(task, state)[source]

Set the current secure boot state for the node.

NOTE: Not all drivers support this method. Older hardware

may not implement that.

Parameters
  • task – A task from TaskManager.

  • state – A new state as a boolean.

Raises

MissingParameterValue if a required parameter is missing

Raises

DriverOperationError or its derivative in case of driver runtime error.

Raises

UnsupportedDriverExtension if secure boot is not supported by the driver or the hardware

validate(task)[source]

Validate the driver-specific management information.

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

Parameters

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

Raises

InvalidParameterValue if required parameters are invalid.

Raises

MissingParameterValue if a required parameter is missing.

ironic.drivers.modules.irmc.management.backup_bios_config(task)[source]

Backup BIOS config from a node.

Parameters

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

Raises

IRMCOperationError on failure.