We are playing around with the PCI Passthrough using Mellanox network cards. In our case we have 2 NICs available in our hyps. The first one is used by the hypervisor byt the system and the second one should be attached to a VM via PCI PT. The problem that we found was that the class, device and vendor are the same for those cards:
The only difference is the address 0000:08:00.0 instead 0000:07:00.0
But the scheduler chooses the first device available, 07 and we do not want that. It is possible to force to use an specific address from the PCI section when the class,device and vendor are the same between two devices? like ADDRESS=“0000:08:00.0”?
Or should we change the filter from /var/lib/one/remotes/im/kvm-probes.d/pci.rb to just show an specific address to OpenNebula scheduler?
Thanks for your quick response
But i think your approach does not work for us.
In your case “the user”, the one creating the VM template, is in charge of selecting the specific device.
We don’t want that. The user should only be able to query devices based on vendor/device/class values.
Our own scheduler then decides which host and device is chosen for the VMs and needs to set the specific device address when it deploys the VM on the host.