Red Hat Bugzilla – Bug 664190
Wrong "addr" Spice parameter in libvirt 0.8.6
Last modified: 2011-03-01 06:19:35 EST
Description of problem:
Running libvirt 0.8.6, spice parameters does not work
Version-Release number of selected component:
Steps to Reproduce:
Change VM XML file to this (instead VNC):
<graphics type='spice' port='5903' />
Try to start VM with:
# virsh start Ubuntu
error: Failed to start domain Ubuntu
error: internal error Process exited while reading console log output: qemu-kvm: -spice port=5903,addr=127.0.0.1,disable-ticketing: Invalid parameter 'addr'
parse error: port=5903,addr=127.0.0.1,disable-ticketing
Domain Ubuntu started
To fix that, I had to edit the "src/qemu/qemu_command.c", in libvirt source, commenting this lines:
* if (def->graphics->data.spice.listenAddr)
* virBufferVSprintf(&opt, ",addr=%s", def->graphics >data.spice.listenAddr);
* else if (driver->spiceListen)
* virBufferVSprintf(&opt, ",addr=%s", driver->spiceListen);
Created attachment 476095 [details]
patch disabling addr
I tried patching the rawhide srpm with the attached patch, but it fails to build on f14 mock giving errors like:
/usr/lib/gcc/x86_64-redhat-linux/4.5.1/include/stdarg.h:40:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'typedef'
Created attachment 476096 [details]
Patch that actually works
Erm, after posting this I realised where I screwed up. Feel free to ignore me, it's late.
Well, I spoke too soon. The qemuxml2argvtest which are a part of rpm build process fails.
Created attachment 476100 [details]
final patch version
The final version also disables the failing test so that the SRPM can be rebuilt.
$ rpm -q spice-client libvirt
With these packages everything seems to work. Looking at the logs it seems spice accepts addr parameter now.
The problem here is that in the Fedora 14 version of QEMU, the SPICE support is done via a set of non-upstream patches. These patches did not include the 'addr' element. libvirt is designed to work with the upstream QEMU codebase. I have verified that it works with the Fedora 15 version fo QEMU.