Jump to: navigation, search

Nova-image-cache-management

Summary

This blueprint will add a cache manager to Nova Compute which:

  1. Detects images that are corrupt
  2. Detects images that are no longer in use (cached_files – in_use_files)
  3. Detects images that are no longer in glance (not_used_files – glance_files)
  4. Pre-caches selected images

It would also enable the possibility of passing information on images held on each compute node to the scheduler.

Rationale

Currently there is no management of images once they have been down-loaded from Glance. Once cached images stay on the compute node

 - Even if they are no longer used
 - Even if they are deleted in Glance
 - Even if they are corrupt

Downloading delays from VM launch, and popular images may be requested simultaneously, and end up on every compute server.

Design

The cache manager will form part of the periodic tasks on each compute node.

Detection of image corruption will rely on creating a checksum after the image has been expanded.

Deletion of images based on usage will draw on the Glance design implemented for image caching.

Details of pre-caching are still TBD, but it is expected to use a combination of configurtaion controlled by the cloud administrator (which image owners are authorised for pre-caching) and image owners (add a pre-cache attribute to images). This would enable, for example, a service provide to pre-cahce thier own base images and charge a premium of other useres to make use of pre-caching.

Pre-caching will include an element of random delay to avoid all nodes attempting to pre-cache at the same time.

UI Changes

No changes are required to the UI.

Code Changes

  • Bug 904532 (Provide a script to automate cleanup of _base) was opened.

TBD

Migration

No specific migration anticipated. Existing images amy lack a checksum and so not be verifiable for corruption.

Test/Demo Plan

TBD

BoF agenda and discussion

Etherpad from Boston Design Summit