| Summary: | virt-manager creates unusable config with virtio block devices | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | David Kovalsky <dkovalsk> | ||||
| Component: | virt-manager | Assignee: | Cole Robinson <crobinso> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 14 | CC: | benl, berrange, crobinso, geslinux, hbrock, jforbes, massi.ergosum, nerijus, stijn, tobias.gerschner, virt-maint | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2012-01-17 22:40:21 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
|
Description
David Kovalsky
2011-06-04 21:24:55 UTC
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 |