libvirt video device models

Registered by sean mooney

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
Completed by
sean mooney

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.