glance.api.middleware.cache module

Transparent image file caching middleware, designed to live on Glance API nodes. When images are requested from the API node, this middleware caches the returned image file to local filesystem.

When subsequent requests for the same image file are received, the local cached copy of the image file is returned.

class glance.api.middleware.cache.CacheFilter(app)[source]

Bases: Middleware


Called if cache hit


Returns the integer status code from the response, which can be either a Webob.Response (used in testing) or httplib.Response


For requests for an image file, we check the local image cache. If present, we return the image file, appending the image metadata in headers. If not present, we pass the request on to the next application in the pipeline.


We intercept the response coming back from the main images Resource, removing image file from the cache if necessary