kimchi-project / kimchi

An HTML5 management interface for KVM guests
https://github.com/kimchi-project/kimchi/releases/latest
Other
3.12k stars 364 forks source link

iso streaming: no screenshot displayed by vm created by streaming iso #164

Closed lvroyce closed 10 years ago

lvroyce commented 11 years ago

Reproduce:

  1. create a template with streaming iso
  2. create a vm from this template and start the vm

expected result: screenshot is displayed

actual result: Black screen displayed

alinefm commented 11 years ago

I am able to reproduce it. From kimchi log I see:

libvir: I/O Stream Utils error : internal error: libvirt: error : cannot execute binary /usr/libexec/libvirt_iohelper: No such file or directory

I am investigating it. Maybe it is because I am running libvirt from source code

lvroyce commented 11 years ago

In Fedora 19, got following error: libvirt: QEMU Driver error: Timed out during operation: cannot acquire state change lock. Tested with: qemu-kvm --cdrom http://mirrors.yun-idc.com/fedora/releases/19/Fedora/x86_64/iso/Fedora-19-x86_64-DVD.iso qemu blocked. This bug is reported in: https://bugzilla.redhat.com/show_bug.cgi?id=785594 and https://bugzilla.redhat.com/show_bug.cgi?id=971790#c21

lvroyce commented 11 years ago

In ubuntu13.04, qemu --cdrom http://mirrors.yun-idc.com/fedora/releases/19/Fedora/x86_64/iso/Fedora-19-x86_64-DVD.iso works well. We may firstly use ubuntu 13.04 for iso streaming demo @aglitke

lvroyce commented 11 years ago

In libvirt qemu/qemu_driver.c:qemuDomainScreenshot, we enter in monitor and do screenshot, but qemu start with remote iso makes it blocks and timeout and following screenshot fails

alinefm commented 11 years ago

@lvroyce I am able to reproduce it on Fedora 19 with the following packages installed:

libvirt-1.0.5.6-3.fc19.x86_64 qemu-kvm-1.4.2-12.fc19.x86_64

On Ubuntu I could start the VM using ISO streaming without problems (with screenshots, stats and VNC)

I will check it on OpenSUSE and RedHat. Maybe it is a problem only on Fedora.

alinefm commented 11 years ago

On Fedora the curl version is: curl-7.29.0-12.fc19.x86_64

And on Ubuntu I am using:

alinefm commented 11 years ago

I have tried upstream qemu on Fedora and Ubuntu. On Fedora the iso streaming failed, and on Ubuntu it worked as expected.

The problem seems to be in curl packages. I will test the upstream qemu and curl on Fedora and check if iso streaming get working.

Maybe it is a problem on how Fedora build curl packages [http://thread.gmane.org/gmane.comp.web.curl.library/39574/focus=39590]

lvroyce commented 11 years ago

So we either build a curl for ourselves without the '--enable-threaded-resolver' option or use non-fedora.

alinefm commented 11 years ago

While testing and testing this problem on Fedora 19 I identified it only happens while using host names! If we use the IP address instead of the host name, it works!

I propose to do it as following:

1) run the sanity test using a Kimchi URL qemu-io http://localhost:8000/images/icon-fedora.png -c 'read -v 0 512'

2) if the above test fails we convert the host name to the IP address and then iso streaming works

adamkingit commented 11 years ago

After applying the latest patches this week, I now have this problem on Fedora 18 as well.

alinefm commented 10 years ago

Fixed by 620618b98900a8b1b9505118feea988ff2a235d9 29c733887b8d9fa4cbb6cffdb535426fc0fd4156