IPMI power manager driver.
Uses the ‘ipmitool’ command (http://ipmitool.sourceforge.net/) to remotely manage hardware. This includes setting the boot device, getting a serial-over-LAN console, and controlling the power state of the machine.
NOTE THAT CERTAIN DISTROS MAY INSTALL openipmi BY DEFAULT, INSTEAD OF ipmitool, WHICH PROVIDES DIFFERENT COMMAND-LINE OPTIONS AND IS NOT SUPPORTED BY THIS DRIVER.
Bases: ironic.drivers.base.ConsoleInterface
A base ConsoleInterface that uses ipmitool.
Bases: ironic.drivers.base.ManagementInterface
Get the current boot device for the task’s node.
Returns the current boot device of the node.
Parameters: | task – a task from TaskManager. | ||||
---|---|---|---|---|---|
Raises: | InvalidParameterValue if required IPMI parameters are missing. | ||||
Raises: | IPMIFailure on an error from ipmitool. | ||||
Raises: | MissingParameterValue if a required parameter is missing. | ||||
Returns: | a dictionary containing:
|
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 ipmi parameters are missing |
Raises: | MissingParameterValue if a required parameter is missing. |
Returns: | returns a dict of sensor data group by sensor type. |
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. |
Set the boot device for the task’s node.
Set the boot device to use on next reboot of the node.
Parameters: |
|
---|---|
Raises: | InvalidParameterValue if an invalid boot device is specified |
Raises: | MissingParameterValue if required ipmi parameters are missing. |
Raises: | IPMIFailure on an error from ipmitool. |
Check that ‘driver_info’ contains IPMI credentials.
Validates whether the ‘driver_info’ property of the supplied task’s node contains the required credentials information.
Parameters: | task – a task from TaskManager. |
---|---|
Raises: | InvalidParameterValue if required IPMI parameters are missing. |
Raises: | MissingParameterValue if a required parameter is missing. |
Bases: ironic.drivers.base.PowerInterface
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: | InvalidParameterValue if required ipmi parameters are missing. |
Raises: | MissingParameterValue if a required parameter is missing. |
Raises: | IPMIFailure on an error from ipmitool (from _power_status call). |
Cycles the power to the task’s node.
Parameters: | task – a TaskManager instance containing the node to act on. |
---|---|
Raises: | MissingParameterValue if required ipmi parameters are missing. |
Raises: | InvalidParameterValue if an invalid power state was specified. |
Raises: | PowerStateFailure if the final state of the node is not POWER_ON or the intermediate state of the node is not POWER_OFF. |
Turn the power on or off.
Parameters: |
|
---|---|
Raises: | InvalidParameterValue if an invalid power state was specified. |
Raises: | MissingParameterValue if required ipmi parameters are missing |
Raises: | PowerStateFailure if the power couldn’t be set to pstate. |
Validate driver_info for ipmitool driver.
Check that node[‘driver_info’] contains IPMI credentials.
Parameters: | task – a TaskManager instance containing the node to act on. |
---|---|
Raises: | InvalidParameterValue if required ipmi parameters are missing. |
Raises: | MissingParameterValue if a required parameter is missing. |
Bases: ironic.drivers.modules.ipmitool.IPMIConsole
A ConsoleInterface that uses ipmitool and shellinabox.
Start a remote console for the node.
Parameters: | task – a task from TaskManager |
---|---|
Raises: | InvalidParameterValue if required ipmi parameters are missing |
Raises: | PasswordFileFailedToCreate if unable to create a file containing the password |
Raises: | ConsoleError if the directory for the PID file cannot be created |
Raises: | ConsoleSubprocessFailed when invoking the subprocess failed |
Bases: ironic.drivers.modules.ipmitool.IPMIConsole
A ConsoleInterface that uses ipmitool and socat.
Get the type and connection information about the console.
Parameters: | task – a task from TaskManager |
---|
Start a remote console for the node.
Parameters: | task – a task from TaskManager |
---|---|
Raises: | InvalidParameterValue if required ipmi parameters are missing |
Raises: | PasswordFileFailedToCreate if unable to create a file containing the password |
Raises: | ConsoleError if the directory for the PID file cannot be created |
Raises: | ConsoleSubprocessFailed when invoking the subprocess failed |
Bases: ironic.drivers.base.VendorInterface
Reset BMC with IPMI command ‘bmc reset (warm|cold)’.
Parameters: |
|
---|---|
Raises: | IPMIFailure on an error from ipmitool. |
Raises: | MissingParameterValue if a required parameter is missing. |
Raises: | InvalidParameterValue when an invalid value is specified |
Send raw bytes to the BMC. Bytes should be a string of bytes.
Parameters: |
|
---|---|
Raises: | IPMIFailure on an error from ipmitool. |
Raises: | MissingParameterValue if a required parameter is missing. |
Raises: | InvalidParameterValue when an invalid value is specified. |
Validate vendor-specific actions.
If invalid, raises an exception; otherwise returns None.
Parameters: |
|
---|---|
Raises: | InvalidParameterValue when an invalid parameter value is specified. |
Raises: | MissingParameterValue if a required parameter is missing. |