The ironic.drivers.modules.iboot Module

Ironic iBoot PDU power manager.

class ironic.drivers.modules.iboot.IBootPower[source]

Bases: ironic.drivers.base.PowerInterface

iBoot PDU Power Driver for Ironic

This PowerManager class provides a mechanism for controlling power state via an iBoot capable device.

Requires installation of python-iboot:

get_power_state(task)[source]

Get the current power state of the task’s node.

Parameters:task – a TaskManager instance containing the node to act on.
Returns:one of ironic.common.states POWER_OFF, POWER_ON or ERROR.
Raises:IBootOperationError on an error from iBoot.
Raises:InvalidParameterValue if iboot parameters are invalid.
Raises:MissingParameterValue if required iboot parameters are missing.
get_properties()[source]
reboot(*args, **kwargs)[source]

Cycles the power to the task’s node.

Parameters:task – a TaskManager instance containing the node to act on.
Raises:IBootOperationError on an error from iBoot.
Raises:InvalidParameterValue if iboot parameters are invalid.
Raises:MissingParameterValue if required iboot parameters are missing.
Raises:PowerStateFailure if the final state of the node is not POWER_ON.
set_power_state(*args, **kwargs)[source]

Turn the power on or off.

Parameters:
  • task – a TaskManager instance containing the node to act on.
  • pstate – The desired power state, one of ironic.common.states POWER_ON, POWER_OFF.
Raises:

IBootOperationError on an error from iBoot.

Raises:

InvalidParameterValue if iboot parameters are invalid or if an invalid power state was specified.

Raises:

MissingParameterValue if required iboot parameters are missing.

Raises:

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

validate(task)[source]

Validate driver_info for iboot driver.

Parameters:task – a TaskManager instance containing the node to act on.
Raises:InvalidParameterValue if iboot parameters are invalid.
Raises:MissingParameterValue if required iboot parameters are missing.

Project Source

This Page