I tracked down why libvirt generates the message "internal error: The PF
device for VF XXX has no network device name" on startup when built in
bionic, but not in xenial. When populating device capabilities, we see:

virNetDevGetFeatures():
  virNetDevSwitchdevFeature():
    virNetDevGetPhysicalFunction()

However, virNetDevSwitchdevFeature() is stubbed out at build time unless
HAVE_DECL_DEVLINK_CMD_ESWITCH_GET is defined. In bionic, this is defined
in /usr/include/linux/devlink.h, which didn't exist in xenial.

Since all of our OpenStack/arm64 testing on bionic is blocked because
our test systems all happen to be impacted by
https://bugs.linaro.org/show_bug.cgi?id=3778 , I'm wondering if there's
some kind of temporary hack we can carry to detect these devices,
disable some set of (currently broken) features, and allow our testing
to proceed until this problem is addressed upstream.

My understanding is that our testing succeeds with xenial, but fails
with bionic, while the source version of libvirt remains constant. I
therefore wonder if virNetDevSwitchdevFeature() is the (only) thing
causing this to escalate to nova failure. In that case, could we e.g.
compare vendor/device ids, and add a hack to return 0 if they match?

I've pushed a libvirt build to ppa:dannf/test with such a hack, if
someone w/ a full arm64 openstack setup can try it to see if it would be
able to unblock us.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1771662

Title:
  [bionic] libvirtError: Node device not found: no node device with
  matching name

To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-nova-compute/+bug/1771662/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to