Image Definition Template 3.4

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

If you want to learn more about the image repository, you can do so here.

:!: 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 M / O Value Description
NAME Mandatory Any string Name that the Image will get. Every image must have a unique name.
DESCRIPTION Optional Any string Human readable description of the image for other users.
TYPE Optional OS, CDROM, DATABLOCK 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 YES, NO Persistence of the image. If omitted, the default value is NO.
DEV_PREFIX Optional Any string Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).
BUS Optional IDE, SCSI, virtio (KVM) Type of disk device to emulate.
DRIVER Optional KVM: raw, qcow2 Xen:tap:aio:, file: Specific image mapping driver. VMware is unsupported
PATH 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.
SOURCE* Mandatory (if no PATH) Any string Source to be used in the DISK attribute. Useful for not file-based images.

Mandatory attributes for DATABLOCK images with no PATH set:

Attribute Value Description
SIZE An integer Size in MB.
FSTYPE String Type of file system to be built. This can be any value understood by mkfs unix command.

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"
# No PATH set, this image will start as a new empty disk
SIZE          = 3.08
FSTYPE        = ext3
DESCRIPTION   = "Storage for my Thesis experiments."

Notes for Developers

This section is relevant for developers who want to submit image templates directly to the OpenNebula Core using one of our OCA bindings or XML-RPC interface.

Until OpenNebula 2.2, the file copy or creation for Image allocation had to be performed by the oneimage command or the client application.

:!: Since 3.0, the file management is done entirely by the OpenNebula core. Please take this into account when updating any existing application.

Restricted Attributes

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