Image Template

This page describes how to define a new image template. An image template follows the same syntax as the VM template.

Warning

There are some template attributes that can compromise the security of the system or the security of other VMs, and can be used only by users in the oneadmin group. These attributes can be configured in oned.conf, the default ones are labeled with * in the following tables. See the complete list in the Restricted Attributes section.

Template Attributes

The following attributes can be defined in the template:

Attribute

KVM

vCenter

Value

Description

NAME

Mandatory

Mandatory

Any string

Name that the Image will get. Every image must have a unique name.

DESCRIPTION

Optional

Optional

Any string

Human readable description of the image for other users.

TYPE

Optional

Optional

OS, CDROM, DATABLOCK for both KVM and vCenter, KERNEL, RAMDISK, CONTEXT

Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS)

PERSISTENT

Optional

Optional

YES, NO

Persistence of the image. If omitted, the default value is NO.

PERSISTENT_TYPE


Optional


-


IMMUTABLE, SHAREABLE


IMMUTABLE - An special persistent image, that will not be modified.
SHAREABLE - Persistent image shareable by multiple VMs. Requires raw image FORMAT and shared datastore. Virtualization driver needs SUPPORT_SHAREABLE = "yes"
This attribute should only be used for special storage configurations.

DEV_PREFIX

Optional

Optional

Any string e.g sd, hd

Prefix for the emulated device this image will be mounted at. For instance, hd, sd, or vd for KVM virtio. If omitted, the default value is the one defined in oned.conf (installation default is hd).

TARGET

Optional

-

Any string

Target for the emulated device this image will be mounted at. For instance, hdb, sdc. If omitted, it will be assigned automatically.

FORMAT

Optional

-

raw or qcow2

Format of the image backing file.

FS

Optional

-

File system name (e.g ext4, xfs, …)

Specific file system type. It is used for formatting datablocks and volatile disks.

PATH

Mandatory (if no SOURCE)

Mandatory (if no SOURCE)

Any string

Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created. Note that gzipped files are supported and OpenNebula will automatically decompress them. Bzip2 compressed files is also supported, but it’s strongly discouraged since OpenNebula will not calculate it’s size properly.

SOURCE\*

Mandatory (if no PATH)

Mandatory (if no PATH)

Any string

Source to be used in the DISK attribute. Useful for not file-based images.

DISK_TYPE

Optional

Optional

For KVM: BLOCK, CDROM or FILE (default). For vCenter: FILE

This is the type of the supporting media for the image: a block device (BLOCK) an ISO-9660 file or readonly block device (CDROM) or a plain file (FILE).

VCENTER_DISK_TYPE

-

Optional

vCenter: (careful with the case): delta, eagerZeroedThick, flatMonolithic, preallocated, raw, rdm, rdmp, seSparse, sparse2Gb, sparseMonolithic, thick, thick2Gb, thin

The type of disk has implications on performance and occupied space. Values (careful with the case): delta, eagerZeroedThick, flatMonolithic, preallocated, raw, rdm, rdmp, seSparse, sparse2Gb, sparseMonolithic, thick, thick2Gb, thin.
More information in the VMware documentation.

VCENTER_ADAPTER_TYPE

-

Optional

vCenter: Possible values (careful with the case): lsiLogic, ide, busLogic.

Type of controller to be used with this disk. More information in the VMware documentation

READONLY

Optional

-

YES, NO.

This attribute should only be used for special storage configurations. It sets how the image is going to be exposed to the hypervisor. Images of type CDROM and those with PERSISTENT_TYPE set to IMMUTABLE will have READONLY set to YES. Otherwise, by default it is set to NO.

MD5

Optional

Optional

An MD5 hash

MD5 hash to check for image integrity.

SHA1

Optional

Optional

An SHA1 hash

SHA1 hash to check for image integrity.

LUKS_SECRET

Optional

Optional

UUID value

This attribute needs to be set for LUKS-encrypted images. Its value is UUID registered on hypervisor nodes as an identifier for the LUKS secret.

VCENTER_IMPORTED\*

-

Optional

YES

vCenter: This attribute is set to YES automatically when an IMAGE has been imported e.g an imported template or Wild VM. If set to YES, OpenNebula won’t remove from vCenter this image when the image is deleted from OpenNebula.

Warning

Be careful when PATH points to a compressed bz2 image, since although it will work, OpenNebula will not calculate its size correctly.

Important

All the above KVM attributes apply to Firecracker and LXC. With the exception of DEV_PREFIX which is always virtio for Firecracker and doesn’t apply for LXC. And TARGET doesn’t apply to neither of them.

Mandatory attributes for DATABLOCK images with no PATH set:

Attribute

Value

Description

SIZE

An integer

Size in MB.

Template Examples

Example of an OS image:

NAME          = "Ubuntu Web Development"
PATH          = /home/one_user/images/ubuntu_desktop.img
DESCRIPTION   = "Ubuntu 10.04 desktop for Web Development students.
Contains the pdf lessons and exercises as well as all the necessary
programming tools and testing frameworks."

Example of a CDROM image:

NAME          = "MATLAB install CD"
TYPE          = CDROM
PATH          = /home/one_user/images/matlab.iso
DESCRIPTION   = "Contains the MATLAB installation files. Mount it to install MATLAB on new OS images."

Example of a DATABLOCK image:

NAME          = "Experiment results"
TYPE          = DATABLOCK
# No PATH set, this image will start as a new empty disk
SIZE          = 3.08
DESCRIPTION   = "Storage for my Thesis experiments."

Restricted Attributes

All the default restricted attributes to users in the oneadmin group are summarized in the following list:

  • SOURCE

  • VCENTER_IMPORTED

These attributes can be configured in oned.conf.