Re: SPICE PROTOCOL REBORN on KUBEVIRT

180 views
Skip to first unread message

Stu Gott

unread,
Apr 16, 2025, 11:03:32 AM4/16/25
to an...@meyerpflug.com.br, kubevirt-dev
Hi Andre,

Adding the dev mailing list as this might be a wider discussion.

On Wed, Apr 16, 2025 at 10:49 AM Andre Meyer Pflug <an...@meyerpflug.com.br> wrote:
Dear Scott Herold,

As we discussed at the community meeting of KUBEVIRT, we are building a team to develop what is missing and use SPICE PROTOCOL on kubevirt instead of RDP...

I did some digging on this and got the following insights:

Heads up, SPICE protocol is removed entirely in upcoming qemu versions. This is a complete showstopper for re-enabling it. KubeVirt flatly won't be able to proxy something that's not there.

Additionally, SPICE does not have a web-enabled version so there's no way for server side representation of the VM.

There exist SPICE implementations that can run inside the VM. Have you explored this?

I'm genuinely curious what shortcomings RDP has over SPICE that you would need to use the latter. I regard SPICE as generally inferior.

Stu Gott



Can you please check if the removal of this protocol on kubevirt was a budget cut from red hat on spice protocol or if there is a technical reason why it was removed from kubevirt?

Any help is welcome!

Kind regards,

Andre Meyer Pflug
CEO
+5512997636025 (Whatsapp/WeChat)
thewonder.cloud

Victor Toso

unread,
Apr 16, 2025, 12:23:52 PM4/16/25
to Stu Gott, an...@meyerpflug.com.br, kubevirt-dev, Marc-André Lureau
Hi,

I was part of SPICE team in Red Hat.

On Wed, Apr 16, 2025 at 11:03:09AM -0400, 'Stu Gott' via kubevirt-dev wrote:
> Hi Andre,
>
> Adding the dev mailing list as this might be a wider discussion.
>
> On Wed, Apr 16, 2025 at 10:49 AM Andre Meyer Pflug <an...@meyerpflug.com.br>
> wrote:
>
> Dear Scott Herold,
>
> As we discussed at the community meeting of KUBEVIRT, we
> are building a team to develop what is missing and use
> SPICE PROTOCOL on kubevirt instead of RDP...
>
> I did some digging on this and got the following insights:
>
> Heads up, SPICE protocol is removed entirely in upcoming qemu
> versions. This is a complete showstopper for re-enabling it.
> KubeVirt flatly won't be able to proxy something that's not
> there.

It is not enable in centos9stream which is what we use to build
KubeVirt images. SPICE packages were also removed, apart from
what is needed to keep compability, that is, spice-protocol
(headers) and spice-vdagent (guest agent).

Without spice-server we can't enable spice driver in QEMU, so not
doable from c9s onwards.

> Additionally, SPICE does not have a web-enabled version so
> there's no way for server side representation of the VM.

SPICE actually has a spice-html5 client. Still needs server side
to do work.

> There exist SPICE implementations that can run inside the VM.
> Have you explored this?

There is, x11spice for example. I think Frediano worked on
equivalent of Windows.

> I'm genuinely curious what shortcomings RDP has over SPICE that
> you would need to use the latter. I regard SPICE as generally
> inferior.

No offense taken ;) It was actually pretty good.

Main issue with SPICE is that upstream community is very much low
in contributions. For a long while it was basically dead after
Red Hat defunded the project. We have ocasional contributions,
but that's it.

I think RDP has good chance of success in KubeVirt because it can
be out of process, communicating over DBUS

https://crates.io/crates/qemu-rdp

That is better approach IMHO than linking to spice-server.

We could probably work towards good design for VDI with RDP in
KubeVirt... libvirt has support for this since v11.2.0 (last
release!) probably will only be available for centos 10 as they
are on backport mode for centos 9.
https://www.mail-archive.com/de...@lists.libvirt.org/msg09431.html

Cheers,
Victor
signature.asc

Andre Meyer Pflug

unread,
Apr 16, 2025, 1:32:00 PM4/16/25
to Stu Gott, kubevirt-dev
Dear Stu, and Community

We plan to build a team to finish the development of SPICE and reach production quality software. Any help is welcome...

Regarding:
"Heads up, SPICE protocol is removed entirely in upcoming qemu versions. This is a complete showstopper for re-enabling it. KubeVirt flatly won't be able to proxy something that's not there."

The decision to remove spice from QEMU was made because of a lack of investment on the SPICE that we plan to address...

Regarding:
"There exist SPICE implementations that can run inside the VM. Have you explored this?"
We have an ambient with this enabled... Now we are doing a GAP analysis to see what is missing...

Regarding:
"I'm genuinely curious what shortcomings RDP has over SPICE that you would need to use the latter. I regard SPICE as generally inferior."
As we said before we plan to reach production quality software...

Andre Meyer Pflug
CEO
+5512997636025 (Whatsapp/WeChat)
thewonder.cloud

Victor Toso

unread,
Apr 16, 2025, 4:03:37 PM4/16/25
to Andre Meyer Pflug, Stu Gott, kubevirt-dev
Oi Andre,

On Wed, Apr 16, 2025 at 02:31:42PM -0300, Andre Meyer Pflug wrote:
> Dear Stu, and Community
>
> We plan to build a team to finish the development of SPICE and
> reach production quality software. Any help is welcome...

Very exciting! Reach us towards spice-devel mailing list. Time
allowing, I'll help review patches and I'm sure Frediano too:

https://lists.freedesktop.org/mailman/listinfo/spice-devel

> Regarding:
> > "Heads up, SPICE protocol is removed entirely in upcoming qemu
> > versions. This is a complete showstopper for re-enabling it.
> > KubeVirt flatly won't be able to proxy something that's not
> > there."
>
> The decision to remove spice from QEMU was made because of a
> lack of investment on the SPICE that we plan to address...

I don't think it'll be trivial to enable SPICE on QEMU in centos
stream but you could have your custom virt-launcher image that
includes a custom QEMU build with SPICE enabled [0]. I just want
to stress that it will be very hard to have it enabled by default
on centos stream.

[0] https://github.com/kubevirt/kubevirt/blob/main/docs/custom-rpms.md#add-the-custom-repository-to-kubevirt

> Regarding:
> > "There exist SPICE implementations that can run inside the VM. Have you
> > explored this?"
> > We have an ambient with this enabled... Now we are doing a GAP
> > analysis to see what is missing...
>
> Regarding:
> > "I'm genuinely curious what shortcomings RDP has over SPICE
> > that you would need to use the latter. I regard SPICE as
> > generally inferior."

> As we said before we plan to reach production quality
> software...

Looking forward to it.

(...)

I completely missed this one:

> > > Can you please check if the removal of this protocol on
> > > kubevirt was a budget cut from red hat on spice protocol
> > > or if there is a technical reason why it was removed from
> > > kubevirt?

SPICE was removed from KubeVirt in:

https://github.com/kubevirt/kubevirt/pull/618

This was in 2017 and Red Hat was still funding the project, so it
was not a budget cut that removed SPICE from KubeVirt. David
provided some insight on the motivations:

https://github.com/kubevirt/kubevirt/pull/618#issuecomment-352192497

Att,
Victor
signature.asc
Reply all
Reply to author
Forward
0 new messages