Skip to content

ova‐compose configuration reference

Oliver Kurth edited this page May 6, 2024 · 7 revisions

system (required)

Describes various aspects of the system.

system:
    name: example
    type: vmx-17
    os_vmw: other4xLinux64Guest
    firmware: efi
    secure_boot: true

name (required)

The name of the system.

type (required)

The system type. More specifically, the hardware version.

os_vmw (required)

The OS id.

secure_boot

Boolean, whether to use secure boot.

default_configuration (optional)

If multiple configurations are configured (see below), set the default configuration.

networks (required)

A dictionary with a network configuration for each item. The key must be unique and is an identifier that can be used below in the hardware configuration to connect to an ethernet device. Valid fields are name and description.

Example:

networks:
    vm_network:
        name: "VM Network"
        description: "The VM Network network"

name (required)

The name of the network. Will be used in the OVF as a child of NetworkSection as the attribute ovf:name for the tag `Network:

<Network ovf:name="VM Network">

description (required)

Tex to describe this network, used for the chield Description of Network.

hardware (required)

A dictionary with unique keys, each identifying a hardware item. Each key can have any string value, but the keys cpus and memory are reserved. Each item in the dictionay, except cpus and memory, must have a type field, which can have any of the values below under "Hardware Items".

Example:

hardware:
    cpus: 2
    memory: 2048
    sata1:
        type: sata_controller
...

Optionally, each hardware item can have a configuration setting. If set, the hardware item will be present only for that particular configuration. This is useful to have different memory sizes, number of CPUs per configuration, or make hardware items only present for a particular configuration.

cpus (required)

Set to the number of CPUs.

memory (required)

Set to the size of memory in megabyte units.

Hardware Item Types

Valid values for type are below:

cd_drive

A CD drive, optionally with an ISO image set with image. The file will be packed within the OVA. The controller to attach to must be set with parent to the id of the controller. Set connected = true to have the image connected on startup (default is false)

cpus

cpus can be set as a hardware type. In this case, the field number sets the number of CPUs. This is useful for different configurations.

ethernet

An ethernet device. The network must be set with network to one of the networks defined in the main networks section. Set connected = false to have the device disconnected on startup (default is true)

Example:

    ethernet1:
        type: ethernet
        subtype: VmxNet3
        network: vm_network

floppy

A floppy device. Very similar to cd_drive, but does not need to be connected to a controller.

hard_disk

A hard disk. This can be set to an image file in streamable vmdk format with disk_image or a raw file image with raw_image, or an empty disk if disk_capacity is set. One of disk_image, raw_image, or capacity is required.

The vmdk file will be packed within the OVA. Alternatively, if disk_capacity is set, an empty disk will be created. Set size can be set with units, for example 100MB or 12GB.

disk_id

Optionally, set the id, as used for the attribute rasd:HostResource in the OVF file. Only needed if post processors use this. If not set, an id will be generated automatically.

disk_capacity

The disk capacity if the disk shall be empty. Mutually exclusive with disk_image and raw_image.

disk_image (required if neither raw_image nor disk_capacity are set)

Set the filename for the vmdk image. The file name should end with .vmdk. If raw_image is set, this is optional. If both raw_image and disk_image are set, the raw image, if it exists, will be converted, using vmdk-convert, to streamable VMDK format with the name set by disk_image.

file_id

Optionally, similar to disk_id, set the id, as used for the attribute ovf:fileRef in the OVF file. Only needed if post processors use this. If not set, an id will be generated automatically.

parent (required)

Mist be set to a controller of the types nvme_controller , scsi_controller, sata_controller or ide_controller.

raw_image (required if neither disk_image nor disk_capacity are set)

The file name should end with .img.

If set with raw_image, this raw image will be converted to streamable vmdk format if it exists and is either a file with the same name but the extension .vmdk (or as set with disk_image) exists and is older or does not exist. If the raw image does not exist, but a file with the extension .vmdk exists or a file set with `disk_image, that will be used.

units

Optionally, set the units to be used in the OVF file for capacity. This can be byte, KB, MB, GB, TB, or any of byte * 2^10, byte * 2^20, byte * 2^30 or byte * 2^40. The default is byte. This is only useful if any post processors of the OVF file expect a specific unit.

nvme_controller , scsi_controller, sata_controller or ide_controller

A controller. Each controller can have 0 or more other devices attached.

usb_controller, usb3_controller

USB2 and US3 controller, respectively.

video_card

Video card.

vmci

VMCI device.

product_sections (optional)

A list of product sections. Each product section has the following settings:

categories (optional)

A dictionary with a key id and a name.

`