The ironic.common.image_service Module

class ironic.common.image_service.BaseImageService[source]

Bases: object

Provides retrieval of disk images.

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.

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.
validate_href(image_href)[source]

Validate image reference.

Parameters:image_href – Image reference.
Raises:exception.ImageRefValidationFailed.
Returns:Information needed to further operate with an image.
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.
validate_href(image_href)[source]

Validate local image reference.

Parameters:image_href – Image reference.
Raises:exception.ImageRefValidationFailed if source image file doesn’t exist.
Returns:Path to image file if it exists.
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.