libvirt video device models

Registered by sean mooney on 2019-03-26

The libvirt virt driver supports setting the device model for the video device used to back the guest display via the image metadata

https://github.com/openstack/glance/blob/117cecfb4c8639a9b198d41c2d6a105acb4a49d4/etc/metadefs/compute-libvirt-image.json#L45-L56

since this feature was introduced new models ( gop, none) have been added to libvirt.
https://libvirt.org/formatdomain.html#elementsVideo

This specless blueprint simply tracks adding the missing values and the required version checks.

video model definitions
gop: The uefi graphic output protocol device model
virtio: A virtual gpu implementing the gallium gpu spec leveraging the virgl renderer to
          enable opengl rendering. note this gpu model can leverage hardware acceleration
           if the host has a gpu. see https://virgil3d.github.io/ for more info.
none: The ``none`` video model can be used to disable emulated video devices. this is
          useful when using pGPU or vGPU pass through or can also be used when a
         graphic terminal is not desired for the guest.

note: while virtio was previously available and enabled by default for AArch64 systems
this blueprint allows it to be used on other architectures.

Blueprint information

Status:
Complete
Approver:
Eric Fried
Priority:
Low
Drafter:
sean mooney
Direction:
Approved
Assignee:
sean mooney
Definition:
Approved
Series goal:
Accepted for train
Implementation:
Implemented
Milestone target:
None
Started by
sean mooney on 2019-04-24
Completed by
sean mooney on 2019-07-01

Related branches

Sprints

Whiteboard

Note to future readers i have a related blueprint
https://blueprints.launchpad.net/nova/+spec/image-metadata-prefiltering
which will intoduce the ablity to schdule based on device model support
via placement. The spec for that feature is avilable here https://review.openstack.org/647578 for review. As a result this specless blueprint in not intended to change schduling in any way and mearly tracks the extention of the libvirt dirver support
and updating the glance metadefs.

note i miss read the code comment virtio is already supported
https://github.com/openstack/nova/commit/f0f09530ee9169eb29bc28d4f118676d7dc6640e
mearly made it default on AArch64 it did not restrit it to aarch64.

Gerrit topic: https://review.openstack.org/#q,topic:bp/libvirt-video-device-models,n,z

Addressed by: https://review.openstack.org/647733
    extend libvirt video model support

Gerrit topic: https://review.openstack.org/#/q/topic:bp/libvirt-video-device-models

Per the 2019-04-18 nova meeting [1] this is probably OK as a specless blueprint, but efried was going to follow up with kashyap to make sure kashyap was on board with this, but I suspect it will get approved for Train. -- mriedem 20190424

efried 20190425 - kashyap reviewed, sean updated, everyone's happy, approving.

[1] http://eavesdrop.openstack.org/meetings/nova/2019/nova.2019-04-18-14.00.log.html#l-160

Gerrit topic: https://review.opendev.org/#/q/topic:bp/libvirt-video-device-models

Addressed by: https://review.opendev.org/647733
    extend libvirt video model support

Addressed by: https://review.opendev.org/666919
    [FUP] fix backleveling unit test for video models

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.