The ironic.drivers.modules.image_cache Module

Utility for caching master images.

class ironic.drivers.modules.image_cache.ImageCache(master_dir, cache_size, cache_ttl)[source]

Bases: object

Class handling access to cache for master images.

clean_up(*args, **kwargs)[source]

Clean up directory with images, keeping cache of the latest images.

Files with link count >1 are never deleted. Protected by global lock, so that no one messes with master images after we get listing and before we actually delete files.

Parameters:amount – if present, amount of space to reclaim in bytes, cleaning will stop, if this goal was reached, even if it is possible to clean up more files
fetch_image(href, dest_path, ctx=None, force_raw=True)[source]

Fetch image by given href to the destination path.

Does nothing if destination path exists and is up to date with cache and href contents. Only creates a hard link (dest_path) to cached image if requested image is already in cache and up to date with href contents. Otherwise downloads an image, stores it in cache and creates a hard link (dest_path) to it.

Parameters:
  • href – image UUID or href to fetch
  • dest_path – destination file path
  • ctx – context
  • force_raw – boolean value, whether to convert the image to raw format