ironic.common.checksum_utils module¶
- ironic.common.checksum_utils.compute_image_checksum(image_path, algorithm='md5')[source]¶
Compute checksum by given image path and algorithm.
- Parameters:
image_path – The path to the file to undergo checksum calculation.
algorithm – The checksum algorithm to utilize. Defaults to ‘md5’ due to historical support reasons in Ironic.
- Returns:
The calculated checksum value.
- Raises:
ValueError when the checksum algorithm is not supported by the system.
- ironic.common.checksum_utils.get_checksum_and_algo(instance_info)[source]¶
Get and return the image checksum and algo.
- Parameters:
instance_info – The node instance info, or newly updated/generated instance_info value.
- Returns:
A tuple containing two values, a checksum and algorithm, if available.
- ironic.common.checksum_utils.get_checksum_from_url(checksum, image_source)[source]¶
Gets a checksum value based upon a remote checksum URL file.
- Parameters:
checksum – The URL to the checksum URL content.
image_soource – The image source utilized to match with the contents of the URL payload file.
- Raises:
ImageDownloadFailed when the checksum file cannot be accessed or cannot be parsed.
- ironic.common.checksum_utils.is_checksum_url(checksum)[source]¶
Identify if checksum is not a url.
- Parameters:
checksum – The user supplied checksum value.
- Returns:
True if the checksum is a url, otherwise False.
- Raises:
ImageChecksumURLNotSupported should the conductor have this support disabled.
- ironic.common.checksum_utils.validate_checksum(path, checksum, checksum_algo=None)[source]¶
Validate image checksum.
- Parameters:
path – File path in the form of a string to calculate a checksum which is compared to the checksum field.
checksum – The supplied checksum value, a string, which will be compared to the file.
checksum_algo – The checksum type of the algorithm.
- Raises:
ImageChecksumError if the supplied data cannot be parsed or if the supplied value does not match the supplied checksum value.