Bug 1983792

Summary: Unable to start VM with SR-IOV port
Product: Red Hat OpenStack Reporter: Roman Safronov <rsafrono>
Component: openstack-neutronAssignee: Rodolfo Alonso <ralonsoh>
Status: CLOSED CURRENTRELEASE QA Contact: Eran Kuris <ekuris>
Severity: urgent Docs Contact:
Priority: high    
Version: 16.2 (Train)CC: amuller, atragler, chrisw, dasmith, eglynn, eolivare, fbaudin, fiezzi, fpalin, jhakimra, jparker, kchamart, kthakre, lmartins, lyarwood, oblaut, ralonsoh, sbauza, scohen, sgordon, smooney, supadhya, vkhitrin, vromanso
Target Milestone: betaKeywords: AutomationBlocker, Regression, Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1828834 Environment:
Last Closed: 2021-07-20 09:15:55 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:
Bug Depends On:    
Bug Blocks: 1970051    

Description Roman Safronov 2021-07-19 19:16:34 UTC
Description of problem:
An SRIOV port is created:
openstack port create --vnic-type direct --network nova sriov-port-prov-3

A VM is created using that port:
openstack server create --image rhel8-pass --flavor rhel_flavor_1ram_1vpu_10disk --port sriov-port-prov-3 --security-group sec_group vm-sriov-prov-3

vm-sriov-prov-3 remains for 5 minutes in status BUILD until it changes to status ERROR. During those 5 minutes, virsh list showed its status as "paused".

Find logs attached.

Comments on some logs:
 WARNING nova.pci.utils [req-8ee4cc33-142d-4d99-879e-24953135d3ed - - - - -] No net device was found for VF 0000:07:0e.4: nova.exception.PciDeviceNotFoundById: PCI device 0000:07:0e.4 not found
 7 ERROR nova.compute.manager [req-8ee4cc33-142d-4d99-879e-24953135d3ed - - - - -] Error updating resources for node computesriov-1.localdomain.: libvirt.libvirtError: Node device not found: no node device with matching name 'net_enp7s0f3v2_06_88_8f_32_26_bf'

What looks incoherent in these logs is that 0000:07:0e.4 correspnds with enp7s0f3v4, not with enp7s0f3v2. Command 'ip link' showed that enp7s0f3v4 was in use.

Command 'virsh dumpxml' also showed that actual interface was '04'
 <address type='pci' domain='0x0000' bus='0x07' slot='0x0e' function='0x4


In the nova logs there are messages like:
2021-07-16 08:24:50.508 7 ERROR nova.compute.manager [instance: b353dd7b-9b51-4e8f-ba88-f5c5c7552bdb] nova.exception.VirtualInterfaceCreateException: Virtual Interface creation failed

VMs with normal ports can be launched successfully.

On osp16.2 ML2OVS job with the same puddle (RHOS-16.2-RHEL-8-20210713.n.0) the issue with VF ports does not happen.



Version-Release number of selected component (if applicable):
RHOS-16.2-RHEL-8-20210713.n.0
python3-neutron-15.3.5-2.20210608154812.el8ost.2.noarch
python3-networking-ovn-7.4.2-2.20210601204819.el8ost.6.noarch
ovn-2021-21.03.0-40.el8fdp.x86_64

How reproducible:
100%

Steps to Reproduce:
1. OSP hybrid setup installed with OVN SRIOV configuration
2. Create SRIOV VF port
3. Create VM using that port

Actual results:
VM not created successfully

Expected results:
Successful VM creation

Comment 7 Roman Safronov 2021-07-20 09:49:33 UTC
Opened another bug instead of this one https://bugzilla.redhat.com/show_bug.cgi?id=1983958