
On Mon, Apr 25, 2011 at 6:28 PM, Cole Robinson <crobinso@redhat.com> wrote:
[Copying this to libvir-list]
On Mon, Apr 25, 2011 at 01:07:37AM +0400, Emre Erenoglu wrote:
Hi,
I'm the package maintainer for virt-manager and related packages for Pardus distribution. While testing the latest libvirt, virtinst & virt-manager packages, I've come across a strange issue and I would like to get your valuable opinion.
I add all spice related devices and everything works good, except the vdagent inside the windows xp guest. The virtio serial driver is loaded correctly. As I track down the issue, I found out that libvirt is starting qemu-kvm with parameters which do not match the ones adviced by the spice people. Please see below email discussion with them on this. The offending line seems to be the chardev parameter. qemu-kvm is started by virt-manager with the following parameter for chardev:
-chardev null,id=channel0
and the full spice related parameters are:
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x8 -chardev null,id=channel0 -device
virtserialport,bus=virtio-serial0.0,nr=0,chardev=channel0,name=com.redhat.spice.0
-usb -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing -vga qxl -device qxl,id=video1,bus=pci.0,addr=0x7
while spice people adviced:
-chardev spicevmc,id=channel0,name=vdagent
and the rest of the parameters to match it. See below mail on the
I don't know if this is really the issue, but I also recognize the following inside the domain XML:
<channel type='null'> <target type='virtio' name='com.redhat.spice.0'/> <address type='virtio-serial' controller='0' bus='0' port='0'/> </channel>
the "channel type" is listed as "null", while I assume it should have been listed as "spicevmc". (not sure of this, I saw this in some other websites). When I edit the domain xml with virsh edit, it saves my changes but the "null" stays the same how many times I try to change it.
Please note that I've applied the following patches to virtinst 0.500.6:
constrain-spicevmc-usage-correct.patch virtinst-fix-channel-parse.patch virtinst-spicevmc-fixes.patch
which I obtained from the git. I also patched virt-manager 0.8.7 with
On 04/25/2011 04:27 AM, Richard W.M. Jones wrote: details. the
following I obtained from the git:
chardev-hide-unsupported-params-for-selected-type.patch only-show-relevant-char-device-fields.patch show-char-device-target-name.patch chardev-propose-to-add-remove-spice-agent.patch allow-setting-char-device-target-name.patch fix-adding-removing-channel-device.patch
Any idea what I might be missing to get the vdagent run inside the windows guest?
Many thanks,
Emre Erenoglu
What libvirt version are you using? spicevmc requires libvirt 0.8.8. However if libvirt is silently reverting to 'null' it's a bug either way.
Hi Cole, I recognized that I was using 0.8.7 since our iptables version does not support the newly added "CHECKSUM" parameter that libvirt used for iptables commands. I disabled this by patching it and now libvirt 0.9.0 runs good, with the vdagent in the guest also working OK. Many thanks for all who spent their time to fix this issue. yes, libvirt 0.8.7 was silently reverting the change I made manually in the xml file. Neither virsh edit nor editing the xml and re-defining it worked. Once libvirt saw the "spicevmc" there, it just removed it and put "null" instead. -- Emre