Re: [libvirt] Still in freeze, third rc tarball available
On Wed, Feb 16, 2011 at 05:10:10PM -0700, Jim Fehlig wrote: Jim Fehlig wrote: Daniel Veillard wrote: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! Building and passing minimal tests on all supported openSUSE/SLE distros, which in itself is a good exercise of the various configure options. However, I'm trying to run libvirt-tck on openSUSE11.4rc1, qemu0.14rc1, and libvirt 0.8.8rc3 (lots of rc's :)) and getting quite a few failures. The failing qemu invocations look like: 2011-02-15 12:15:05.863: starting up LC_ALL=C PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin HOME=/root USER=root LOGNAME=root /usr/bin/qemu-kvm -S -M pc-0.14 -enable-kvm -m 64 -smp 1,sockets=1,cores=1,threads=1 -name tck -uuid 7767756e-9160-41d3-f7a5-0af2aed17d1b -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/tck.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -boot c -kernel /var/cache/libvirt-tck/os-i686-hvm/vmlinuz -initrd /var/cache/libvirt-tck/os-i686-hvm/initrd -drive file=/var/cache/libvirt-tck/os-i686-hvm/disk.img,if=none,id=drive-virtio-disk0,boot=on,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 char device redirected to /dev/pts/1 Two devices with same boot index 0 I think qemu0.14 is less tolerable of specifying 2 boot devices, in this case implicitly with -kernel and boot=on for the disk. I'll try to look more later but for now need some sleep. I see Bruce brought this up on qemu ml [1]. Seems removing boot=on when using linuxboot.bin is preferred solution. I'm attaching a hack that allows me to pass the libvirt-tck domain tests but would really like comment from someone familiar with code, particularly the bootindex stuff in qemu-kvm. Thanks! Jim [1] http://lists.nongnu.org/archive/html/qemu-devel/2011-02/msg01892.html diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 05f427c..9186707 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3112,7 +3112,7 @@ qemuBuildCommandLine(virConnectPtr conn, } /* If QEMU supports -drive param instead of old -hda, -hdb, -cdrom .. */ -if (qemuCmdFlags QEMUD_CMD_FLAG_DRIVE) { +if (qemuCmdFlags QEMUD_CMD_FLAG_DRIVE !def-os.kernel) { int bootCD = 0, bootFloppy = 0, bootDisk = 0; /* If QEMU supports boot=on for -drive param... */ This patch prevents libvirt actually creating any disks at all. Your idea sounds good though. I think if you put the ' !def-os.kernel' bit in the next conditional it will work, eg try /* If QEMU supports boot=on for -drive param... */ if ((qemuCmdFlags QEMUD_CMD_FLAG_DRIVE_BOOT) !def-os.kernel) { Regards, Daniel -- |: http://berrange.com -o-http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
Daniel P. Berrange wrote: On Wed, Feb 16, 2011 at 05:10:10PM -0700, Jim Fehlig wrote: diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 05f427c..9186707 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3112,7 +3112,7 @@ qemuBuildCommandLine(virConnectPtr conn, } /* If QEMU supports -drive param instead of old -hda, -hdb, -cdrom .. */ -if (qemuCmdFlags QEMUD_CMD_FLAG_DRIVE) { +if (qemuCmdFlags QEMUD_CMD_FLAG_DRIVE !def-os.kernel) { int bootCD = 0, bootFloppy = 0, bootDisk = 0; /* If QEMU supports boot=on for -drive param... */ This patch prevents libvirt actually creating any disks at all. Your idea sounds good though. I think if you put the ' !def-os.kernel' bit in the next conditional it will work, eg try /* If QEMU supports boot=on for -drive param... */ if ((qemuCmdFlags QEMUD_CMD_FLAG_DRIVE_BOOT) !def-os.kernel) { Err, right. That's the patch I actually tested. I doubt many of the tck tests would have passed with the version I posted here :-). The correct patch has been sent ... Thanks, Jim -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
Jim Fehlig wrote: Daniel Veillard wrote: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! Building and passing minimal tests on all supported openSUSE/SLE distros, which in itself is a good exercise of the various configure options. However, I'm trying to run libvirt-tck on openSUSE11.4rc1, qemu0.14rc1, and libvirt 0.8.8rc3 (lots of rc's :)) and getting quite a few failures. The failing qemu invocations look like: 2011-02-15 12:15:05.863: starting up LC_ALL=C PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin HOME=/root USER=root LOGNAME=root /usr/bin/qemu-kvm -S -M pc-0.14 -enable-kvm -m 64 -smp 1,sockets=1,cores=1,threads=1 -name tck -uuid 7767756e-9160-41d3-f7a5-0af2aed17d1b -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/tck.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -boot c -kernel /var/cache/libvirt-tck/os-i686-hvm/vmlinuz -initrd /var/cache/libvirt-tck/os-i686-hvm/initrd -drive file=/var/cache/libvirt-tck/os-i686-hvm/disk.img,if=none,id=drive-virtio-disk0,boot=on,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 char device redirected to /dev/pts/1 Two devices with same boot index 0 I think qemu0.14 is less tolerable of specifying 2 boot devices, in this case implicitly with -kernel and boot=on for the disk. I'll try to look more later but for now need some sleep. I see Bruce brought this up on qemu ml [1]. Seems removing boot=on when using linuxboot.bin is preferred solution. I'm attaching a hack that allows me to pass the libvirt-tck domain tests but would really like comment from someone familiar with code, particularly the bootindex stuff in qemu-kvm. Thanks! Jim [1] http://lists.nongnu.org/archive/html/qemu-devel/2011-02/msg01892.html diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 05f427c..9186707 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3112,7 +3112,7 @@ qemuBuildCommandLine(virConnectPtr conn, } /* If QEMU supports -drive param instead of old -hda, -hdb, -cdrom .. */ -if (qemuCmdFlags QEMUD_CMD_FLAG_DRIVE) { +if (qemuCmdFlags QEMUD_CMD_FLAG_DRIVE !def-os.kernel) { int bootCD = 0, bootFloppy = 0, bootDisk = 0; /* If QEMU supports boot=on for -drive param... */ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
2011/2/15 Osier Yang jy...@redhat.com: 于 2011年02月15日 11:32, Daniel Veillard 写道: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! thanks, Daniel # ./daemon/libvirtd 14:11:15.018: 31796: info : libvirt version: 0.8.8, package: () PACKAGE_VERSION and PACKAGER are all defined as by default, do we need to do more checking to print just the following? 14:11:15.018: 31796: info : libvirt version: 0.8.8 14:11:15.018: 31796: error : virCommandWait:1226 : internal error Child process exited with status 2. 14:11:15.038: 31796: error : virCommandWait:1226 : internal error Child process exited with status 2. Not sure if above two errors are allowed, didn't investigate. Regards Osier I have this two errors two. The come from the network driver trying to use iptables features that are not present in my iptables version. The driver expects this and handles it by outputting a warning in that case: 11:02:01.686: 13937: warning : networkAddGeneralIptablesRules:1128 : Could not add rule to fixup DHCP response checksums on network 'default'. 11:02:01.686: 13937: warning : networkAddGeneralIptablesRules:1129 : May need to update iptables package kernel to support CHECKSUM rule. But the virCommand code reports the failing call to iptables as error. We might want to add some logic to the virCommand code to suppress expected errors. You can test if it's the same problem for you by applying this patch: diff --git a/src/util/command.c b/src/util/command.c index abd2dc4..258dc13 100644 --- a/src/util/command.c +++ b/src/util/command.c @@ -1221,9 +1221,11 @@ virCommandWait(virCommandPtr cmd, int *exitstatus) if (exitstatus == NULL) { if (status != 0) { +char *str = virCommandToString(cmd); virCommandError(VIR_ERR_INTERNAL_ERROR, -_(Child process exited with status %d.), -WEXITSTATUS(status)); +_(Child process (%s) exited with status %d.), +str ? str : cmd-args[0], WEXITSTATUS(status)); +VIR_FREE(str); return -1; } } else { that makes it output the failing command. Matthias -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
On Tue, Feb 15, 2011 at 11:10:07AM +0100, Matthias Bolte wrote: 2011/2/15 Osier Yang jy...@redhat.com: 于 2011年02月15日 11:32, Daniel Veillard 写道: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! thanks, Daniel # ./daemon/libvirtd 14:11:15.018: 31796: info : libvirt version: 0.8.8, package: () PACKAGE_VERSION and PACKAGER are all defined as by default, do we need to do more checking to print just the following? 14:11:15.018: 31796: info : libvirt version: 0.8.8 14:11:15.018: 31796: error : virCommandWait:1226 : internal error Child process exited with status 2. 14:11:15.038: 31796: error : virCommandWait:1226 : internal error Child process exited with status 2. Not sure if above two errors are allowed, didn't investigate. Regards Osier I have this two errors two. The come from the network driver trying to use iptables features that are not present in my iptables version. The driver expects this and handles it by outputting a warning in that case: 11:02:01.686: 13937: warning : networkAddGeneralIptablesRules:1128 : Could not add rule to fixup DHCP response checksums on network 'default'. 11:02:01.686: 13937: warning : networkAddGeneralIptablesRules:1129 : May need to update iptables package kernel to support CHECKSUM rule. But the virCommand code reports the failing call to iptables as error. We might want to add some logic to the virCommand code to suppress expected errors. You can test if it's the same problem for you by applying this patch: diff --git a/src/util/command.c b/src/util/command.c index abd2dc4..258dc13 100644 --- a/src/util/command.c +++ b/src/util/command.c @@ -1221,9 +1221,11 @@ virCommandWait(virCommandPtr cmd, int *exitstatus) if (exitstatus == NULL) { if (status != 0) { +char *str = virCommandToString(cmd); virCommandError(VIR_ERR_INTERNAL_ERROR, -_(Child process exited with status %d.), -WEXITSTATUS(status)); +_(Child process (%s) exited with status %d.), +str ? str : cmd-args[0], WEXITSTATUS(status)); +VIR_FREE(str); return -1; } } else { In general that patch look useful, what about applying to head ? Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ dan...@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
2011/2/15 Osier Yang jy...@redhat.com: 于 2011年02月15日 11:32, Daniel Veillard 写道: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! thanks, Daniel # ./daemon/libvirtd 14:11:15.018: 31796: info : libvirt version: 0.8.8, package: () PACKAGE_VERSION and PACKAGER are all defined as by default, do we need to do more checking to print just the following? configure tests --with-packager(-version) for no instead of empty string. I think --with-packager(-version) should either default to no diff --git a/configure.ac b/configure.ac index 3cd824a..9caa902 100644 --- a/configure.ac +++ b/configure.ac @@ -32,11 +32,11 @@ AC_SUBST([LIBVIRT_VERSION_NUMBER]) AC_ARG_WITH([packager], [AS_HELP_STRING([--with-packager], [Extra packager name])], -[],[]) +[],[with_packager=no]) AC_ARG_WITH([packager-version], [AS_HELP_STRING([--with-packager-version], [Extra packager version])], -[],[]) +[],[with_packager_version=no]) if test x$with_packager != xno then AC_DEFINE_UNQUOTED([PACKAGER], [$with_packager], or be tested for empty string diff --git a/configure.ac b/configure.ac index 3cd824a..2f371a7 100644 --- a/configure.ac +++ b/configure.ac @@ -37,12 +37,12 @@ AC_ARG_WITH([packager-version], [AS_HELP_STRING([--with-packager-version], [Extra packager version])], [],[]) -if test x$with_packager != xno +if test x$with_packager != x then AC_DEFINE_UNQUOTED([PACKAGER], [$with_packager], [Extra package name]) fi -if test x$with_packager_version != xno +if test x$with_packager_version != x then AC_DEFINE_UNQUOTED([PACKAGER_VERSION], [$with_packager_version], [Extra package version]) both approaches fix the cosmetic problem. Matthias -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
On 15/02/2011, at 2:32 PM, Daniel Veillard wrote: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! Seems ok from basic testing on OSX. :) Regards and best wishes, Justin Clift -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
On 02/15/2011 03:33 AM, Matthias Bolte wrote: PACKAGE_VERSION and PACKAGER are all defined as by default, do we need to do more checking to print just the following? configure tests --with-packager(-version) for no instead of empty string. I think --with-packager(-version) should either default to no diff --git a/configure.ac b/configure.ac index 3cd824a..9caa902 100644 --- a/configure.ac +++ b/configure.ac @@ -32,11 +32,11 @@ AC_SUBST([LIBVIRT_VERSION_NUMBER]) AC_ARG_WITH([packager], [AS_HELP_STRING([--with-packager], [Extra packager name])], -[],[]) +[],[with_packager=no]) AC_ARG_WITH([packager-version], [AS_HELP_STRING([--with-packager-version], [Extra packager version])], -[],[]) +[],[with_packager_version=no]) if test x$with_packager != xno then AC_DEFINE_UNQUOTED([PACKAGER], [$with_packager], I like this approach better. Consider this a pre-approved ACK. +++ b/configure.ac @@ -37,12 +37,12 @@ AC_ARG_WITH([packager-version], [AS_HELP_STRING([--with-packager-version], [Extra packager version])], [],[]) -if test x$with_packager != xno +if test x$with_packager != x No, because ./configure --without-packager-version is shorthand for ./configure --with-packager-version=no, which means $with_packager is not the empty string. -- Eric Blake ebl...@redhat.com+1-801-349-2682 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
Daniel Veillard wrote: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! Building and passing minimal tests on all supported openSUSE/SLE distros, which in itself is a good exercise of the various configure options. However, I'm trying to run libvirt-tck on openSUSE11.4rc1, qemu0.14rc1, and libvirt 0.8.8rc3 (lots of rc's :)) and getting quite a few failures. The failing qemu invocations look like: 2011-02-15 12:15:05.863: starting up LC_ALL=C PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin HOME=/root USER=root LOGNAME=root /usr/bin/qemu-kvm -S -M pc-0.14 -enable-kvm -m 64 -smp 1,sockets=1,cores=1,threads=1 -name tck -uuid 7767756e-9160-41d3-f7a5-0af2aed17d1b -nographic -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/tck.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -boot c -kernel /var/cache/libvirt-tck/os-i686-hvm/vmlinuz -initrd /var/cache/libvirt-tck/os-i686-hvm/initrd -drive file=/var/cache/libvirt-tck/os-i686-hvm/disk.img,if=none,id=drive-virtio-disk0,boot=on,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -usb -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 char device redirected to /dev/pts/1 Two devices with same boot index 0 I think qemu0.14 is less tolerable of specifying 2 boot devices, in this case implicitly with -kernel and boot=on for the disk. I'll try to look more later but for now need some sleep. Regards, Jim -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] Still in freeze, third rc tarball available
Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! thanks, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ dan...@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] Still in freeze, third rc tarball available
于 2011年02月15日 11:32, Daniel Veillard 写道: Thanks everybody for the testing feedback and fixes, in retrospect I should really had done this in previous releases ! So the third rc tarball is out, it's likely to be the last one before the release (within 48 hours): ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz give it a try ! thanks, Daniel # ./daemon/libvirtd 14:11:15.018: 31796: info : libvirt version: 0.8.8, package: () PACKAGE_VERSION and PACKAGER are all defined as by default, do we need to do more checking to print just the following? 14:11:15.018: 31796: info : libvirt version: 0.8.8 14:11:15.018: 31796: error : virCommandWait:1226 : internal error Child process exited with status 2. 14:11:15.038: 31796: error : virCommandWait:1226 : internal error Child process exited with status 2. Not sure if above two errors are allowed, didn't investigate. Regards Osier -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list