[Openstack] Openstack SRIOV and PCI passthrough error while creating instance

Moshe Levi moshele at mellanox.com
Mon Jan 29 06:50:27 UTC 2018


Hi Navdeep,

The errors you are pointing out shouldn't cause  error while creating instance with SR-IOV/PCI passthrough.
They are part of the SR-IOV nic capabilities feature which is not completed yet.

Libvirt "virsh nodedev-list" command will show you the list of nic and this method [1] will look it in the hypervisor.
For some reason you have a mismatch here. You need to compare them.  Anyway if there is a mismatch it just won't report the capabilities of the nic.
As I mentioned above I think this is not the issue for the error while creating instance

[1] https://github.com/openstack/nova/blob/91f7a999988b3f857d738d39984117e6c514cbec/nova/pci/utils.py#L196-L217


From: Navdeep Uniyal [mailto:navdeep.uniyal at bristol.ac.uk]
Sent: Sunday, January 28, 2018 10:58 PM
To: openstack at lists.openstack.org
Subject: [Openstack] Openstack SRIOV and PCI passthrough error while creating instance

Dear All,

I am getting an error while creating SRIOV enabled instances following the guide from Openstack pike https://docs.openstack.org/neutron/pike/admin/config-sriov.html<https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.openstack.org%2Fneutron%2Fpike%2Fadmin%2Fconfig-sriov.html&data=02%7C01%7Cmoshele%40mellanox.com%7C7035d805a74d45ff0bbe08d56692fd3e%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636527703870300090&sdata=Oljh3%2Ff1B%2FLCsNxHIUkS%2FgLzTBkpOY3XaWBixYKWOaQ%3D&reserved=0>



I want to start an instance on openstack pike with SRIOV enabled NICs. However, I am getting a Libvirt error regarding the node name. The error looks weird as the node name is not matching the interface name on the host machine or in the configuration files.

2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager [req-caa92f1d-5ac1-402d-a8bc-b08ab350a21f - - - - -] Error updating resources for node jupiter.: libvirtError: Node device not found: no node device with matching name 'net_enp129s2_b2_87_6e_13_a1_5e' 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager Traceback (most recent call last): 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 6696, in update_available_resource_for_node 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager rt.update_available_resource(context, nodename) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/compute/resource_tracker.py", line 641, in update_available_resource 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager resources = self.driver.get_available_resource(nodename) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 5857, in get_available_resource 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 5621, in _get_pci_passthrough_devices 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager for name in dev_names: 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 5582, in _get_pcidev_info 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager device['label'] = 'label_%(vendor_id)s_%(product_id)s' % device 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 5553, in _get_device_capabilities 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager pcinet_info = self._get_pcinet_info(address) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 5496, in _get_pcinet_info 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager virtdev = self._host.device_lookup_by_name(devname) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/host.py", line 845, in device_lookup_by_name 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager return self.get_connection().nodeDeviceLookupByName(name) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 186, in doit 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager result = proxy_call(self._autowrap, f, *args, **kwargs) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 144, in proxy_call 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager rv = execute(f, *args, **kwargs) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 125, in execute 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager six.reraise(c, e, tb) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/eventlet/tpool.py", line 83, in tworker 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager rv = meth(*args, **kwargs) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager File "/usr/lib/python2.7/dist-packages/libvirt.py", line 4177, in nodeDeviceLookupByName 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager if ret is None:raise libvirtError('virNodeDeviceLookupByName() failed', conn=self) 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager libvirtError: Node device not found: no node device with matching name 'net_enp129s2_b2_87_6e_13_a1_5e' 2018-01-28 20:40:11.416 2953 ERROR nova.compute.manager

The correct interface name is enp129s0f0. However, I am getting the node name as net_enp129s2_b2_87_6e_13_a1_5e' which i believe is the reason behind the failure of vm creation on openstack. Please if someone could help me understand how the node name is passed on to the Libvirt from openstack or how can I resolve this issue.



Regards,
Navdeep
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20180129/2547e4cb/attachment.html>


More information about the Openstack mailing list