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.