Bug 913758

Summary: virt-manager gets "connection reset by peer" when trying to start a VM with a SCSI disk
Product: Red Hat Enterprise Linux 6 Reporter: Gordan Bobic <gordan>
Component: virt-managerAssignee: Martin Kletzander <mkletzan>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: acathrow, dyasny, dyuan, gsun, mkletzan, mzhan, rwu, tzheng, weizhan, zhpeng
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-16 07:57:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Gordan Bobic 2013-02-22 00:19:02 UTC
Description of problem:
If a VM is created with a SCSI disk (as opposed to a default IDE disk), virt-manager failes with the following error:

Error starting domain: Unable to read from monitor: Connection reset by peer

Error starting domain: Unable to read from monitor: Connection reset by peer

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 45, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/engine.py", line 956, in asyncfunc
    vm.startup()
  File "/usr/share/virt-manager/virtManager/domain.py", line 1048, in startup
    self._backend.create()
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 619, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer

Changing the disk mode to IDE and removing the SCSI controller from the configuration makes the problem disappear.

Version-Release number of selected component (if applicable):
virt-manager-0.8.6-4.el6.noarch
libvirt-0.9.10-21.el6.x86_64

How reproducible:
Every time.

Steps to Reproduce:
1. Create a VM for Windows XP 64-bit
2. Choose to customize the VM before installing
3. Edit the disk and change the type from IDE to SCSI
4. Attempt to start the VM - it fails with the error above
  
Additional info:
If SCSI device emulation is broken it should at the very least not be selectable in the configuration.

Comment 2 Martin Kletzander 2013-02-22 10:18:28 UTC
This looks like a libvirt problem.  Could you please reproduce that again with 'virt-manager --debug' and attach both the output and /var/log/libvirt/<type>/<machinename>.log here?  Not to bother you again, it would definitely help if you could set libvirtd to log debug messages ( http://wiki.libvirt.org/page/DebugLogs ) and attach that one as well.  Thank you.

Comment 3 tingting zheng 2013-02-25 11:39:28 UTC
Hi,Gordan
   I've tried to reproduce this issue with the version you provided,however,I found on rhel6.3 and rhel6.4,SCSI disk type is hidden from virt-manager as bug 727766,there are only IDE and Virtio showed on Disk bus from virt-manager GUI.So would you pls tell me what else I've missed or how to reproduce it,thanks in advance.

Comment 4 weizhang 2013-03-01 09:18:42 UTC
Hi Gordan,

I use virt-manager 0.8.6-4 and try to reproduce, it shows

Unable to complete install: 'internal error Process exited while reading console log output: char device redirected to /dev/pts/0
qemu-kvm: -device lsi,id=scsi0,bus=pci.0,addr=0x5: Parameter 'driver' expects a driver name
Try with argument '?' for a list.
'
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 45, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/create.py", line 1622, in do_install
    guest.start_install(False, meter=meter)
  File "/usr/lib/python2.6/site-packages/virtinst/Guest.py", line 1223, in start_install
    noboot)
  File "/usr/lib/python2.6/site-packages/virtinst/Guest.py", line 1291, in _create_guest
    dom = self.conn.createLinux(start_xml or final_xml, 0)
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2467, 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/0
qemu-kvm: -device lsi,id=scsi0,bus=pci.0,addr=0x5: Parameter 'driver' expects a driver name
Try with argument '?' for a list.

Seems the scsi controller model not correctly. And it is indeed that by virt-manager there is no way to set controller mode. And the default mode 'lsi' are not supported by qemu-kvm. So could you please attach the qemu version? BTW for newer virt-manager, as comment 3 said, the scsi type is hidden.

Comment 5 Gordan Bobic 2013-04-10 20:28:07 UTC
Apologies, it looks like my virt-manager wasn't fully up to date, and was still exposing the SCSI disk type option.

It is a little disappointing that the option was removed rather than fixed, but in that context, I guess this is already "fixed" as per ticket 727766.

Comment 6 Martin Kletzander 2013-04-16 07:57:02 UTC
As you found out, the support was dropped due to missing support in qemu.  I'm glad the updated version at least copes with what you anticipated in case SCSI isn't working.  So I'm closing this BZ, feel free to reopen if you disargee.

*** This bug has been marked as a duplicate of bug 727766 ***