From Fedora Project Wiki

(Drop direct Test Days category membership)
 
(8 intermediate revisions by 6 users not shown)
Line 27: Line 27:
# a host machine which has Intel VT-d or AMD IOMMU support
# a host machine which has Intel VT-d or AMD IOMMU support
# the host booted with <code>intel_iommu=on</code> in order to enable VT-d support
# the host booted with <code>intel_iommu=on</code> in order to enable VT-d support
# SELinux in permissive mode
# The <code>virt_manage_sysfs</code> selinux boolean enabled - <code>setsebool virt_manage_sysfs on</code>
# At least [https://koji.fedoraproject.org/koji/buildinfo?buildID=101058 libvirt-0.6.2-6.fc11] and [https://koji.fedoraproject.org/koji/buildinfo?buildID=101049 python-virtinst-0.400.3-8.fc11] installed
# At least [https://koji.fedoraproject.org/koji/buildinfo?buildID=101058 libvirt-0.6.2-6.fc11] and [https://koji.fedoraproject.org/koji/buildinfo?buildID=101049 python-virtinst-0.400.3-8.fc11] installed


Line 107: Line 107:
|-
|-
| [[User:smerkx|Stanley Merkx]]
| [[User:smerkx|Stanley Merkx]]
|
| [http://www.smolts.org/client/show/pub_612115f0-8a1b-4e6c-a6d9-04d53a963620 smolt]
|
| [http://fpaste.org/paste/12819 lspci]
| style="background-color: green;" |PASS
| style="background-color: green;" |PASS
| style="background-color: red;" |FAIL
| style="background-color: red;" |FAIL
|
|
|
|
|<pre>
| Assignment of the device fails. [[rhbug:499259|499259]]
get_real_device: /sys/bus/pci/devices/0000:01:05.0/config:
Permission denied.
</pre>
However, the device is detached from the server:
<pre>
readlink /sys/bus/pci/devices/0000\:01\:05.0/driver
../../../../bus/pci/drivers/pci-stub
</pre>
|-
|-
|}
|}
[[Category:Fedora 11 Test Days]]

Latest revision as of 19:46, 26 June 2015

See Test_Day:2009-05-07_Virtualization.

This test area is concerned with testing the KVM PCI Device Assignment feature added in Fedora 11.

Known bugs include:

  • 499259 - svirt denials breaks KVM PCI device assignment
  • 499708 - SELinux blocks libvirtd sysfs writes for virNodeDeviceDettach()/Reattach()/Reset()
Until this is fixed, all but the nodedev ops test case requires you to run SELinux in permissive mode
  • 499352 - Re-enable CONFIG_DMAR_DEFAULT_ON
You will need to boot the host with intel_iommu=on until this is fixed
  • 499267 - Assigning a PCI device using virt-manager/virt-install fails
Fixed in python-virtinst-0.400.3-8.fc11
  • 499386 - libvirt's qemu driver interprets the <hostdev> "managed" attribute incorrectly
Fixed in libvirt-0.6.2-6.fc11
  • 499561 - libvirt does not automatically re-attach an assigned device in the host after guest shutdown
Workaround is to run virsh nodedev-reattach after the guest has shut down
  • 499637 - IOMMU: no free domain ids
This may happen after a lot of testing; workaround is to reboot the host
  • 499678 - libvirt should be able to reset a PCI function even if it causes other unused devices/functions to be reset
multi-function PCI devices without Function Level Reset (FLR) can't currently be used; more code to handle this case is required in libvirt

Prerequisites[edit]

In order to test KVM PCI device assignment, you need:

  1. a host machine which has Intel VT-d or AMD IOMMU support
  2. the host booted with intel_iommu=on in order to enable VT-d support
  3. The virt_manage_sysfs selinux boolean enabled - setsebool virt_manage_sysfs on
  4. At least libvirt-0.6.2-6.fc11 and python-virtinst-0.400.3-8.fc11 installed

Please upload your smolt profile using smoltSendProfile and add its URL to the table below.

Also, it would be useful to post your PCI bus topology - e.g. post the output of lspci -t -v to Fedora's pastebin.

Tests[edit]

The first thing you need to do is choose which PCI device on your KVM host that you will use for testing. Probably the most obvious to test with is a NIC. You'll need the device's nodedev name, and you can find this with

  $> virsh nodedev-list --tree
  computer
    |
    ...
    +-pci_8086_10bd
    |   |
    |   +-net_00_13_20_f5_f9_5a
    ...
  $> virsh nodedev-dumpxml pci_8086_10bd
  <device>
    <name>pci_8086_10bd</name>
    <parent>computer</parent>
    <capability type='pci'>
      <domain>0</domain>
      <bus>0</bus>
      <slot>25</slot>
      <function>0</function>
      <product id='0x10bd'>82566DM-2 Gigabit Network Connection</product>
      <vendor id='0x8086'>Intel Corporation</vendor>
    </capability>
  </device>

Follow each of these test cases:

  1. libvirt nodedev operations
  2. assigning a device using libvirt
  3. assigning a device using virt-manager
  4. virt-install --host-device

Results[edit]

If you have problems with any of the tests, file a bug report in bugzilla.

Once you have completed the tests, add your results to the table below.

User Smolt lspci Nodedev Ops libvirt virt-manager virt-install Comments
Mark McLoughlin smolt lspci PASS PASS PASS PASS Perfect score! Apart from the known bugs listed above, of course :-)
Charles Rose FAIL reset of multi-function device fails. 499678
Stanley Merkx smolt lspci PASS FAIL Assignment of the device fails. 499259