Bug 1427202

Summary: VM doesn't start with VFIO+SR-IOV
Product: [oVirt] vdsm Reporter: Martin Polednik <mpoledni>
Component: CoreAssignee: Martin Polednik <mpoledni>
Status: CLOSED CURRENTRELEASE QA Contact: Michael Burman <mburman>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.18.19CC: bugs, lveyde, mburman, michal.skrivanek, tjelinek
Target Milestone: ovirt-4.1.2Flags: rule-engine: ovirt-4.1?
mburman: testing_plan_complete+
tjelinek: planning_ack?
rule-engine: devel_ack+
rule-engine: testing_ack+
Target Release: 4.19.11   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Previously, if VM was started with host device AND sr-iov nic, the runtime could fail and leak the VF (render it unusable). This is now fixed and such combination of devices can be used.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-23 08:13:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Martin Polednik 2017-02-27 15:11:21 UTC
Description of problem:
Using VFIO and SR-IOV at the same time stops VM from being booted due to network.Interface advertising itself as host device but not exposing it's numa_node.

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


How reproducible:


Steps to Reproduce:
1. Assign SR-IOV NIC
2. Assign some vfio-pci device
3. start the VM

Actual results:
Traceback (most recent call last):
  File "/usr/share/vdsm/virt/vm.py", line 552, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/virt/vm.py", line 1984, in _run
    domxml = hooks.before_vm_start(self._buildDomainXML(),
  File "/usr/share/vdsm/virt/vm.py", line 1655, in _buildDomainXML
    list(itertools.chain(*self._devices.values())))
  File "/usr/share/vdsm/virt/vmxml.py", line 785, in appendHostdevNumaTune
    dev_object.is_hostdevice and dev_object.numa_node]
AttributeError: 'Interface' object has no attribute 'numa_node'

VM doesn't start

Expected results:
VM started

Additional info:

Comment 1 Michael Burman 2017-04-27 07:35:34 UTC
Verified on - vdsm-4.19.11-1.el7ev.x86_64 and 4.1.2-0.1.el7