The ironic.drivers.modules.ilo.firmware_processor Module

The ironic.drivers.modules.ilo.firmware_processor Module

Firmware file processor

class ironic.drivers.modules.ilo.firmware_processor.FirmwareImageLocation(fw_image_location, fw_image_filename)[source]

Bases: object

Firmware image location class

This class acts as a wrapper class for the firmware image location. It primarily helps in removing the firmware files from their respective locations, made available for firmware update operation.

remove()[source]

Exposed method to remove the wrapped firmware file

This method gets overridden by the remove method for the respective type of firmware file location it wraps.

class ironic.drivers.modules.ilo.firmware_processor.FirmwareProcessor(url)[source]

Bases: object

Firmware file processor

This class helps in downloading the firmware file from url, extracting the firmware file (if its in compact format) and makes it ready for firmware update operation. In future, methods can be added as and when required to extend functionality for different firmware file types.

process_fw_on(node, expected_checksum)[source]

Processes the firmware file from the url

This is the template method which downloads the firmware file from url, verifies checksum and extracts the firmware and makes it ready for firmware update operation. _download_fw_to method is set in the firmware processor object creation factory method, get_fw_processor(), based on the url type. :param node: a single Node. :param expected_checksum: checksum to be checked against. :returns: wrapper object of raw firmware image location :raises: IloOperationError, on failure to process firmware file. :raises: ImageDownloadFailed, on failure to download the original file. :raises: ImageRefValidationFailed, on failure to verify the checksum. :raises: SwiftOperationError, if upload to Swift fails. :raises: ImageUploadFailed, if upload to web server fails.

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.