[Bug 1892132] Re: Failure to get the correct UpLink Representor
Christian Ehrhardt
1892132 at bugs.launchpad.net
Thu Aug 12 05:13:12 UTC 2021
Thanks for all the work Frode and all the involved openstack people.
Groovy is no more serviced via the SRU process, so I've disabled that. But I'll look at the libvirt branches for F/H now ...
** Changed in: libvirt (Ubuntu Groovy)
Status: In Progress => Invalid
** Changed in: libvirt (Ubuntu Groovy)
Status: Invalid => Won't Fix
** Changed in: python-os-vif (Ubuntu Groovy)
Status: In Progress => Won't Fix
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to python-os-vif in Ubuntu.
https://bugs.launchpad.net/bugs/1892132
Title:
Failure to get the correct UpLink Representor
Status in os-vif:
Fix Released
Status in os-vif victoria series:
Fix Committed
Status in libvirt package in Ubuntu:
Fix Released
Status in python-os-vif package in Ubuntu:
Fix Released
Status in libvirt source package in Focal:
In Progress
Status in python-os-vif source package in Focal:
In Progress
Status in libvirt source package in Groovy:
Won't Fix
Status in python-os-vif source package in Groovy:
Won't Fix
Status in libvirt source package in Hirsute:
In Progress
Status in python-os-vif source package in Hirsute:
Fix Released
Status in libvirt source package in Impish:
Fix Released
Status in python-os-vif source package in Impish:
Fix Released
Bug description:
[Impact]
An update to the mlx5_core driver [1] which will be made available to users of stable releases both through HWE kernels and DKMS packages provided by NVIDIA/Mellanox [2] makes some assumptions about sysfs layout made by OS-VIF and Libvirt apparent.
To allow users with this hardware to continue to enjoy their existing
systems with the most recent drivers updates are required to os-vif
and libvirt.
Without this update these systems will stop functioning when upgrading
to the new mlx5_core driver.
[Test Plan]
Note: Hardware making use of the mlx5_core driver with support for HWOL is required to test these changes.
1. Deploy OpenStack on machines with HWOL enabled using kernel without [1]
2. Create an instance using an HWOL port
3. Confirm the instance can start and that it has connectivity
4. Upgrade to kernel with [1] and re-confirm
[Regression Potential]
For OS-VIF the changes are made to code paths used exclusively by consumers of this type of hardware and HWOL enabled. They are also made in a backward compatible way so that it works both with the old and new driver.
For Libvirt the change is made in such a way that it will behave as
before when used to look up hardware that populates net/phys_port_id.
When used with hardware that do not populate net/phys_port_id but use
net_phys_port_name instead, which is typical for the hardware in
question, the new behavior is used.
[Original Bug Description]
Due to new kernel patch here [1], the PF and VF representors are linked to their parent PCI device.
Old Structure:
The structure of VF's PCI Address/physfn/net contains only the PF of that VF
$ ls /sys/bus/pci/devices/<vf-pci-addre>/physfn/net/
enp2s0f0
$ ls -l /sys/class/net
...
lrwxrwxrwx 1 root root 0 Aug 17 11:11 enp2s0f0_0 -> ../../devices/virtual/net/enp2s0f0_0
lrwxrwxrwx 1 root root 0 Aug 17 11:11 enp2s0f0_1 -> ../../devices/virtual/net/enp2s0f0_1
lrwxrwxrwx 1 root root 0 Aug 17 11:11 enp2s0f0_2 -> ../../devices/virtual/net/enp2s0f0_2
lrwxrwxrwx 1 root root 0 Aug 17 11:11 enp2s0f0_3 -> ../../devices/virtual/net/enp2s0f0_3
...
New Structure:
The structure of VF's PCI Address/physfn/net contains the PF of that VF and the VF representors
$ ls /sys/bus/pci/devices/<vf-pci-addre>/physfn/net/
enp3s0f0 enp3s0f0_0 enp3s0f0_1 enp3s0f0_2 enp3s0f0_3
$ ls -l /sys/class/net
...
lrwxrwxrwx. 1 root root 0 Aug 17 08:43 enp3s0f0_0 -> ../../devices/pci0000:00/0000:00:02.0/0000:03:00.0/net/enp3s0f0_0
lrwxrwxrwx. 1 root root 0 Aug 17 08:43 enp3s0f0_1 -> ../../devices/pci0000:00/0000:00:02.0/0000:03:00.0/net/enp3s0f0_1
lrwxrwxrwx. 1 root root 0 Aug 17 08:43 enp3s0f0_2 -> ../../devices/pci0000:00/0000:00:02.0/0000:03:00.0/net/enp3s0f0_2
lrwxrwxrwx. 1 root root 0 Aug 17 08:43 enp3s0f0_3 -> ../../devices/pci0000:00/0000:00:02.0/0000:03:00.0/net/enp3s0f0_3
...
[1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=123f0f53dd64b67e34142485fe866a8a581f12f1
[2] https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed
To manage notifications about this bug go to:
https://bugs.launchpad.net/os-vif/+bug/1892132/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list