ironic.drivers.modules.ilo.power module

iLO Power Driver

class ironic.drivers.modules.ilo.power.IloPower(*args, **kwargs)[source]

Bases: PowerInterface

get_power_state(task)[source]

Gets the current power state.

Parameters:
  • task – a TaskManager instance.

  • node – The Node.

Returns:

one of ironic.common.states POWER_OFF, POWER_ON or ERROR.

Raises:

InvalidParameterValue if required iLO credentials are missing.

Raises:

IloOperationError on an error from IloClient library.

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]

Reboot the node

Parameters:
  • task – a TaskManager instance.

  • timeout – timeout (in seconds). Unsupported by this interface.

Raises:

PowerStateFailure if the final state of the node is not POWER_ON.

Raises:

IloOperationError on an error from IloClient library.

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

Turn the current power state on or off.

Parameters:
  • task – a TaskManager instance.

  • power_state – The desired power state POWER_ON,POWER_OFF or REBOOT from ironic.common.states.

  • timeout – timeout (in seconds). Unsupported by this interface.

Raises:

InvalidParameterValue if an invalid power state was specified.

Raises:

IloOperationError on an error from IloClient library.

Raises:

PowerStateFailure if the power couldn’t be set to power_state.

validate(task)[source]

Check if node.driver_info contains the required iLO credentials.

Parameters:
  • task – a TaskManager instance.

  • node – Single node object.

Raises:

InvalidParameterValue if required iLO credentials are missing.