using pci-alias to attach sr-iov interfaces to instances associates the network port with an unwanted virtio interface instead of the sr-iov interface

Bug #1858696 reported by Jason Hobbs
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Nova Compute Charm
Incomplete
Undecided
James Page

Bug Description

I'm using pci-alias and a flavor referencing it to attach sr-iov VF interfaces to instances.

The instance gets the sr-iov device:
[ 1.521402] ixgbevf 0000:00:06.0 ens6: renamed from eth1

But it also gets an unwanted virtio device:

[ 1.544294] virtio_net virtio0 ens3: renamed from eth0

This virtio device is associated with the port created for the instance:
http://paste.ubuntu.com/p/VvdbvdWWDw/

instance:
http://paste.ubuntu.com/p/SSXCtgfDzx/

The desired behavior is for the instance to have only the sr-iov interface and for the port to be associated with it. The current behavior results in the instance trying to dhcp on the virtio interface, failing, and not getting any metadata as a result.

bundle: http://paste.ubuntu.com/p/WjySBgxpxh/

flavor: http://paste.ubuntu.com/p/54d2Dd2YVj/

crashdump: http://people.canonical.com/~jhobbs/juju-crashdump-openstack-2020-01-07-21.21.36.tar.gz

description: updated
description: updated
Revision history for this message
James Page (james-page) wrote :

I'll have a look at see whether this should actually work.

Changed in charm-nova-compute:
status: New → In Progress
assignee: nobody → James Page (james-page)
Revision history for this message
James Page (james-page) wrote :

Pertinent parts of bundle configuration:

  pci-alias: '{"vendor_id":"8086","product_id":"10ed","name":"vf_nic"}'

Neutron SR-IOV configuration guide:

  https://docs.openstack.org/neutron/latest/admin/config-sriov.html

Revision history for this message
James Page (james-page) wrote :

I'm wondering whether you need to provide the device_type config option as part of the pci-alias specification:

'{"vendor_id":"8086","product_id":"10ed","device_type":"type-VF","name":"vf_nic"}'

Revision history for this message
James Page (james-page) wrote :

Reading the documentation its a little ambiguous as to whether this should work or not - the networking guide indicates you can do it via a pci_alias, and then the pci-passthrough docs for compute refer back to the networking guide for SR-IOV networking configuration.

Revision history for this message
James Page (james-page) wrote :

Other bits of interest:

  enable-sriov: &enable-sriov true
  sriov-numvfs: &sriov-numvfs >-
    eth1:8
  sriov-device-mappings: &sriov-device-mappings >-
    physnet1:eth1
  pci-passthrough-whitelist: &pci-passthrough-whitelist >-
    [{"devname": "eth1", "physical_network": "physnet1"}]

Revision history for this message
James Page (james-page) wrote :

Please could you re-test with my suggestion in #3 - I can see code in the nova codebase which looks to populate network information if PCI devices with that specific type are in use.

Changed in charm-nova-compute:
status: In Progress → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.