Bug 1459966

Summary: Communication between -chardev spiceport and -device virtserialport doesn't work in qemu-kvm
Product: Red Hat Enterprise Linux 7 Reporter: David Jaša <djasa>
Component: qemu-kvmAssignee: Marc-Andre Lureau <marcandre.lureau>
Status: CLOSED NEXTRELEASE QA Contact: Chao Yang <chayang>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: chayang, djasa, juzhang, knoel, marcandre.lureau, michen, rbalakri, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-16 13:21:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Jaša 2017-06-08 17:02:36 UTC
Description of problem:
Webdav doesn't work in RHEL 7.4 

Version-Release number of selected component (if applicable):
qemu-kvm-1.5.3-140.el7.x86_64
qemu-kvm-rhev-2.6.0-28.el7_3.10.x86_64 (ships with RHV 4.1, works)
spice-server-0.12.8-2.el7.x86_64 (works with qemu-kvm-rhev)

How reproducible:
always

Steps to Reproduce:
1. run VM with webdav devices present
2. connect to client with webdav support to guest with webdav support (e.g. F25 to F25 on top of RHEL 7.4)
3. share some folder in virt-viewer's File → Preferences
4. in the guest, do one of the following:
    go to Nautilus → Other Locations, click Spice-client-folder
    CLI: cadaver http://127.0.0.1:9843/

Actual results:
connections time out

Expected results:
webdav works with RHEL's default qemu

Additional info:

Comment 1 Karen Noel 2017-06-13 14:43:16 UTC
David, Some questions:

What is a webdav device?

What is the libvirt XML you are using? Also, provide the qemu-kvm command line.

What is the use case for webdav? What customers want to use it? Why?

Thanks.

Comment 2 David Jaša 2017-06-15 16:18:09 UTC
Hello Karen,

The original bug title is actually incorrect. From qemu point of view, spice's "folder sharing" feature is just connecting -device virtserialport frontend to -chardev spiceport backend, introduced in qemu 1.4.

The name of the port ("org.spice-space.webdav.0") and the protocol used to share some client folder to the guest (Webdav) is not much relevant from qemu POV. Until now, the spice port channel didn't have much use as it required modified client. With current rebase of spice-server to 0.12.8, we got an internal use of the virtserialport connected to spiceport backend device, exposing this bug.

There have been just three commits mentioning "spiceport" in commit message in whole qemu history and around a dozen when doing pickaxe search:
http://git.qemu.org/?p=qemu.git&a=search&st=commit&s=spiceport
http://git.qemu.org/?p=qemu.git&a=search&st=pickaxe&s=spiceport
and as mentioned earlier, in RHV's qemu 2.6, spiceport device works OK so the fix should not be hard. Marc-André (already in CC) may know more, he worked on the feature both on qemu and spice sides.

Comment 3 Marc-Andre Lureau 2017-06-18 22:40:38 UTC
commit 890911464934aebcb4409ad2495449d15d7347b4 needs to be backported for spice-ports to work with virtio-ports. I don't know if this is rhel7 material though.

Comment 4 Marc-Andre Lureau 2017-11-16 10:56:37 UTC
moving to 7.6