Can't assign system with multiple GPUs to different VMs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nova-solver-scheduler |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I have an OS Mitaka deployment that was done by Fuel (9.0).
I have a system with 8GPUs in a single box. We are trying to allow VMs to request access to GPU resources via this box.
I know that with PCI Passthrough you can only have a device assigned to a single VM (e.g. 1 device <-> 1 VM). However, this box has 8 GPUs (8 separate devices). So I want support (1GPU -> 1VM) * 8, or (2GPU -> 1VM) * 4, (4GPU -> 1VM) * 2, or (8GPU -> 1VM) * 1.
I have successfully been able to get the system to have 1 GPU <-> 1 VM, however when I go to create another VM with a GPU I get "not enough hosts found".
This is what I have done so far.
/etc/nova/nova.conf
Add:
Pic_passthrough
sudo gedit /etc/modules and add:
pci_stub
vfio
vfio_iommu_type1
vfio_pci
kvm
kvm_intel
Sudo vi /etc/default/grub
GRUB_CMDLINE_
//BLACKLIST
sudo gedit /etc/initramfs-
pci_stub ids=10de:17c2
sudo update-initramfs -u
On Controller Node:
Edit nova.conf
Add specifically for GPU you want to use!
pci_alias=
Add
scheduler_
scheduler_
scheduler_
scheduler_
#: source openrc
Nova flavor-key g1.xlarge set "pci_passthroug
If I create 1 VM it works. When I go to create my second VM with the same flavor it errors out with this message.
Message: No valid host was found. There are not enough hosts available.
Code: 500
File "/usr/lib/
Running SELECT * FROM pci_devices; on the nova database I get the following
As you can see it shows 7 are available.
Changed in nova-solver-scheduler: | |
status: | New → Invalid |