Bug 621933 - KVM is not reporting missing support for SCSI
Summary: KVM is not reporting missing support for SCSI
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm   
(Show other bugs)
Version: 6.0
Hardware: All
OS: Linux
Target Milestone: beta
: ---
Assignee: Markus Armbruster
QA Contact: Virtualization Bugs
: 622340 623079 649305 (view as bug list)
Depends On:
Blocks: 580953 727766
TreeView+ depends on / blocked
Reported: 2010-08-06 14:29 UTC by Alexander Todorov
Modified: 2013-01-09 22:59 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 727766 (view as bug list)
Last Closed: 2010-11-18 14:01:46 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Alexander Todorov 2010-08-06 14:29:20 UTC
Description of problem:

I get the below traceback when trying to create a new guest with 3 disk images.

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/create.py", line 1561, in do_install
    dom = guest.start_install(False, meter = meter)
  File "/usr/lib/python2.6/site-packages/virtinst/Guest.py", line 973, in start_install
    return self._do_install(consolecb, meter, removeOld, wait)
  File "/usr/lib/python2.6/site-packages/virtinst/Guest.py", line 1038, in _do_install
  File "/usr/lib/python2.6/site-packages/virtinst/Guest.py", line 1009, in _create_guest
    dom = self.conn.createLinux(start_xml, 0)
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 1270, in createLinux
    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
libvirtError: internal error Process exited while reading console log output: char device redirected to /dev/pts/1
qemu-kvm: -device lsi,id=scsi0,bus=pci.0,addr=0x5: Parameter 'driver' expects a driver name
Try with argument '?' for a list.

Version-Release number of selected component (if applicable):

RHEL6 snap #0 (0805.0)

How reproducible:

Steps to Reproduce:
1. Using virt-manager create a new guest and assign standard 8GB virtio disk
2. Select to customize the guest before install
3. Add additional storage: 1st - 10GB image as IDE disk, 2nd 1GB image as SCSI disk
Actual results:
The above traceback. Guest not created.

Expected results:
Guests starts installing.

Additional info:
libvirt error message from /var/log/messages is pretty much the same as in the traceback:

libvirtd: 10:21:34.402: error : qemudReadLogOutput:2313 : internal error Process exited while reading console log output: char device redirected to /dev/pts/1#012qemu-kvm: -device lsi,id=scsi0,bus=pci.0,addr=0x5: Parameter 'driver' expects a driver name#012Try with argument '?' for a list.#012

Comment 1 Daniel Berrange 2010-08-06 14:47:48 UTC
This is a QEMU bug. It appears latest builds have removed support for SCSI, but the way this is reported when launching a guest with SCSI is horribly misleading making it look like a syntax error in the command line.

# qemu-system-x86_64: -device lsi,id=scsi0,bus=pci.0,addr=0x5: Parameter 'driver' expects a driver name

Should say something along the lines of

# qemu-system-x86_64: -device lsi,id=scsi0,bus=pci.0,addr=0x5: No support for driver name 'lsi'

Comment 2 Daniel Berrange 2010-08-09 02:03:17 UTC
*** Bug 622340 has been marked as a duplicate of this bug. ***

Comment 3 Daniel Berrange 2010-08-11 13:48:38 UTC
*** Bug 623079 has been marked as a duplicate of this bug. ***

Comment 4 Rodrigo A B Freire 2010-11-03 14:19:33 UTC
*** Bug 649305 has been marked as a duplicate of this bug. ***

Comment 5 Markus Armbruster 2010-11-17 14:37:57 UTC
I think we have two separate bugs here.

One is that QEMU's error message is too unspecific.  That's indeed a qemu-kvm bug.

The other is that libvirt doesn't handle the "driver not available" error, and throws an internal error instead (traceback and all).

If libvirt discovered available drivers, not checking for a "driver unavailable" error could be excused, because then the error *is* an internal error.  But since it doesn't discover them, I think it should check for and handle "driver unavailable".

Libvirt not discovering available drivers is a conscious decision. Feature discovery it is rather brittle with current QEMU, because QEMU still lacks sensible discovery interfaces.  Therefore, discovery should be used as sparingly as practical.

Note You need to log in before you can comment on or make changes to this bug.