Hello Piotr:

Maybe you should update the pyroute2 library, but this is a blind shot.

What I recommend you do is to find the error you have when retrieving the interface VFs. In the same compute node, use this method [1] but remove the decorator [2]. Then, in a root shell, run python again:
  >>> from neutron.privileged.agent.linux import ip_lib
  >>> ip_lib.get_link_vfs('ens2f0', '')

That will execute the pyroute2 code without the privsep decorator. You'll see what error is returning the method.

Regards.

[1]https://github.com/openstack/neutron/blob/5d4f5d42d0a8c7ee157912cb29cae0e4deff984b/neutron/privileged/agent/linux/ip_lib.py#L396-L410
[2]https://github.com/openstack/neutron/blob/5d4f5d42d0a8c7ee157912cb29cae0e4deff984b/neutron/privileged/agent/linux/ip_lib.py#L395


On Mon, May 31, 2021 at 5:50 PM <forums@mossakowski.ch> wrote:
Hello,
I have two victoria environments:
1) a working one, standard setup with separate dedicated interface for sriov (pt0 and pt1)
2) a broken one, where I'm trying to reuse one of already used interfaces (ens2f0 or ens2f1) for sriov. ens2f0 is used for several VLANs (mgmt and storage) and ens2f1 is a neutron external interface which I bridged for VLAN tenant networks. On both I have enabled 63 VFs, it's a standard intetl 10Gb x540 adapter.

On broken environment, when I'm trying to boot a VM with sriov port that I created before, I see this error shown on below gist:
https://gist.github.com/moss2k13/8e6272cbe7748b2c5210fab291360e0b

I'm investigating this for couple days now but I'm out of ideas so I'd like to ask for your support. Is this possible to achieve what I'm trying to do on 2nd environment? To use PF as normal interface and use its VFs for sriov-agent at the same time?

Regards,
Piotr Mossakowski