Hide Forgot
After upgrade to Redhat 6.2 libvirt-0.9.4-23.el6_2.1.x86_64 libvirt fails to start any guest: # virsh start mock5 error: Failed to start domain mock5 error: internal error unable to reserve PCI address 0:0:2.0 had to revert back to libvirt-0.8.7-18.el6.x86_64 to resolve the issue
Can you please provide the daemon logs and mock5 XML? That error message you are getting means that PCI address was already taken/reserved for other device. To get logs, in /etc/libvirt/libvirtd.conf log_level=1 MAY set log_filters="3:remote 4:event" log_outputs="1:file:/var/log/libvirtd.log"
Created attachment 546206 [details] VM xml
Created attachment 546207 [details] libvirtd log file
There is only one VM running on this server
Vadym, your problem is related to https://bugzilla.redhat.com/show_bug.cgi?id=692355 In the fix for that bug, we had to unconditionally reserve PCI address 0:0:2.0 for a graphic card (even if there is currently none). See that bug. To solve your problem you need to change PCI address of interface. So either edit <address> element and change slot to say '0x05' or remove the whole element and libvirt will generate it for you. However, I am setting needinfo flag, so you can confirm it is working for you.
Yes, it did help, thank you. I created a new VM just to compare configuration files and I see where slot 0x2 was added: <video> <model type='cirrus' vram='9216' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video>
Since this issue is resolved, I am closing this. I agree that behavior during upgrade is not user friendly. However, it should be documented in errata for 692355 that PCI address 0:0:2.0 is reserved.
*** This bug has been marked as a duplicate of bug 771603 ***