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.
-
abstract
-
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.
- 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.