After upgrading to ovirt-node 1.9.0 with ovirt, I cannot pxe boot anymore. In 1.9.0, libvirt was upgraded. In order to create nic cards in qemu-kvm guests, the parameter used by libvirt is now -device instead of -net nic. Patch here : http://osdir.com/ml/libvir-list/2010-01/msg00173.html However, qemu 0.12.2 complains at startup with such parameters : Warning: vlan 0 with no nics And when I try to boot from the network, qemu-kvm fails : Cannot boot from non-existent NIC I think this was fixed in qemu-kvm 0.12.3 : http://permalink.gmane.org/gmane.comp.emulators.qemu/63509 But ovirt-node-image 1.9.0 ships with qemu-kvm 0.12.2
upgrading qemu-kvm to 0.12.3 did not solve the issue. The lines "warning: vlan 0 with no nics" are gone but the failure is still there when giving -boot n : Cannot boot from non-existent NIC
Observed with libvirt version : 0.7.6 Content of taskomatic.log : INFO Thu Mar 11 15:03:33 +0100 2010 (3247) starting task_start_vm INFO Thu Mar 11 15:03:35 +0100 2010 (3247) VM will be started on node node80.ovirt.priv DEBUG Thu Mar 11 15:03:35 +0100 2010 (3247) Connecting volumes: DEBUG Thu Mar 11 15:03:36 +0100 2010 (3247) XML Domain definition: <domain type='kvm'><name>Dut-D</name><uuid>f7623dbf-2359-0d13-81ab-5b95a2457bc2</uuid><memory>1048576</memory><currentMemory></currentMemory><vcpu>1</vcpu><os><type>hvm</type><boot dev='network'/></os><clock offset='utc'/><on_poweroff>destroy</on_poweroff><on_reboot>restart</on_reboot><on_crash>destroy</on_crash><devices><emulator>/usr/bin/qemu-kvm</emulator><interface type='bridge'><model type='e1000'/><mac address='02:5A:3B:27:00:00'/><source bridge='breth0'/></interface><interface type='bridge'><model type='e1000'/><mac address='00:16:3e:49:23:fc'/><source bridge='brvp'/></interface><input bus='ps2' type='mouse'/><graphics type='vnc' port='-1' listen='0.0.0.0'/><serial type='tcp'><target port='0'/><protocol type='telnet'/><source mode='bind' service='5828' host='0.0.0.0'/></serial></devices><features><acpi/><apic/></features></domain> ERROR Thu Mar 11 15:03:39 +0100 2010 (3247) Task action processing failed: RuntimeError: Error creating virtual machine: Error: Error creating new domain (virDomainCreate). Subsystem qemu: monitor socket did not show up.: Connection refused in DomainWrap.cpp:ManagementMethod:115 ERROR Thu Mar 11 15:03:39 +0100 2010 (3247) /usr/share/ovirt-server/task-omatic/taskomatic.rb:436:in `task_start_vm'/usr/share/ovirt-server/task-omatic/taskomatic.rb:937:in `mainloop'/usr/share/ovirt-server/task-omatic/taskomatic.rb:923:in `each'/usr/share/ovirt-server/task-omatic/taskomatic.rb:923:in `mainloop'/usr/share/ovirt-server/task-omatic/taskomatic.rb:889:in `loop'/usr/share/ovirt-server/task-omatic/taskomatic.rb:889:in `mainloop'/usr/share/ovirt-server/task-omatic/taskomatic.rb:990 INFO Thu Mar 11 15:03:39 +0100 2010 (3247) done Content of /var/log/libvirt/qemu/Dut-D.log : LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-kvm -S -M pc-0.12 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name Dut-D -uuid f7623dbf-2359-0d13-81ab-5b95a2457bc2 -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/Dut-D.monitor,server,nowait -mon chardev=monitor,mode=readline -boot n -device e1000,vlan=0,id=net0,mac=02:5a:3b:27:00:00,bus=pci.0,addr=0x4 -net tap,fd=25,vlan=0,name=hostnet0 -device e1000,vlan=1,id=net1,mac=00:16:3e:49:23:fc,bus=pci.0,addr=0x5 -net tap,fd=26,vlan=1,name=hostnet1 -chardev socket,id=serial0,host=0.0.0.0,port=5828,telnet,server,nowait -device isa-serial,chardev=serial0 -usb -vnc 0.0.0.0:0 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 Warning: vlan 0 with no nics Warning: vlan 1 with no nics Cannot boot from non-existent NIC
"Cannot boot from non-existent NIC" while there is 2 e1000 network devices defined on the command line. Sounds like a qemu bug, Daniel
It appears that PXE fails when disks are presented using '-device' instead of '-net nic'
Downgrading to libvirt 0.7.5 fixes the problem. To do this "live" : - download those rpms and copy them to the node : scp libvirt-0.7.5-1.fc12.x86_64.rpm libvirt-client-0.7.5-1.fc12.x86_64.rpm libvirt-python-0.7.5-1.fc12.x86_64.rpm root@node24:/tmp - in the node : cd /tmp rpm -Uvh --oldpackage libvirt-python-0.7.5-1.fc12.x86_64.rpm libvirt-client-0.7.5-1.fc12.x86_64.rpm libvirt-0.7.5-1.fc12.x86_64.rpm /etc/init.d/libvirtd start
workaround in ovirt-node 1.9.1 is to exclude F12 virt-preview repo. With qemu-0.11.0-13.fc12 and libvirt-0.7.1-15.fc12 VM PXE boot works fine.
Fix submitted upstream: http://marc.info/?l=qemu-devel&m=127059288329503
Should be fixed in qemu-0.12.3-8.fc13 *** This bug has been marked as a duplicate of bug 577851 ***