Bug 499267 - Assigning a PCI device using virt-manager/virt-install fails
Summary: Assigning a PCI device using virt-manager/virt-install fails
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-virtinst
Version: rawhide
Hardware: All
OS: Linux
high
medium
Target Milestone: ---
Assignee: Cole Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F11VirtTarget
TreeView+ depends on / blocked
 
Reported: 2009-05-05 21:01 UTC by Mark McLoughlin
Modified: 2009-05-06 21:37 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
: 499576 (view as bug list)
Environment:
Last Closed: 2009-05-06 21:37:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Call detach/reset on the correct object (1.05 KB, text/plain)
2009-05-06 14:09 UTC, Cole Robinson
no flags Details

Description Mark McLoughlin 2009-05-05 21:01:55 UTC
Just tested virt-manager's device assignment with the following steps:

  * Run virt-manager, open an existing guest and go to the details tab
  * Click "Add hardware", choose "Physical host device" and click "Forward"
  * Choose the appropriate device from the drop down list (e.g. "00:19.0 Interface eth0 (82566DM-2 Gigabit Network Connection)")
  * Click "Forward" and "Finish" 

and it failed with:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/addhardware.py", line 571, in finish
    self.add_hostdev()
  File "/usr/share/virt-manager/virtManager/addhardware.py", line 607, in add_hostdev
    self._dev.setup()
  File "/usr/lib/python2.6/site-packages/virtinst/VirtualHostDevice.py", line 207, in setup
    raise RuntimeError(_("Could not detach PCI device: %s" % str(e)))
RuntimeError: Could not detach PCI device: 'PCIDevice' object has no attribute 'dettach'

Comment 1 Mark McLoughlin 2009-05-05 21:07:50 UTC
Just tried with virt-install --host-device and got the same error

Comment 2 Mark McLoughlin 2009-05-06 13:41:36 UTC
Okay, the problem turns out to be that VirtualHostDevice._nodedev is a NodeDevice, not a virNodeDevice yet we do this:

  self._nodedev.dettach()
  self._nodedev.reset()

We need a comprehensive fix which doesn't throw away the virNodeDevice in NodeDeviceParser.lookupNodeName(), but I think we should temporarily disable this dettach/reset code for F11 GA and the test day tomorrow

Comment 3 Cole Robinson 2009-05-06 14:09:36 UTC
Created attachment 342658 [details]
Call detach/reset on the correct object

Seems to have done the job, since choosing an arbitrary pci entry in 'virsh nodedev-list' and passing to --host-device managed to lock my machine up :)

Comment 4 Mark McLoughlin 2009-05-06 15:12:13 UTC
Looks good to me

Comment 5 Cole Robinson 2009-05-06 16:36:36 UTC
Built into python-virtinst-0.400.3-8.fc11.

Comment 6 Mark McLoughlin 2009-05-06 20:21:38 UTC
Tag request: https://fedorahosted.org/rel-eng/ticket/1749

* Wed May 06 2009 Cole Robinson <crobinso> - 0.400.3-8.fc11
- Fix PCI assignment (bz 499267)

Comment 7 Mark McLoughlin 2009-05-06 21:37:25 UTC
Tagged now


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