ironic.common.image_service module¶
- class ironic.common.image_service.BaseImageService[source]¶
Bases:
object
Provides retrieval of disk images.
- abstract download(image_href, image_file)[source]¶
Downloads image to specified location.
- Parameters
image_href – Image reference.
image_file – File object to write data to.
- Raises
exception.ImageRefValidationFailed.
- Raises
exception.ImageDownloadFailed.
- abstract show(image_href)[source]¶
Get dictionary of image properties.
- Parameters
image_href – Image reference.
- Raises
exception.ImageRefValidationFailed.
- Returns
dictionary of image properties. It has three of them: ‘size’, ‘updated_at’ and ‘properties’. ‘updated_at’ attribute is a naive UTC datetime object.
- class ironic.common.image_service.FileImageService[source]¶
Bases:
ironic.common.image_service.BaseImageService
Provides retrieval of disk images available locally on the conductor.
- download(image_href, image_file)[source]¶
Downloads image to specified location.
- Parameters
image_href – Image reference.
image_file – File object to write data to.
- Raises
exception.ImageRefValidationFailed if source image file doesn’t exist.
- Raises
exception.ImageDownloadFailed if exceptions were raised while writing to file or creating hard link.
- show(image_href)[source]¶
Get dictionary of image properties.
- Parameters
image_href – Image reference.
- Raises
exception.ImageRefValidationFailed if image file specified doesn’t exist.
- Returns
dictionary of image properties. It has three of them: ‘size’, ‘updated_at’ and ‘properties’. ‘updated_at’ attribute is a naive UTC datetime object.
- class ironic.common.image_service.HttpImageService[source]¶
Bases:
ironic.common.image_service.BaseImageService
Provides retrieval of disk images using HTTP.
- download(image_href, image_file)[source]¶
Downloads image to specified location.
- Parameters
image_href – Image reference.
image_file – File object to write data to.
- Raises
exception.ImageRefValidationFailed if GET request returned response code not equal to 200.
- Raises
exception.ImageDownloadFailed if: * IOError happened during file write; * GET request failed.
- show(image_href)[source]¶
Get dictionary of image properties.
- Parameters
image_href – Image reference.
- Raises
exception.ImageRefValidationFailed if: * HEAD request failed; * HEAD request returned response code not equal to 200; * Content-Length header not found in response to HEAD request.
- Returns
dictionary of image properties. It has three of them: ‘size’, ‘updated_at’ and ‘properties’. ‘updated_at’ attribute is a naive UTC datetime object.
- validate_href(image_href, secret=False)[source]¶
Validate HTTP image reference.
- Parameters
image_href – Image reference.
secret – Specify if image_href being validated should not be shown in exception message.
- Raises
exception.ImageRefValidationFailed if HEAD request failed or returned response code not equal to 200.
- Raises
exception.ImageRefIsARedirect if the supplied URL is a redirect to a different URL. The caller may be able to handle this.
- Returns
Response to HEAD request.
- ironic.common.image_service.get_image_service(image_href, client=None, context=None)[source]¶
Get image service instance to download the image.
- Parameters
image_href – String containing href to get image service for.
client – Glance client to be used for download, used only if image_href is Glance href.
context – request context, used only if image_href is Glance href.
- Raises
exception.ImageRefValidationFailed if no image service can handle specified href.
- Returns
Instance of an image service class that is able to download specified image.