You can associate metadata with an image using the --property
argument to glance image-create or glance
image-update.For
example:key=value
$ glance image-update img-uuid --property architecture=arm --property hypervisor_type=qemuIf the following properties are set on an image, and the ImagePropertiesFilter scheduler filter is enabled (which it is by default), then the scheduler will only consider compute hosts that satisfy these properties:
- architecture
The CPU architecture that must be supported by the hypervisor, e.g.
x86_64,arm,ppc64. Run uname -m to get the architecture of a machine. We strongly recommend using the architecture data vocabulary defined by the libosinfo project for this purpose. Recognized values for this field are:alphaarmv7lcrisi686Intel sixth-generation x86 (P6 microarchitecture)
ia64lm32m68kmicroblazemicroblazeelmipsmipselmips64mips64elopenriscpariscparisc64ppcppc64ppcembs390s390xsh4sh4ebsparcsparc64unicore32Microprocessor Research and Development Center RISC Unicore32
x86_64xtensaxtensaebTensilica Xtensa configurable microprocessor core (Big Endian)
- hypervisor_type
The hypervisor type. Allowed values include:
xen,qemu,kvm,lxc,uml,vmware,hyperv,powervm.- vm_mode
The virtual machine mode. This represents the host/guest ABI (application binary interface) used for the virtual machine. Allowed values are:
hvmFully virtualized. This is the mode used by QEMU and KVM.
xenXen 3.0 paravirtualized.
umlUser Mode Linux paravirtualized.
exeExecutables in containers. This is the mode used by LXC.
The following metadata properties are specific to the XenAPI driver:
- auto_disk_config
A boolean option. If true, the root partition on the disk will be automatically resized before the instance boots. This value is only taken into account by the Compute service when using a Xen-based hypervisor with the XenAPI driver. The Compute service will only attempt to resize if there is a single partition on the image, and only if the partition is in ext3 or ext4 format.
- os_type
The operating system installed on the image, e.g.
linux,windows. The XenAPI driver contains logic that will take different actions depending on the value of the os_type parameter of the image. For example, for images whereos_type=windows, it will create a FAT32-based swap partition instead of a Linux swap partition, and it will limit the injected hostname to less than 16 characters.
The following metadata properties are specific to the VMware API driver:
- vmware_adaptertype
Indicates the virtual SCSI or IDE controller used by the hypervisor. Allowed values:
lsiLogic,busLogic,ide- vmware_ostype
A VMware GuestID which describes the operating system installed in the image. This will be passed to the hypervisor when creating a virtual machine. See thinkvirt.com for a list of valid values. If this is not specified, it will default to
otherGuest.
- vmware_image_version
Currently unused, set it to
1.
In order to assist end-users in utilizing images, you may wish to put additional common metadata on Glance images. By community agreement, the following metadata keys may be used across Glance installations for the purposes described below.
- instance_uuid
For snapshot images, this is the UUID of the server used to create this image.
- kernel_id
The ID of image stored in Glance that should be used as the kernel when booting an AMI-style image.
- ramdisk_id
The ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.
- os_version
The operating system version as specified by the distributor.
- os_distro
The value of this property is the common name of the operating system distribution in all-lowercase. For this purpose, we use the same data vocabulary as the libosinfo project. Following are the recognized values for this property. In the interest of interoperability, please use only a recognized value for this field. The deprecated values are listed to assist you in searching for the recognized value. Allowed values are:
archThis is: Arch Linux
Do not use:
archlinux, ororg.archlinuxcentosThis is: Community Enterprise Operating System
Do not use:
org.centosCentOSdebianThis is: Debian
Do not use:
Debian, ororg.debianfedoraThis is: Fedora
Do not use:
Fedora,org.fedora, ororg.fedoraprojectfreebsdThis is: FreeBSD
Do not use:
org.freebsd,freeBSD, orFreeBSDgentooThis is: Gentoo Linux
Do not use:
Gentoo, ororg.gentoomandrakeThis is: Mandrakelinux (MandrakeSoft)
Do not use:
mandrakelinux, orMandrakeLinuxmandrivaThis is: Mandriva Linux
Do not use:
mandrivalinuxmesThis is: Mandriva Enterprise Server
Do not use:
mandrivaent, ormandrivaESmsdosThis is: Microsoft Disc Operating System
Do not use:
ms-dosnetbsdThis is: NetBSD
Do not use:
NetBSD, ororg.netbsdnetwareThis is: Novell NetWare
Do not use:
novell, orNetWareopenbsdThis is: OpenBSD
Do not use:
OpenBSD, ororg.openbsdopensolarisDo not use:
OpenSolaris,ororg.opensolarisopensuseThis is: openSUSE
Do not use:
suse,SuSE, ororg.opensuserhelThis is: Red Hat Enterprise Linux
Do not use:
redhat,RedHat, orcom.redhatsledThis is: SUSE Linux Enterprise Desktop
Do not use:
com.suseubuntuThis is: Ubuntu
Do not use:
Ubuntu,com.ubuntu,org.ubuntu, orcanonicalwindowsThis is: Microsoft Windows
Do not use:
com.microsoft.server, orwindoze

