RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 653675 - virt-manager should not allow options that break guests (SCSI, etc.)
Summary: virt-manager should not allow options that break guests (SCSI, etc.)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virt-manager
Version: 6.0
Hardware: All
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Cole Robinson
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 645519 701873
TreeView+ depends on / blocked
 
Reported: 2010-11-15 22:24 UTC by Robin R. Price II
Modified: 2011-05-19 13:47 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 701873 (view as bug list)
Environment:
Last Closed: 2011-05-19 13:47:28 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
screenshot of adding new hardware options (40.44 KB, image/png)
2010-11-16 14:46 UTC, Robin R. Price II
no flags Details
screenshot error (42.35 KB, image/png)
2010-11-16 14:49 UTC, Robin R. Price II
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0637 0 normal SHIPPED_LIVE virt-manager bug fix and enhancement update 2011-05-18 17:55:47 UTC

Description Robin R. Price II 2010-11-15 22:24:54 UTC
Description of problem:

When creating a disk image guest (foo.img) and attaching a SCSI disk to the guest, the addition will break the guest.  The guest is no longer able to boot.


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

$ rpm -q virt-manager
virt-manager-0.8.4-8.el6.noarch


How reproducible:

Always


Steps to Reproduce:
1.  Create a new guest image in virt-manager
2.  The guest must be a disk image
3.  Attach a SCSI disk to the disk image for storage.
  
Actual results:

Attached screen shots.  
Guest can no longer boot


Expected results:

virt-manager to not offer options to the user that allows guests to break.  I have been told, adding the SCSI storage will break the guests.  Would be nice to not have options available to end user.


Additional info:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 878, in run_domain
    vm.startup()
  File "/usr/share/virt-manager/virtManager/domain.py", line 1313, in startup
    self._backend.create()
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 333, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error process exited while connecting to monitor: char device redirected to /dev/pts/7
qemu-kvm: -device lsi,id=scsi0,bus=pci.0,addr=0x7: Parameter 'driver' expects a driver name
Try with argument '?' for a list.

--

virsh # dumpxml rhel6
<domain type='kvm'>
  <name>rhel6</name>
  <uuid>db631783-5434-278f-fe2e-bce8312dad7b</uuid>
  <memory>1024000</memory>
  <currentMemory>1024000</currentMemory>
  <vcpu>8</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/rhel6.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/vg_kvm/storage'/>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='scsi' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <interface type='network'>
      <mac address='52:54:00:ab:d1:4f'/>
      <source network='default'/>
      <target dev='vnet1'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
    <sound model='ac97'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
</domain>

--

Note, /dev/vg_kvm/storage was created with 
# lvcreate -L +10G -n storage /dev/vg_kvm

Comment 2 Robin R. Price II 2010-11-16 14:46:53 UTC
Created attachment 460849 [details]
screenshot of adding new hardware options

Comment 3 Robin R. Price II 2010-11-16 14:49:51 UTC
Created attachment 460850 [details]
screenshot error

Comment 4 Cole Robinson 2010-12-13 21:29:14 UTC
The plumbing is now upstream, just need to specify a configure option in the spec:

http://hg.fedorahosted.org/hg/virt-manager/rev/acbcecdfa1b9

Comment 6 Cole Robinson 2011-01-14 22:19:15 UTC
Fixed in virt-manager-0.8.6-1.el6

Comment 8 Vivian Bian 2011-03-02 06:47:15 UTC
checked with FAIED . Please confirm whether the following steps are valid .Since there is no SCSI disk option on virt-manager-0.8.6-2.el6 . There is only the IDE disk option . 

Component version for confirmation 
virt-manager-0.8.6-2.el6.noarch.rpm

Description :
on virt-manager-0.8.6-2.el6.noarch.rpm , there is no scsi disk option for storage device , so add the scsi disk from the guest xml , then tried to start the guest from virt-manager . FAILED , and got the following error messages 

Error starting domain: internal error process exited while connecting to monitor: char device redirected to /dev/pts/1
Using CPU model "cpu64-rhel6"
qemu-kvm: -device lsi,id=scsi0,bus=pci.0,addr=0x7: 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/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 330, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error process exited while connecting to monitor: char device redirected to /dev/pts/1
Using CPU model "cpu64-rhel6"
qemu-kvm: -device lsi,id=scsi0,bus=pci.0,addr=0x7: Parameter 'driver' expects a driver name
Try with argument '?' for a list.


Steps:
1. create a guest named rhel6
2. create lv called storage under /dev/vg_kvm  (vg_kvm is a VG created on SCSI storage)
3. try to add SCSI disk from virt-manager (no SCSI disk option found on this version of virt-manager)
4. try to add the following section into guest xml 

......
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/vg_kvm/storage'/>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
......
5. try to start guest on virt-manager 

Additional info :
without the scsi disk added , could start the guest successfully . 

Guest xml 
<domain type='kvm'>
  <name>rhel6</name>
  <uuid>875b8f57-afa1-561e-dadb-ec8709c828f3</uuid>
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.1.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/rhel6.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/vg_kvm/storage'/>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <controller type='scsi' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='network'>
      <mac address='52:54:00:2f:8f:18'/>
      <source network='default'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes'/>
    <sound model='ac97'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
</domain>


# lvcreate -L +10G -n storage /dev/vg_kvm
# lvs
  LV      VG     Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  storage vg_kvm -wi-a- 10.00g

Comment 9 Vivian Bian 2011-03-02 06:51:00 UTC
Oops , that should be my fault to set ASSIGNED status again . 
Since the expect result is not to have SCSI disk option available for the end user. So it is the correct result that we didn't see the SCSI disk option on virt-manager . 
And didn't allow the guest started is expected with the SCSI disk added . 

So set the bug status to VERIFIED .

Comment 10 errata-xmlrpc 2011-05-19 13:47:28 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0637.html


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