ironic.drivers.modules.irmc.common module

ironic.drivers.modules.irmc.common module

Common functionalities shared between different iRMC modules.

ironic.drivers.modules.irmc.common.get_irmc_client(node)[source]

Gets an iRMC SCCI client.

Given an ironic node object, this method gives back a iRMC SCCI client to do operations on the iRMC.

Parameters:node – An ironic node object.
Returns:scci_cmd partial function which takes a SCCI command param.
Raises:InvalidParameterValue on invalid inputs.
Raises:MissingParameterValue if some mandatory information is missing on the node
ironic.drivers.modules.irmc.common.get_irmc_report(node)[source]

Gets iRMC SCCI report.

Given an ironic node object, this method gives back a iRMC SCCI report.

Parameters:node – An ironic node object.
Returns:A xml.etree.ElementTree object.
Raises:InvalidParameterValue on invalid inputs.
Raises:MissingParameterValue if some mandatory information is missing on the node.
Raises:scci.SCCIInvalidInputError if required parameters are invalid.
Raises:scci.SCCIClientError if SCCI failed.
ironic.drivers.modules.irmc.common.parse_driver_info(node)[source]

Gets the specific Node driver info.

This method validates whether the ‘driver_info’ property of the supplied node contains the required information for this driver.

Parameters:node – An ironic node object.
Returns:A dict containing information from driver_info and default values.
Raises:InvalidParameterValue if invalid value is contained in the ‘driver_info’ property.
Raises:MissingParameterValue if some mandatory key is missing in the ‘driver_info’ property.
ironic.drivers.modules.irmc.common.set_secure_boot_mode(node, enable)[source]

Enable or disable UEFI Secure Boot

Parameters:
  • node – An ironic node object.
  • enable – Boolean value. True if the secure boot to be enabled.
Raises:

IRMCOperationError if the operation fails.

ironic.drivers.modules.irmc.common.update_ipmi_properties(task)[source]

Update ipmi properties to node driver_info.

Parameters:task – A task from TaskManager.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.