[nailgun-agent] VNICs ignored due to SR-IOV filtering

Bug #1597775 reported by Alexandru Avadanii
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
High
Fuel Sustaining
Mitaka
Invalid
High
Vladimir Kozhukalov

Bug Description

Some blades have VNICs (VFs on a PCI device), which are not SR-IOV VFs.

Random Documentation: [1]
Sample lspci output: [2]
Problematic code (filtering all VFs, not only SR-IOV): [3], introduced by [4]

Steps to reproduce:
1. Build and deploy ISO for a cluster containing nodes with VNICs (like Cavium ThunderX)
2. Bootstrap target nodes and wait for them to be detected

Expected results:
All ethernet interfaces should be detects (for the above example, 3 x VNIC + 1 x PCI NIC)

Actual results:
Only PCI NIC is detected (3 VNICs are trimmed by problematic filter [3])

Description of the environment:
 Operation system: Ubuntu Trusty 14.04 (arm64)
 Versions of components: stable/mitaka
 Related projects installed: Fuel@OPNFV

Proposed possible changes:
- change filter to check for "virtfn", "sriov_totalvfs" or "sriov_numvfs" (see [5] for related docs);
- whitelist entries based on vendor ID;

BR,
Alex

[1] http://chmod666.org/index.php/a-first-look-at-sriov-vnic-adapters/
[2] http://paste.openstack.org/show/524126/
[3] https://github.com/openstack/fuel-nailgun-agent/blob/stable/mitaka/agent#L409
[4] https://github.com/openstack/fuel-nailgun-agent/commit/01ec3c5501c4275063e81323116d4b65893a220f
[5] https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci

tags: added: team-network
Changed in fuel:
assignee: nobody → l23network (l23network)
milestone: none → 9.0-updates
no longer affects: fuel/newton
Dmitry Klenov (dklenov)
tags: added: area-python
Dmitry Pyzhov (dpyzhov)
no longer affects: fuel/newton
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Registry Administrators (registry) → Fuel Sustaining (fuel-sustaining-team)
Revision history for this message
Stanislaw Bogatkin (sbogatkin) wrote :

Hi Alexandru,
I believe that this bug was fixed by commit f20415917c3110144c33b646806554ae6dd58901 [0] in 9.1 release cycle, so I closed this bug as invalid for now. If this bug is still applicable, please, reopen this bug and attach your sysfs directory files list - it would help us a lot.

[0] https://bugs.launchpad.net/fuel/+bug/1564630

Changed in fuel:
status: Confirmed → Invalid
Revision history for this message
Alexandru Avadanii (alexandru-avadanii) wrote :

Hi, Stanislaw,
I do believe this bug is still applicable - see sysfs dir list for one such interface [1].

The problem is that on certain AArch64 hardware, the interfaces are VFs, so physfn is present, but sriov_totalvfs & co are not.

However, my initial suggestion to use sriov_totalvfs is not correct, as that would filter-out interfaces that support SR-IOV, not only SR-IOV devices ...

The compromise I found to work is now submitted in Armband via [2].

Overall, I think this bug does not affect x86, so I can keep the patch in Armband, since Fuel@Openstack does not officially supporting any other arch.

Thanks,
Alex

[1] http://paste.openstack.org/show/599451/
[2] https://gerrit.opnfv.org/gerrit/#/c/28977/

Revision history for this message
Alexandru Avadanii (alexandru-avadanii) wrote :

Also, device/physfn dirlist - [3]
Please let me know if I should provide anything else, if not for fixing this, just for properly documenting it.

[3] http://paste.openstack.org/show/599453/

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.