Image

An image is used by Provider objects to configure the images that are available for launching worker nodes. Zuul can work with images that already exist in a provider (whether they are externally managed, or supplied by the provider itself), or images where it manages the lifecycle (building, uploading or snapshotting, and deleting). Regardless of what type of image is used, it needs to be configured in Zuul, and the image configuration object is used for that.

The standalone image configuration object itself is little more than a name reservation. It represents the idea of a particular image with certain contents, but the actual set of bytes that make up that image, and the configuration options that go along with it, may be different on different providers. Therefore, there are very few configuration options in the section below. But once an image is defined in Zuul, when that image is attached to a Section or Provider, the driver-specific options for images are available and may be applied to it. See the driver-specific provider options for details.

For example, a user might decide to use the latest Debian release available in their cloud for launching worker nodes. They would then define an image object:

- image:
    name: debian-latest
    description: The latest version of debian
    type: cloud

That expresses the idea of a debian-latest image, but it doesn’t contain any of the necessary information to identify the image in a cloud – because that information depends on the provider. A provider may then use that image like this:

- provider:
    name: openstack
    images:
      - name: debian-latest
        image-id: deadbeef

This tells Zuul that to use the debian-latest image on the openstack cloud, it should use the image-id deadbeef (OpenStack image IDs are usually hexadecimal strings). The same image could also be added to AWS or Azure clouds, with different attributes for identification.

The attributes available to top-level image objects are:

image
image.name (required)
Type: str

The name of the image. Used to refer to the image in Zuul configuration.

image.type (required)

The type of image.

cloud

An existing image available in the cloud.

zuul

An image managed by Zuul.

image.description
Type: str

A textual description of the image.