ironic.drivers.modules.redfish.management module

ironic.drivers.modules.redfish.management module

class ironic.drivers.modules.redfish.management.RedfishManagement[source]

Bases: ironic.drivers.base.ManagementInterface

get_boot_device(task)[source]

Get the current boot device for a node.

Parameters:task – a task from TaskManager.
Raises:InvalidParameterValue on malformed parameter(s)
Raises:MissingParameterValue on missing parameter(s)
Raises:RedfishConnectionError when it fails to connect to Redfish
Raises:RedfishError on an error from the Sushy library
Returns:a dictionary containing:
boot_device:the boot device, one of ironic.common.boot_devices or None if it is unknown.
persistent:Boolean value or None, True if the boot device persists, False otherwise. None if it’s unknown.
get_boot_mode(task)[source]

Get the current boot mode for a node.

Provides the current boot mode of the node.

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.
Returns:The boot mode, one of ironic.common.boot_mode or None if it is unknown.
get_indicator_state(task, component, indicator)[source]

Get current state of the indicator of the hardware component.

Parameters:
  • task – A task from TaskManager.
  • component – The hardware component, one of ironic.common.components.
  • indicator – Indicator ID (as reported by get_supported_indicators).
Raises:

MissingParameterValue if a required parameter is missing

Raises:

RedfishError on an error from the Sushy library

Returns:

Current state of the indicator, one of ironic.common.indicator_states.

get_properties()[source]

Return the properties of the interface.

Returns:dictionary of <property name>:<property description> entries.
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.
Raises:InvalidParameterValue if required parameters are missing.
Raises:MissingParameterValue if a required parameter is missing.
Returns:returns a dict of sensor data grouped by sensor type.
get_supported_boot_devices(task)[source]

Get a list of the supported boot devices.

Parameters:task – a task from TaskManager.
Returns:A list with the supported boot devices defined in ironic.common.boot_devices.
get_supported_boot_modes(task)[source]

Get a list of the supported boot modes.

Parameters:task – A task from TaskManager.
Returns:A list with the supported boot modes defined in ironic.common.boot_modes. If boot mode support can’t be determined, empty list is returned.
get_supported_indicators(task, component=None)[source]

Get a map of the supported indicators (e.g. LEDs).

Parameters:
  • task – A task from TaskManager.
  • component – If not None, return indicator information for just this component, otherwise return indicators for all existing components.
Returns:

A dictionary of hardware components (ironic.common.components) as keys with values being dictionaries having indicator IDs as keys and indicator properties as values.

{
    'chassis': {
        'enclosure-0': {
            "readonly": true,
            "states": [
                "OFF",
                "ON"
            ]
        }
    },
    'system':
        'blade-A': {
            "readonly": true,
            "states": [
                "OFF",
                "ON"
            ]
        }
    },
    'drive':
        'ssd0': {
            "readonly": true,
            "states": [
                "OFF",
                "ON"
            ]
        }
    }
}

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:InvalidParameterValue on malformed parameter(s)
Raises:MissingParameterValue on missing parameter(s)
Raises:RedfishConnectionError when it fails to connect to Redfish
Raises:RedfishError on an error from the Sushy library
restore_boot_device(task, system)[source]

Restore boot device if needed.

Checks the redfish_boot_device internal flag and sets the one-time boot device accordingly. A warning is issued if it fails.

This method is supposed to be called from the Redfish power interface and should be considered private to the Redfish hardware type.

Parameters:
  • task – a task from TaskManager.
  • system – a Redfish System object.
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 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 on malformed parameter(s)

Raises:

MissingParameterValue on missing parameter(s)

Raises:

RedfishConnectionError when it fails to connect to Redfish

Raises:

RedfishError on an error from the Sushy library

set_boot_mode(task, mode)[source]

Set the boot mode for a node.

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

Parameters:
Raises:

InvalidParameterValue if an invalid boot mode is specified.

Raises:

MissingParameterValue if a required parameter is missing

Raises:

RedfishConnectionError when it fails to connect to Redfish

Raises:

RedfishError on an error from the Sushy library

set_indicator_state(task, component, indicator, state)[source]

Set indicator on the hardware component to the desired state.

Parameters:
Raises:

InvalidParameterValue if an invalid component, indicator or state is specified.

Raises:

MissingParameterValue if a required parameter is missing

Raises:

RedfishError on an error from the Sushy library

validate(task)[source]

Validates the driver information needed by the redfish driver.

Parameters:task – a TaskManager instance containing the node to act on.
Raises:InvalidParameterValue on malformed parameter(s)
Raises:MissingParameterValue on missing parameter(s)
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.