ironic.drivers.modules.irmc.management module

ironic.drivers.modules.irmc.management module

iRMC Management Driver

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

Bases: 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.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.