From Fedora Project Wiki

(use nodedev-list --tree)
(Drop direct Test Days category membership)
 
(21 intermediate revisions by 8 users not shown)
Line 6: Line 6:


* [[rhbug:499259|499259]] - svirt denials breaks KVM PCI device assignment
* [[rhbug:499259|499259]] - svirt denials breaks KVM PCI device assignment
* [[rhbug:499708|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
: Until this is fixed, all but the nodedev ops test case requires you to run SELinux in permissive mode
* [[rhbug:499352|499352]] - Re-enable CONFIG_DMAR_DEFAULT_ON
* [[rhbug:499352|499352]] - Re-enable CONFIG_DMAR_DEFAULT_ON
: You will need to boot the host with intel_iommu=on until this is fixed
: You will need to boot the host with intel_iommu=on until this is fixed
* [[rhbug:499267|499267]] - Assigning a PCI device using virt-manager/virt-install fails
* [[rhbug:499267|499267]] - Assigning a PCI device using virt-manager/virt-install fails
: Fixed in [https://koji.fedoraproject.org/koji/buildinfo?buildID=101049 python-virtinst-0.400.3-8.fc11]
: Fixed in [http://koji.fedoraproject.org/koji/buildinfo?buildID=101049 python-virtinst-0.400.3-8.fc11]
* [[rhbug:499386|499386]] - libvirt's qemu driver interprets the <hostdev> "managed" attribute incorrectly
* [[rhbug:499386|499386]] - libvirt's qemu driver interprets the <hostdev> "managed" attribute incorrectly
: Fixed in [https://koji.fedoraproject.org/koji/buildinfo?buildID=101058 libvirt-0.6.2-6.fc11]
: Fixed in [http://koji.fedoraproject.org/koji/buildinfo?buildID=101058 libvirt-0.6.2-6.fc11]
* [[rhbug:499561|499561]] - libvirt does not automatically re-attach an assigned device in the host after guest shutdown
: Workaround is to run <code>virsh nodedev-reattach</code> after the guest has shut down
* [[rhbug:499637|499637]] - IOMMU: no free domain ids
: This may happen after a lot of testing; workaround is to reboot the host
* [[rhbug:499678|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 ==
== Prerequisites ==
Line 20: 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 82: Line 89:
| [http://www.smolts.org/client/show/pub_0f98ce1f-983e-4825-b8d7-7f366f49fca4 smolt]
| [http://www.smolts.org/client/show/pub_0f98ce1f-983e-4825-b8d7-7f366f49fca4 smolt]
| [http://fpaste.org/paste/11088 lspci]
| [http://fpaste.org/paste/11088 lspci]
| style="background-color: green;" |PASS
| style="background-color: green;" |PASS
| style="background-color: green;" |PASS
| style="background-color: green;" |PASS
| Perfect score! Apart from the known bugs listed above, of course :-)
|-
|-
| [[User:charlesrose|Charles Rose]]
|  
|  
|  
|  
| FAIL
|  
|  
|  
|  
|  
|  
| reset of multi-function device fails. [[rhbug:499678|499678]]
|-
|-
| [[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: red;" |FAIL
|
|
| Assignment of the device fails. [[rhbug:499259|499259]]
|-
|-
|}
|}
[[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