Per-VM configuration of disk/nic drivers for libvirt

Registered by Daniel Berrange

Currently the libvirt driver mostly hardcodes the drivers it uses for disk/nic devices in guests according to the libvirt hypervisor in use. There is a crude global option "libvirt_use_virtio_for_bridges" to force use of virtio for NICs. This is not satisfactory since to have broad guest OS support, choice of drivers needs to be per-VM.

This blueprint will introduce 2 new metadata options for disk images in glance, which will be used by the libvirt driver to override its default choice of NIC/disk driver when spawning VMs.

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Medium
Drafter:
Daniel Berrange
Direction:
Approved
Assignee:
Daniel Berrange
Definition:
Approved
Series goal:
Accepted for grizzly
Implementation:
Implemented
Milestone target:
milestone icon 2013.1
Started by
Vish Ishaya
Completed by
Thierry Carrez

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/libvirt-custom-hardware,n,z

Addressed by: https://review.openstack.org/20160
    Refactor code for setting up libvirt disk mappings

Addressed by: https://review.openstack.org/20161
    Allow disk driver to be chosen per image

Addressed by: https://review.openstack.org/20511
    Refactor libvirt volume driver classes to reduce duplication

Addressed by: https://review.openstack.org/20512
    Move libvirt NFS volume driver impl into volume.py

Addressed by: https://review.openstack.org/20513
    Move libvirt volume driver tests to separate test case

Addressed by: https://review.openstack.org/21526
    Don't call 'vif.plug' twice during VM startup

Addressed by: https://review.openstack.org/21527
    Allow VIF model to be chosen per image

Gerrit topic: https://review.openstack.org/#q,topic:libvirt-hardware-models-14,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1132739,n,z

Addressed by: https://review.openstack.org/23081
    Add a 'hw_' namespace to glance hardware config properties

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.