Image Properties

This page describes supported properties for Private Cloud Director images.

This page describes the various properties that are supported by Private Cloud Director images.

architecture

Property: architecture

Type: string

Description:

The CPU architecture that must be supported by the hypervisor. For example, x86_64, arm, or ppc64. Run uname -m to get the architecture of a machine. We strongly recommend using the architecture data vocabulary defined by the libosinfo projectarrow-up-right for this purpose.

Supported values:


instance_uuid

Property: instance_uuid

Type: string

Description:

For snapshot images, this is the UUID of the VM used to create this image. The value must be a valid VM UUID.


img_config_drive

Property: img_config_drive

Type: string

Description:

Specifies whether the image needs a config drive.

Supported values:

  • mandatory

  • optional (default if property is not used)


os_admin_user

Property: os_admin_user

Type: string

Description:

The name of the user with admin privileges. The value must be a valid username (defaults to root for Linux guests and Administrator for Windows guests).


os_distro

Property: os_distro

Type: string

Description:

The common name of the operating system distribution in lowercase (uses the same data vocabulary as the libosinfo projectarrow-up-right). Specify only a recognized value for this field. Deprecated values are listed to assist you in searching for the recognized value.

Supported values:

  • arch - Arch Linux. Do not use archlinux or org.archlinux.

  • centos - Community Enterprise Operating System. Do not use org.centos or CentOS.

  • debian - Debian. Do not use Debian` or ``org.debian.

  • fedora - Fedora. Do not use Fedora, org.fedora, or org.fedoraproject.

  • freebsd - FreeBSD. Do not use org.freebsd, freeBSD, or FreeBSD.

  • gentoo - Gentoo Linux. Do not use Gentoo or org.gentoo.

  • mandrake - Mandrakelinux (MandrakeSoft) distribution. Do not use mandrakelinux or MandrakeLinux.

  • mandriva - Mandriva Linux. Do not use mandrivalinux.

  • mes - Mandriva Enterprise Server. Do not use mandrivaent or mandrivaES.

  • msdos - Microsoft Disc Operating System. Do not use ms-dos.

  • netbsd - NetBSD. Do not use NetBSD or org.netbsd.

  • netware - Novell NetWare. Do not use novell or NetWare.

  • openbsd - OpenBSD. Do not use OpenBSD or org.openbsd.

  • opensolaris - OpenSolaris. Do not use OpenSolaris or org.opensolaris.

  • opensuse - openSUSE. Do not use suse, SuSE, or `` org.opensuse``.

  • rhel - Red Hat Enterprise Linux. Do not use redhat, RedHat, or com.redhat.

  • sled - SUSE Linux Enterprise Desktop. Do not use com.suse.

  • ubuntu - Ubuntu. Do not use Ubuntu, com.ubuntu, org.ubuntu, or canonical.

  • windows - Microsoft Windows. Do not use com.microsoft.server or windoze.


os_version

Property: os_version

Type: string

Description:

The operating system version as specified by the distributor.

The value must be a valid version number (for example, 11.10).


os_secure_boot

Property: os_secure_boot

Type: string

Description:

Secure Boot is a security standard. When the VM starts, Secure Boot first examines software such as firmware and OS by their signature and only allows them to run if the signatures are valid.

Linux guests will require bootloader’s digital signature provided as os_secure_boot_signature and hypervisor_version_requires'>=10.0' image properties.

Supported values:

  • required - Enable the Secure Boot feature.

  • disabled or optional - (default if property not used) Disable the Secure Boot feature.


os_shutdown_timeout

Property: os_shutdown_timeout

Type: integer

Description:

By default, guests will be given 60 seconds to perform a graceful shutdown. After that, the VM is powered off. This property allows overriding the amount of time (unit: seconds) to allow a guest OS to cleanly shut down before power off. A value of 0 (zero) means the guest will be powered off immediately with no opportunity for guest OS clean-up.


trait:<trait_name>

Property: trait:<trait_name>

Type: string

Description:

Traits allow specifying a server to build on a compute node with the set of traits specified in the image. The traits are associated with the resource provider that represents the compute node in the Placement API.

The syntax of specifying traits is trait:<trait_name>=value, for example:

trait:HW_CPU_X86_AVX2=required

trait:STORAGE_DISK_SSD=required

The compute service scheduler will pass required traits specified on the image to the compute placement API to include only resource providers that can satisfy the required traits. Traits for the resource providers can be managed using the osc-placement plugin.

Image traits are used by the compute service scheduler even in cases of volume backed VMs, if the volume source is an image with traits.

Supported values:

  • required - <trait_name> is required on the resource provider that represents the hypervisor node on which the image is launched. This is the only valid value; any other value is invalid.


vm_mode

Property: vm_mode

Type: string

Description:

The virtual machine mode. This represents the host/guest ABI (application binary interface) used for the virtual machine.

Supported values:

  • hvm - Fully virtualized. This is the mode used by QEMU and KVM.

  • xen - Xen 3.0 paravirtualized.

  • uml - User Mode Linux paravirtualized.

  • exe - Executables in containers. This is the mode used by LXC.


hw_cpu_sockets

Property: hw_cpu_sockets

Type: integer

Description:

The preferred number of sockets to expose to the guest.


hw_cpu_cores

Property: hw_cpu_cores

Type: integer

Description:

The preferred number of cores to expose to the guest.


hw_cpu_threads

Property: hw_cpu_threads

Type: integer

Description:

The preferred number of threads to expose to the guest.


hw_cpu_policy

Property: hw_cpu_policy

Type: string

Description:

Used to pin the virtual CPUs (vCPUs) of VMs to the host's physical CPU cores (pCPUs). Host aggregates should be used to separate these pinned VMs from unpinned VMs as the later will not respect the resourcing requirements of the former.

Supported values:

  • shared - (default if property not specified) The guest vCPUs will be allowed to freely float across host pCPUs, albeit potentially constrained by NUMA policy.

  • dedicated - The guest vCPUs will be strictly pinned to a set of host pCPUs. In the absence of an explicit vCPU topology request, the drivers typically expose all vCPUs as sockets with one core and one thread. When strict CPU pinning is in effect the guest CPU topology will be setup to match the topology of the CPUs to which it is pinned. This option implies an overcommit ratio of 1.0. For example, if a two vCPU guest is pinned to a single host core with two threads, then the guest will get a topology of one socket, one core, two threads.


hw_cpu_thread_policy

Property: hw_cpu_thread_policy

Type: string

Description:

Further refines hw_cpu_policy=dedicated by stating how hardware CPU threads in a simultaneous multithreading-based (SMT) architecture be used. SMT-based architectures include Intel processors with Hyper-Threading technology. In these architectures, processor cores share a number of components with one or more other cores. Cores in such architectures are commonly referred to as hardware threads, while the cores that a given core share components with are known as thread siblings.

Supported values:

  • prefer - (default if property not specified) The host may or may not have an SMT architecture. Where an SMT architecture is present, thread siblings are preferred.

  • isolate - The host must not have an SMT architecture or must emulate a non-SMT architecture. If the host does not have an SMT architecture, each vCPU is placed on a different core as expected. If the host does have an SMT architecture - that is, one or more cores have thread siblings - then each vCPU is placed on a different physical core. No vCPUs from other guests are placed on the same core. All but one thread sibling on each utilized core is therefore guaranteed to be unusable.

  • require - The host must have an SMT architecture. Each vCPU is allocated on thread siblings. If the host does not have an SMT architecture, then it is not used. If the host has an SMT architecture, but not enough cores with free thread siblings are available, then scheduling fails.


hw_cdrom_bus

Property: hw_cdrom_bus

Type: string

Description:

Specifies the type of disk controller to attach CD-ROM devices to. As for hw_disk_bus.


hw_disk_bus

Property: hw_disk_bus

Type: string

Description:

Specifies the type of disk controller to attach disk devices to.

Supported values:

scsi, virtio, uml, xen, ide, usb, or lxc.


hw_firmware_type

Property: hw_firmware_type

Type: string

Description:

Specifies the type of firmware with which to boot the guest.

Supported values:

  • bios

  • uefi


hw_mem_encryption

Property: hw_mem_encryption

Type: boolean

Description:

Enables encryption of guest memory at the hardware level, if there are compute hosts available which support this. See compute service documentation on configuration of the KVM hypervisor for more details.


hw_pointer_model

Property: hw_pointer_model

Type: string

Description:

Input devices that allow interaction with a graphical framebuffer, for example to provide a graphic tablet for absolute cursor movement. Currently only supported by the KVM/QEMU hypervisor configuration and VNC or SPICE consoles must be enabled.

Supported values:

  • usbtablet


hw_rng_model

Property: hw_rng_model

Type: string

Description:

Adds a random-number generator device to the image's VMs. This image property by itself does not guarantee that a hardware RNG will be used; it expresses a preference that may or may not be satisfied depending upon compute service configuration.

The cloud administrator can enable and control device behavior by configuring the VM's flavor. By default:

The generator device is disabled.

/dev/urandom is used as the default entropy source. To specify a physical hardware RNG device, use the following option in the nova.conf file:

rng_dev_path=/dev/hwrng

The use of a hardware random number generator must be configured in a flavor's extra_specs by setting hw_rng:allowed to True in the flavor definition.

Supported values:

  • virtio

  • Other supported device.


hw_time_hpet

Property: hw_time_hpet

Type: boolean

Description:

Adds support for the High Precision Event Timer (HPET) for x86 guests in the libvirt driver when hypervisor_type=qemu and architecture=i686 or architecture=x86_64. The timer can be enabled by setting hw_time_hpet=true. By default HPET remains disabled.


hw_machine_type

Property: hw_machine_type

Type: string

Description:

Enables booting an ARM system using the specified machine type. If an ARM image is used and its machine type is not explicitly specified, then Compute uses the virt machine type as the default for ARMv7 and AArch64. Valid types can be viewed by using the virsh capabilities command (machine types are displayed in the machine tag).


os_type

Property: os_type

Type: string

Description:

The operating system installed on the image. The libvirt API driver contains logic that takes different actions depending on the value of the os_type parameter of the image. For example, for os_type=windows images, it creates a FAT32-based swap partition instead of a Linux swap partition, and it limits the injected host name to less than 16 characters.

Supported values:

  • linux

  • windows


hw_scsi_model

Property: hw_scsi_model

Type: string

Description:

Enables the use of VirtIO SCSI (virtio-scsi) to provide block device access for VMs; by default, VMs use VirtIO Block (virtio-blk). VirtIO SCSI is a para-virtualized SCSI controller device that provides improved scalability and performance, and supports advanced SCSI hardware.

Supported values:

  • virtio-scsi


hw_serial_port_count

Property: hw_serial_port_count

Type: integer

Description:

Specifies the count of serial ports that should be provided. If hw:serial_port_count is not set in the flavor's extra_specs, then any count is permitted. If hw:serial_port_count is set, then this provides the default serial port count. It is permitted to override the default serial port count, but only with a lower value.


hw_video_model

Property: hw_video_model

Type: string

Description:

The graphic device model presented to the guest. none disables the graphics device in the guest and should generally be used when using GPU passthrough.

Supported values:

  • vga

  • cirrus

  • vmvga

  • xen

  • qxl

  • virtio

  • gop

  • none

  • bochs


hw_video_ram

Property: hw_video_ram

Type: integer

Description:

Maximum RAM in MB for the video image. Used only if a hw_video:ram_max_mb value has been set in the flavor's extra_specs and that value is higher than the value set in hw_video_ram


hw_watchdog_action

Property: hw_watchdog_action

Type: string

Description:

Enables a virtual hardware watchdog device that carries out the specified action if the server hangs. The watchdog uses the i6300esb device (emulating a PCI Intel 6300ESB). If hw_watchdog_action is not specified, the watchdog is disabled.

Supported values:

  • disabled - (default) The device is not attached. Allows the user to disable the watchdog for the image, even if it has been enabled using the image's flavor.

  • reset - Forcefully reset the guest.

  • poweroff - Forcefully power off the guest.

  • pause - Pause the guest.

  • none - Only enable the watchdog; do nothing if the server hangs.


hw_vif_model

Property: hw_vif_model

Type: string

Description:

Specifies the model of virtual network interface device to use.

Options:

  • e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio, and vmxnet3.


hw_vif_multiqueue_enabled

Property: hw_vif_multiqueue_enabled

Type: boolean

Description:

If true, this enables the virtio-net multiqueue feature. In this case, the driver sets the number of queues equal to the number of guest vCPUs. This makes the network performance scale across a number of vCPUs.


hw_boot_menu

Property: hw_boot_menu

Type: boolean

Description:

If true, enables the BIOS bootmenu. In cases where both the image metadata and Extra Spec are set, the Extra Spec setting is used. This allows for flexibility in setting/overriding the default behavior as needed.


hw_pmu

Property: hw_pmu

Type: boolean

Description:

Controls emulation of a virtual performance monitoring unit (vPMU) in the guest. To reduce latency in realtime workloads disable the vPMU by setting hw_pmu=false.

Last updated

Was this helpful?