ironic.drivers.modules.irmc.power module

iRMC Power Driver using the Base Server Profile

class ironic.drivers.modules.irmc.power.IRMCPower(*args, **kwargs)[source]

Bases: RedfishPower, PowerInterface

Interface for power-related actions.

get_power_state(task)[source]

Return the power state of the task’s node.

Parameters:

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

Returns:

a power state. One of ironic.common.states.

Raises:

InvalidParameterValue if required parameters are incorrect.

Raises:

MissingParameterValue if required parameters are missing.

Raises:

IRMCOperationError If IPMI or Redfish operation fails

get_properties()[source]

Return the properties of the interface.

Returns:

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

get_supported_power_states(task)[source]

Get a list of the supported power states.

Parameters:

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

Returns:

A list with the supported power states defined in ironic.common.states.

reboot(task, timeout=None)[source]

Perform a hard reboot of the task’s node.

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

  • timeout – timeout (in seconds) positive integer (> 0) for any power state. None indicates default timeout.

Raises:

InvalidParameterValue if an invalid power state was specified.

Raises:

IRMCOperationError if failed to set the power state.

set_power_state(task, power_state, timeout=None)[source]

Set the power state of the task’s node.

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

  • power_state – Any power state from ironic.common.states.

  • timeout – timeout (in seconds) positive integer (> 0) for any power state. None indicates default timeout.

Raises:

InvalidParameterValue if an invalid power state was specified.

Raises:

MissingParameterValue if some mandatory information is missing on the node

Raises:

IRMCOperationError if failed to set the power state.

validate(task)[source]

Validate the driver-specific Node power info.

This method validates whether the ‘driver_info’ property of the supplied node contains the required information for this driver to manage the power state of 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.

Raises:

MissingParameterValue if a required parameter is missing.

ironic.drivers.modules.irmc.power.METRICS = <ironic_lib.metrics.NoopMetricLogger object>

SC2.mib: sc2srvCurrentBootStatus returns status of the current boot