Libvirt SPICE direct consoles

Registered by Michael Still

This specification proposes modifications to Nova's libvirt driver to support "direct" SPICE VDI consoles. These consoles are "direct" in that they are not intended to use a HTML5 transcoding proxy to access, and instead the user would use a native SPICE client like `remote-viewer`.

Blueprint information

Status:
Started
Approver:
Sylvain Bauza
Priority:
Undefined
Drafter:
Michael Still
Direction:
Approved
Assignee:
Michael Still
Definition:
Approved
Series goal:
Accepted for 2025.1
Implementation:
Good progress
Milestone target:
None
Started by
Sylvain Bauza

Related branches

Sprints

Whiteboard

Proposed spec: https://review.opendev.org/c/openstack/nova-specs/+/915190

[20240719 bauzas] Spec approved for the Dalmatian cycle

Gerrit topic: https://review.opendev.org/#/q/topic:libvirt-spice-direct-consoles

Addressed by: https://review.opendev.org/c/openstack/nova/+/922544
    libvirt: Add config option to require secure SPICE.

Addressed by: https://review.opendev.org/c/openstack/nova/+/922546
    WIP: libvirt: allow concurrent access to SPICE consoles.

Addressed by: https://review.opendev.org/c/openstack/nova/+/922547
    WIP: libvirt: Add guest devices to support SPICE USB.

Addressed by: https://review.opendev.org/c/openstack/nova/+/922548
    WIP: libvirt: Optionally enable SPICE debug logging.

Addressed by: https://review.opendev.org/c/openstack/nova/+/922549
    WIP: libvirt: Optionally support sound when using SPICE.

Addressed by: https://review.opendev.org/c/openstack/nova/+/924844
    libvirt: allow direct SPICE connections to qemu

Addressed by: https://review.opendev.org/c/openstack/nova/+/926126
    libvirt: Add extra spec for sound device.

Addressed by: https://review.opendev.org/c/openstack/nova/+/926876
    libvirt: direct SPICE console object changes

Addressed by: https://review.opendev.org/c/openstack/nova/+/926877
    libvirt: direct SPICE console database changes

Addressed by: https://review.opendev.org/c/openstack/nova/+/927354
    libvirt: Add extra specs for USB redirection.

[20241119 bauzas] Spec reapproved for the Epoxy timeframe

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.