PCI-Passthrough fails when we have Flavor configured and provide a port with vnic_type=direct-physical
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
New
|
Undecided
|
Unassigned |
Bug Description
PCI-Passthrough of a NIC device to the VM fails, when we have both the Flavor configured with Alias and also provide a network port with 'vnic_type=
The comment shown in the source code shown below,
https:/
# PCI requests come from two sources: instance flavor and
# requested_networks. The first call in below returns an
# InstancePCIRequests object which is a list of InstancePCIRequest
# objects. The second call in below creates an InstancePCIRequest
# object for each SR-IOV port, and append it to the list in the
# InstancePCIRequests object
In this case there would be two PCI-requests for the same device and _test_pci fails when the compute tries to check for the Claims.
088d81f66532423
2018-04-30 22:17:06.058 13396 DEBUG nova.compute.claims [req-c7689c16-
2018-04-30 22:17:06.059 13396 DEBUG nova.compute.claims [req-c7689c16-
2018-04-30 22:17:06.059 13396 DEBUG oslo_concurrenc
2018-04-30 22:17:06.060 13396 DEBUG nova.compute.
Not sure why the Claim pci failed for the same device entry twice.
Probably if the device id is the same on both Flavor and network, then it should only compose one entry since they both are identical.
i have closed this as a duplicate as i explain in the other bug that you miss understood how to use this feature.
based on teh in fomation you provdied on the ohter bug i am assumin you have only one nic avaiable on the host and you are requesting it twice 1 via the alais and again via the neutron port.
that is inccorect.
you need 1 device for each request.
to use neutron PF pasthough (vnic_type= direct- physical) you should not also specify a flavor alais unless you are using that to request a different device.
noav will convert a port with vnic_type= direct- phyical into a pci request internally.