Bug 358531

Summary: Can't go into "Details" on a Windows virtual machine
Product: [Fedora] Fedora Reporter: sbrooks
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 7CC: hbrock
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.5.3-1.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-01-22 15:38:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description sbrooks 2007-10-30 16:25:06 UTC
Description of problem:
Cannot go into the "Details" of a Windows virtual machine.

Version-Release number of selected component (if applicable):
virt-manager: 0.4.0.2.fc7
libvirt: 0.3.3.1.fc7
xen: 3.1.0.6.fc7

How reproducible:
Easily

Steps to Reproduce:
1. Create a Windows virtual machine (I used an existing LVM volume) with a
"bridged" network card       
2. After it exists, shut it down
3. Press the "Details" button
  
Actual results:
The detail window does not appear.

Terminal window shows the following:
----
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 187, in
_do_show_details
    self.show_details(uri, uuid)
  File "/usr/share/virt-manager/virtManager/engine.py", line 270, in show_details
    con.get_vm(uuid))
  File "/usr/share/virt-manager/virtManager/details.py", line 130, in __init__
    self.prepare_hw_list()
  File "/usr/share/virt-manager/virtManager/details.py", line 500, in
prepare_hw_list
    self.populate_hw_list()
  File "/usr/share/virt-manager/virtManager/details.py", line 507, in
populate_hw_list
    self.repopulate_hw_list()
  File "/usr/share/virt-manager/virtManager/details.py", line 515, in
repopulate_hw_list
    for disk in self.vm.get_disk_devices():
  File "/usr/share/virt-manager/virtManager/domain.py", line 469, in
get_disk_devices
    raise RuntimeError("missing source path")
RuntimeError: missing source path
----

Expected results:
The details window appears.

Additional info:
virsh works fine: I can start/stop/dumpxml the virtual machine.

This may have been caused by the fix for Bug 247122 (which, as I understand it,
removed "(type netfront)" from the NIC), as I was able to get into the Details
screen before I recreated the virtual machine to fix that problem.

virsh dumpxml of the virtual machine:
----
<domain type='xen' id='1'>
  <name>quantusserver</name>
  <uuid>f5314b1f-f39f-1b55-decd-e12cd1d961bf</uuid>
  <os>
    <type>hvm</type>
    <loader>/usr/lib/xen/boot/hvmloader</loader>
    <boot dev='hd'/>
  </os>
  <memory>196608</memory>
  <vcpu>1</vcpu>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <devices>
    <emulator>/usr/lib/xen/bin/qemu-dm</emulator>
    <interface type='bridge'>
      <source bridge='eth0'/>
      <target dev='vif1.0'/>
      <mac address='00:16:3e:6d:f6:91'/>
      <script path='vif-bridge'/>
    </interface>
    <disk type='block' device='disk'>
      <driver name='phy'/>
      <source dev='/dev/VolGroup00/QuantusServerC'/>
      <target dev='hda'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='phy'/>
      <source dev='/dev/VolGroup00/QuantusServerData'/>
      <target dev='hdb'/>
    </disk>
    <disk device='cdrom'>
      <target dev='hdc'/>
      <readonly/>
    </disk>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5900' keymap='en-us'/>
  </devices>
</domain>
----

xm list --long of the virtual machine:
----
(domain
    (domid 0)
    (on_crash restart)
    (uuid 00000000-0000-0000-0000-000000000000)
    (bootloader_args )
    (vcpus 2)
    (name Domain-0)
    (on_poweroff destroy)
    (on_reboot restart)
    (bootloader )
    (maxmem 4194303)
    (memory 1816)
    (shadow_memory 0)
    (cpu_weight 256)
    (cpu_cap 0)
    (features )
    (on_xend_start ignore)
    (on_xend_stop ignore)
    (cpu_time 73.859483487)
    (online_vcpus 2)
    (image (linux (kernel ) (rtc_timeoffset 0)))
    (status 2)
    (state r-----)
)
(domain
    (domid 1)
    (on_crash restart)
    (uuid f5314b1f-f39f-1b55-decd-e12cd1d961bf)
    (bootloader_args )
    (vcpus 1)
    (name quantusserver)
    (on_poweroff destroy)
    (on_reboot restart)
    (bootloader )
    (maxmem 192)
    (memory 192)
    (shadow_memory 3)
    (cpu_weight 256)
    (cpu_cap 0)
    (features )
    (on_xend_start ignore)
    (on_xend_stop ignore)
    (start_time 1193760765.61)
    (cpu_time 92.710645056)
    (online_vcpus 1)
    (image
        (hvm
            (kernel /usr/lib/xen/boot/hvmloader)
            (acpi 1)
            (apic 1)
            (boot c)
            (device_model /usr/lib/xen/bin/qemu-dm)
            (pae 1)
            (rtc_timeoffset 0)
            (usb 1)
            (notes (SUSPEND_CANCEL 1))
        )
    )
    (status 2)
    (state -b----)
    (store_mfn 49150)
    (device
        (vif
            (bridge eth0)
            (mac 00:16:3e:6d:f6:91)
            (script vif-bridge)
            (uuid 9b21b7f8-92d2-316a-1bc5-1ae7460c0941)
            (backend 0)
        )
    )
    (device
        (vbd
            (uname phy:/dev/VolGroup00/QuantusServerC)
            (uuid 962609b4-7dd2-ec53-cbee-0c65ffbf8336)
            (mode w)
            (dev hda:disk)
            (backend 0)
            (bootable 1)
        )
    )
    (device
        (vbd
            (uname phy:/dev/VolGroup00/QuantusServerData)
            (uuid 77e3fcae-4c72-8a24-fe7c-96272aca7c58)
            (mode w)
            (dev hdb:disk)
            (backend 0)
            (bootable 0)
        )
    )
    (device
        (vbd
            (uuid 35041ec0-cc92-bb57-e0a7-ecb2e85b49c9)
            (mode r)
            (dev hdc:cdrom)
            (backend 0)
            (bootable 0)
        )
    )
    (device (vkbd (backend 0)))
    (device
        (vfb
            (vncunused 1)
            (keymap en-us)
            (type vnc)
            (uuid 9599b891-d5cb-b683-5584-1b8fd95a06e6)
        )
    )
)
----

Comment 1 Cole Robinson 2008-01-10 21:51:34 UTC
I verified this issue of F7. There was a fix for this pushed upstream which we
should probably add to F7. The linked patch applies cleanly to virt-manager-0.4.0-2.

http://hg.et.redhat.com/virt/applications/virt-manager--devel?cs=27ad8c7fbc3e

What is causing it is the cdrom disk block:

    <disk device='cdrom'>
      <target dev='hdc'/>
      <readonly/>
    </disk>

virt-manager didn't know how to cope with it having no <source> tag. If you
remove this block using virsh, the errors should stop.

Comment 2 sbrooks 2008-01-11 14:41:08 UTC
You're right--I removed the cdrom, and virt-manager started working again.

Comment 3 Fedora Update System 2008-01-11 22:26:43 UTC
virt-manager-0.5.3-1.fc7, gtk-vnc-0.3.2-1.fc7, python-virtinst-0.300.2-1.fc7, virt-viewer-0.0.2-1.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update virt-manager gtk-vnc python-virtinst virt-viewer'

Comment 4 Fedora Update System 2008-01-22 15:37:58 UTC
virt-manager-0.5.3-1.fc7, gtk-vnc-0.3.2-1.fc7, python-virtinst-0.300.2-1.fc7, virt-viewer-0.0.2-1.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.