VirtDriverImageProperties

= Virt Driver Image Properties =

The virtualization drivers make use of metadata properties set against the glance or cinder image to customize aspects of the guest instance setup.

Glance

 * Core image properties are described in the image JSON schema which is the response to GET v2/schemas/image (see the API quick ref for an example schema: http://api.openstack.org/api-ref-image.html
 * The recommended values for some "common image properties" are documented at http://docs.openstack.org/developer/glance/common-image-properties.html
 * Recommendation that properties related to guest hardware config have a 'hw_' prefix

Libvirt

 * architecture - name of guest hardware architecture eg i686, x86_64, ppc64
 * hw_cdrom_bus - name of the CDROM bus to use eg virtio, scsi, ide
 * hw_disk_bus - name of the hard disk bus to use eg virtio, scsi, ide
 * hw_floppy_bus - name of the floppy disk bus to use eg fd, scsi, ide
 * hw_qemu_guest_agent - boolean 'yes' or 'no' to enable QEMU guest agent
 * hw_rng - name of the RNG device type eg virtio (pending merge)
 * hw_scsi_model - name of the SCSI bus controller eg 'virtio-scsi', 'lsilogic', etc (pending merge)
 * hw_video_model - name of the video adapter model to use, eg cirrus, vga, xen, qxl
 * hw_video_ram - MB of video RAM to provide eg 64 (pending merge)
 * hw_vif_model - name of a NIC device model eg virtio, e1000, rtl8139
 * hw_watchdog_action - action to take when watchdog device fires eg reset, poweroff, pause, none (pending merge)
 * os_command_line - string of boot time command line arguments for the guest kernel

VMWare

 * hw_vif_model - name of the NIC model eg 'VirtualE1000'
 * owner_id - instance project id (set on upload but never read by anything !?!?)
 * vmware_adaptertype - name of the SCSI adapter model eg 'lsiLogic'
 * vmware_disktype - allocation mode eg 'preallocated'
 * vmware_image_version - integer value 1 (set on upload but never read by anything !?!?)
 * vmware_linked_clone - boolean flag to set space-saving or performance behavior on the Datastore
 * vmware_ostype - name of the guest OS type eg "otherGuest"

XenAPI

 * auto_disk_config - set on upload from instance 'auto_disk_config' - stored in instance object - used to decide to expand root disk partition and fs to full size of root disk
 * ipxe_boot - boolean - used to trigger code to inject networking when booting a CD image with a network boot image
 * os_type - set on upload from instance 'os_type' - used for many things, such as PV vs HVM defaults, default filesystem types, etc
 * xenapi_device_id - guest ABI version for guest xentools either 1 or 2 (or 3 - depends on Citrix PV tools version installed in image)
 * xenapi_image_compression_level - set from xenserver.image_compression_level global config - probably not read by anything
 * xenapi_use_agent - boolean - if false don't talk to nova agent
 * xenapi_skip_agent_inject_ssh - boolean - if using agent don't try inject ssh key, assume someone else is doing that (cloud-init)
 * xenapi_skip_agent_inject_files_at_boot - boolean - if using agent don't inject files, assume someone else is doing that (cloud-init)
 * cache_in_nova - boolean - if True, and image cache set to "some" decides if image should be cached on host when server is booted on that host
 * vm_mode - "xen" vs "hvm" - stored in instance object
 * bittorrent - if true download using bittorrent

Note - many are accessed by looking at system metadata

Bare Metal
None used / set

Docker
None used / set

Hyper-V
None used / set