ironic.drivers.modules.ilo.power module

iLO Power Driver

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

Bases: ironic.drivers.base.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.