← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1768917] Re: PCI-Passthrough documentation is incorrect while trying to pass through a NIC

 

you are conflating two different things

alias are not used for neutron based sriov networking

and nic that are pastthoyhg via flaovr aliase are not managed by neutorn
or the sriov nic agent.

the documentation in https://docs.openstack.org/nova/pike/admin/pci-
passthrough.html

describe how to do generic pci pasthoh of a host pci device not neutron
sriov driect-phyical passthough.

to give a PF to a vm that is managed by neutron you create a port with
vnic_type=direct-physical.

in that scenario when whitelisting the nic you also need to add the
physical_network in the whitelist.


the flavor and alias based approach described in https://docs.openstack.org/nova/pike/admin/pci-passthrough.html

is intened for passing through device like gpus or acllerator cards like
intel qat devices.

the docs use the vendor and product ids of an intel niantic simple because that is what we tested
this functionality with when it was implemented but we could have used  a QAT device in the example which
not work with neturon sriov.

 | [pci]
        | alias = '{
        |   "name": "QuickAssist",
        |   "product_id": "0443",
        |   "vendor_id": "8086",
        |   "device_type": "type-PCI",
        |   "numa_policy": "legacy"
        |   }'



** Changed in: nova
   Importance: Undecided => Low

** Changed in: nova
       Status: New => Invalid

** Tags added: docs

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1768917

Title:
  PCI-Passthrough documentation is incorrect while trying to pass
  through a NIC

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  As per the documentation shown below

  https://docs.openstack.org/nova/pike/admin/pci-passthrough.html

  In order to achieve PCI passthrough of a network device, it states
  that we should create a 'flavor' based on the alias and then associate
  a flavor to the server create function.

  Steps to follow:

  Create an Alias:
  [pci]
  alias = { "vendor_id":"8086", "product_id":"154d", "device_type":"type-PF", "name":"a1" }

  Create a Flavor:
  [pci]
  alias = { "vendor_id":"8086", "product_id":"154d", "device_type":"type-PF", "name":"a1" }

  Add a whitelist:
  [pci]
  passthrough_whitelist = { "address": "0000:41:00.0" }

  Create a Server with the Flavor:

  # openstack server create --flavor m1.large --image
  cirros-0.3.5-x86_64-uec --wait test-pci

  
  With the above command, the VM creation errors out and we see a PortBindingFailure.

  The reason for the PortBindingFailure is the 'vif_type' is always set
  to 'BINDING_FAILED".

  The reason being, flavor does not mention about the 'vnic_type
  '='direct-physical' without this information the sriov mechanism
  driver is not able to bind the port.

  Not sure if there is any way to specify the info in the flavor.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1768917/+subscriptions


References