theforeman / forklift

Helpful deployment scripts for Foreman and Katello
https://theforeman.github.io/forklift
GNU General Public License v3.0
183 stars 199 forks source link

put cirrus-vga on a high PCI slot, so it doesn't clash #1809

Closed evgeni closed 5 months ago

evgeni commented 5 months ago

VGA cards get PCI slot 2 by default from QEMU [1], however, as we actually disable graphics (so that we don't race for an VNC port), QEMU thinks it's smart and also gives slot 2 to the storage controller, leading to:

Call to virDomainCreateWithFlags failed: internal error:
QEMU unexpectedly closed the monitor (vm='forklift_debian11'):
qemu-system-x86_64: -device {"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x2","drive":"libvirt-1-format","id":"ua-box-volume-0","bootindex":1,"write-cache":"on"}:
PCI: slot 2 function 0 not available for virtio-blk-pci, in use by cirrus-vga,id=video0 (Libvirt::Error)

Let's be smarter than QEMU and plug our unused video card (that is needed for [2]) into slot 9 instead.

[1] https://libvirt.org/pci-addresses.html [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021298