I've installed Debian 6 as a virt machine in F14, later decided to switch to virtio for block device. I did the change in virt-manager, but then the virt machine fails to start: # virsh create debian-6.xml error: Failed to create domain from debian-6.xml error: internal error Process exited while reading console log output: char device redirected to /dev/pts/2 qemu-kvm: -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:7f:bb:bd,bus=pci.0,addr=0x3: PCI: slot 3 function 0 not available for virtio-net-pci, in use by virtio-blk-pci qemu-kvm: -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:7f:bb:bd,bus=pci.0,addr=0x3: Device 'virtio-net-pci' could not be initialized What's interesting is that I was able to do the change on a remove RHEL5 host, but while attempting to do the same step on a local instance, it failed. virt-manager-0.8.7-2.fc14.noarch
Created attachment 503020 [details] generated XML config (not working)
I have a similar problem trying to create a winxp host that uses virtio devices (disk, network). Here my error from virt-manager: Error starting domain: internal error Process exited while reading console log output: char device redirected to /dev/pts/3 qemu-kvm: -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:66:8b:76,bus=pci.0,addr=0x3: PCI: slot 3 function 0 not available for virtio-net-pci, in use by virtio-blk-pci qemu-kvm: -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:66:8b:76,bus=pci.0,addr=0x3: Device 'virtio-net-pci' could not be initialized Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 45, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/engine.py", line 959, in asyncfunc vm.startup() File "/usr/share/virt-manager/virtManager/domain.py", line 1114, in startup self._backend.create() File "/usr/lib64/python2.7/site-packages/libvirt.py", line 333, in create if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirtError: internal error Process exited while reading console log output: char device redirected to /dev/pts/3 qemu-kvm: -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:66:8b:76,bus=pci.0,addr=0x3: PCI: slot 3 function 0 not available for virtio-net-pci, in use by virtio-blk-pci qemu-kvm: -device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:66:8b:76,bus=pci.0,addr=0x3: Device 'virtio-net-pci' could not be initialized $ rpm -q virt-manager libvirt virt-manager-0.8.7-2.fc14.noarch libvirt-0.8.3-9.fc14.x86_64
Workaround in http://bugs.gentoo.org/show_bug.cgi?&id=362197 helped - I changed slot='0x03' to slot='0x05' in <interface type='bridge'> section.
This is a libvirt and a virt-manager problem. On the one hand if we change the disk bus we need to remove the <address> block and libvirt generate a new one, since the old one probably won't be valid anymore. However, libvirt shouldn't be allowing an invalid config to be defined in this case.
virt-manager fixed upstream (with a helper fix in python-virtinst): http://git.fedorahosted.org/git?p=virt-manager.git;a=commit;h=305808187d080faff094fa59955040bd8a82ec3e http://git.fedorahosted.org/git?p=python-virtinst.git;a=commit;h=235ecc0987c7c6452c0e623f19bc5d2f9385adeb
I experienced the same problem today. Error starting domain: internal error process exited while connecting to monitor: char device redirected to /dev/pts/1 qemu-kvm: -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ef:5c:6b,bus=pci.0,addr=0x3: PCI: slot 3 function 0 not available for virtio-net-pci, in use by virtio-blk-pci qemu-kvm: -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ef:5c:6b,bus=pci.0,addr=0x3: Device 'virtio-net-pci' could not be initialized Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 45, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/engine.py", line 959, in asyncfunc vm.startup() File "/usr/share/virt-manager/virtManager/domain.py", line 1128, in startup self._backend.create() File "/usr/lib64/python2.7/site-packages/libvirt.py", line 330, in create if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirtError: internal error process exited while connecting to monitor: char device redirected to /dev/pts/1 qemu-kvm: -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ef:5c:6b,bus=pci.0,addr=0x3: PCI: slot 3 function 0 not available for virtio-net-pci, in use by virtio-blk-pci qemu-kvm: -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ef:5c:6b,bus=pci.0,addr=0x3: Device 'virtio-net-pci' could not be initialized How to reproduce (virt-manager): 1. Create a new VM with one virtio disk and one virtio NIC. 2. Add 3 new SCSI disks to VM. 3. Once disks are added change their type from SCSI to virtio. 4. Start VM. I got the above error. 5. Changed disks back to SCSI. Got error about SCSI addresses. 6. Removed NIC. No change. 7. Removed all 3 new disks. 8. Added new virtio NIC. 9. Added back all 3 new disks as virtio. 10. Issue resolved - VM starts up. I have not tested, but I believe by just removing and re-adding disks should fix the issue.
My setup was very simple and I followed the instructions from Comment #6, which works for me.
F14 is end of life now. This change never made it into f14 but it is in f16. Closing as CURRENTRELEASE