The cinder.image.glance Module

Implementation of an image service that uses Glance as the backend

class GlanceClientWrapper(context=None, netloc=None, use_ssl=False, version=None)

Bases: object

Glance client wrapper class that implements retries.

call(context, method, *args, **kwargs)

Call a glance client method.

If we get a connection error, retry the request according to CONF.glance_num_retries.

class GlanceImageService(client=None)

Bases: object

Provides storage and retrieval of disk image objects within Glance.

add_location(context, image_id, url, metadata)

Add a backend location url to an image.

Returns a dict containing image metadata on success.

create(context, image_meta, data=None)

Store the image data and return the new image object.

delete(context, image_id)

Delete the given image.

Raises:ImageNotFound if the image does not exist.
Raises:NotAuthorized if the user is not an owner.
detail(context, **kwargs)

Calls out to Glance for a list of detailed image information.

download(context, image_id, data=None)

Calls out to Glance for data and writes data.

get_location(context, image_id)

Get backend storage location url.

Returns a tuple containing the direct url and locations representing the backend storage location, or (None, None) if these attributes are not shown by Glance.

show(context, image_id)

Returns a dict with image data for the given opaque image id.

update(context, image_id, image_meta, data=None, purge_props=True)

Modify the given image with the new data.

get_api_servers(context)

Return Iterable over shuffled api servers.

Shuffle a list of glance_api_servers and return an iterator that will cycle through the list, looping around to the beginning if necessary. If CONF.glance_api_servers is None then they will be retrieved from the catalog.

get_default_image_service()
get_remote_image_service(context, image_href)

Create an image_service and parse the id from the given image_href.

The image_href param can be an href of the form ‘http://example.com:9292/v1/images/b8b2c6f7-7345-4e2f-afa2-eedaba9cbbe3‘, or just an id such as ‘b8b2c6f7-7345-4e2f-afa2-eedaba9cbbe3’. If the image_href is a standalone id, then the default image service is returned.

Parameters:image_href – href that describes the location of an image
Returns:a tuple of the form (image_service, image_id)