[et-mgmt-tools] lot's of trouble using virt-manager and virt-install with qemu

Daniel P. Berrange berrange at redhat.com
Thu Apr 26 14:05:16 UTC 2007


On Thu, Apr 26, 2007 at 10:18:13AM +0530, Source wrote:
> I have installed kvm-20 from source code. Loaded the kvm module and started
> the said libvirtd service. Now when I try to use virt-manager to create a
> new virtual machine it ends up saying no /usr/bin/qemu-kvm found.
> Now I found that I don't have this file. At the irc I was told to use
> kvm-19-1.src.rpm from FC7 extras development SRPMS. I used that also. I
> compiled it too. It got compiled and installed successfully but that too
> didn't provided qemu-kvm. I found that in the source tree of kvm there is a
> directory qemu/ in which I have qemu-kvm.c and qemu-kvm.h which get's
> compiled to qemu-kvm.o and get's into qemu/i386-softmmu/qemu-kvm.o but it
> doesn't makes any qemu-kvm executable in /usr/bin.

ACAIT from the spec file rules it isn't possible to successfully build the 
KVM rpm and *not* get a /usr/bin/qemu-kvm built. That file is explicitly
listed in the %files section, so there's no way the RPM would be able to
finish building without it being created. 

FYI, what I do to rebiuld src.rpms is:

 # rpmbuild --rebuild --define 'dist .fc7' kvm-19-2.src.rpm

Verify it was built:

 # rpm -qlp /home/berrange/rpm/RPMS/i386/kvm-19-2.i386.rpm | grep /usr/bin/qemu-kvm
 /usr/bin/qemu-kvm

> Also I tried to use virt-install , first of all I would like to tell that
> it's not intelligent enough to guess which hypervisor to use if we don't
> pass --connect argument. Now when I use it with --connect=qemu:///system to
> create a new virtual machine I got the following error:

We recently added logic to virt-manager to 'guess' an appropriate hypervisor
URI based on the host kernel being run. We should probably do similar in 
the virt-install case.

> libvir: QEMU error : internal error Failed to add tap interface 'vnet%d' to
> bridge 'xenbr0' : No such device
> Traceback (most recent call last):
>  File "/usr/bin/virt-install", line 630, in ?
>    main()
>  File "/usr/bin/virt-install", line 579, in main
>    dom = guest.start_install(conscb,progresscb)
>  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 649, in
> start_install
>    return self._do_install(consolecb, meter)
>  File "/usr/lib/python2.4/site-packages/virtinst/Guest.py", line 666, in
> _do_install
>    self.domain = self.conn.createLinux(install_xml, 0)
>  File "/usr/lib/python2.4/site-packages/libvirt.py", line 480, in
> createLinux
>    if ret is None:raise libvirtError('virDomainCreateLinux() failed',
> conn=self)
> libvirt.libvirtError: virDomainCreateLinux() failed internal error Failed to
> add tap interface 'vnet%d' to bridge 'xenbr0' : No such device
> 
> Now it seems to follow a default xml file here. And it is trying to find
> xenbr0 which I don't have as I am not using a xen kernel so no xend running
> at the moment. It should use in that case eth0/eth1 right?

Yes, that's a bug - its trying to auto-setup the guest with bridge networking
and not finding any bridges, so (incorrectly) falling back to xenbr0 which
it just verified doesn't exist !

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the et-mgmt-tools mailing list