Hi
I’m running a oVirt 4.4.4 installation (with a single node and single cluster). After a recent reboot, I’m trying to start the VMs, which fails with:
VM udc1 is down with error. Exit message: XML error: The device at PCI address 0000:00:02.0 cannot be plugged into the PCI controller with index='0'. It requires a controller that accepts a pcie-root-port..
Dmesg shows:
Mar 15 17:07:48 ovirt1 journal[2245]: internal error: a PCI slot is needed to connect a PCI controller model='pcie-root-port', but none is available, and it cannot be automatically added
The issue seems with the “custom chipset/firmware” set to i440fx rather than Q35 for the cluster. The VM is configured to cluster default.
The rationale for running i440 is that Debian doesn’t actually support Q35 with cloud-init, leading to an uninitialized VM. Since I’m running mainly Debian/Ubuntu VMs it’s needed to have i440 set instead.
The error is also visible in oVirt Manager, when checking out the “Vm Devices” for the failed VM (all of them).
The workaround for starting the VM seems to be to do:
Edit -> System -> Advanced Parameters -> Custom Chipset/Firmware Type -> Change to Q35 and back to cluster default (being i440). This resets the list to remove the need for a pcie-root-port.
I gives the impressions that there is an initialization error of the ovirt engine, where the Q35 devices are loaded in incorrectly or maybe not fetched as the right cluster default.
I’ve not tested what happens if the configured for i440fx is applied at VM level, rather than cluster level.
Does anyone know how to resolve this for future versions?
Or what can be done to make this work after a reboot?
Best regards,
Joris