glance/etc/metadefs/compute-libvirt-image.json
Gonéri Le Bouder d883e4fd5b doc: update the kvm kw_vif_model driver list
The kw_vif_model driver list has evolved a bit. This commit adds:
- e1000e: I12a5d28d75bc32a76a4f3765cb4db4cbc46c0c75
- vmxnet3 I95203af4ded9a4dbecfb7981b400f0fb988f2d47

Change-Id: I23fbd227274c89735547322cedda565c5987776d
2022-07-04 22:39:25 +02:00

156 lines
7.4 KiB
JSON

{
"namespace": "OS::Compute::LibvirtImage",
"display_name": "libvirt Driver Options for Images",
"description": "The libvirt Compute Driver Options for Glance Images. \n\nThese are properties specific to compute drivers. For a list of all hypervisors, see here: https://wiki.openstack.org/wiki/HypervisorSupportMatrix.",
"visibility": "public",
"protected": true,
"resource_type_associations": [
{
"name": "OS::Glance::Image"
}
],
"properties": {
"hw_cdrom_bus": {
"title": "CD-ROM Bus",
"description": "Specifies the type of disk controller to attach CD-ROM devices to.",
"type": "string",
"enum": [
"scsi",
"virtio",
"uml",
"xen",
"ide",
"usb",
"fdc",
"sata",
"lxc"
]
},
"hw_disk_bus": {
"title": "Disk Bus",
"description": "Specifies the type of disk controller to attach disk devices to.",
"type": "string",
"enum": [
"scsi",
"virtio",
"uml",
"xen",
"ide",
"usb",
"fdc",
"sata",
"lxc"
]
},
"hw_firmware_type": {
"title": "Firmware Type",
"description": "Specifies whether the image should be booted with a legacy BIOS or with UEFI.",
"type": "string",
"enum": [
"bios",
"uefi"
]
},
"hw_rng_model": {
"title": "Random Number Generator Device",
"description": "Adds a random-number generator device to the image's instances. The cloud administrator can enable and control device behavior by configuring the instance's flavor. By default: The generator device is disabled. /dev/random is used as the default entropy source. To specify a physical HW RNG device, use the following option in the nova.conf file: rng_dev_path=/dev/hwrng",
"type": "string",
"default": "virtio"
},
"hw_machine_type": {
"title": "Machine Type",
"description": "Enables booting an ARM system using the specified machine type. By default, if an ARM image is used and its type is not specified, Compute uses vexpress-a15 (for ARMv7) or virt (for AArch64) machine types. Valid types can be viewed by using the virsh capabilities command (machine types are displayed in the machine tag).",
"type": "string"
},
"hw_scsi_model": {
"title": "SCSI Model",
"description": "Enables the use of VirtIO SCSI (virtio-scsi) to provide block device access for compute instances; by default, instances 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.",
"type": "string",
"default": "virtio-scsi"
},
"hw_video_model": {
"title": "Video Model",
"description": "The graphic device model presented to the guest. hw_video_model=none disables the graphics device in the guest and should generally be used when using gpu passthrough.",
"type": "string",
"enum": [
"vga",
"cirrus",
"vmvga",
"xen",
"qxl",
"virtio",
"gop",
"none",
"bochs"
]
},
"hw_video_ram": {
"title": "Max Video Ram",
"description": "Maximum RAM (unit: 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.",
"type": "integer",
"minimum": 0
},
"os_command_line": {
"title": "Kernel Command Line",
"description": "The kernel command line to be used by the libvirt driver, instead of the default. For linux containers (LXC), the value is used as arguments for initialization. This key is valid only for Amazon kernel, ramdisk, or machine images (aki, ari, or ami).",
"type": "string"
},
"os_type": {
"title": "OS Type",
"description": "The operating system installed on the image. The libvirt 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.",
"type": "string",
"enum": [
"linux",
"windows"
]
},
"hw_vif_model": {
"title": "Virtual Network Interface",
"description": "Specifies the model of virtual network interface device to use. The valid options depend on the hypervisor configuration. libvirt driver options: KVM and QEMU: e1000, ne2k_pci, pcnet, rtl8139, spapr-vlan, virtio, e1000e and vmxnet3. Xen: e1000, netfront, ne2k_pci, pcnet, and rtl8139.",
"type": "string",
"enum": [
"e1000",
"e1000e",
"ne2k_pci",
"netfront",
"pcnet",
"rtl8139",
"spapr-vlan",
"virtio",
"vmxnet3"
]
},
"hw_vif_multiqueue_enabled": {
"title": "Multiqueue Enabled",
"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.",
"type": "string",
"enum": ["true", "false"]
},
"hw_pmu": {
"title": "Virtual Performance Monitoring Unit",
"description": "Controls emulation of a vPMU in the guest. To reduce latency in realtime workloads disable the vPMU by setting hw_pmu=false",
"type": "string",
"enum": ["true", "false"]
},
"hw_qemu_guest_agent": {
"title": "QEMU Guest Agent",
"description": "This is a background process which helps management applications execute guest OS level commands. For example, freezing and thawing filesystems, entering suspend. However, guest agent (GA) is not bullet proof, and hostile guest OS can send spurious replies.",
"type": "string",
"enum": ["yes", "no"]
},
"hw_pointer_model": {
"title": "Pointer Model",
"description": "Input devices 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.",
"type": "string",
"enum": ["usbtablet"]
},
"img_hide_hypervisor_id": {
"title": "Hide hypervisor id",
"description": "Enables hiding the host hypervisor signature in the guest OS.",
"type": "string",
"enum": ["yes", "no"]
}
},
"objects": []
}