[libvirt] [PATCH 0/2] add VIR_TEST_EXPENSIVE for faster 'make check' by default
by Eric Blake
Based on discussion of Peter's recent test additions, and
whether we should sleep waiting for a timeout by default.
I did _not_ wire up the use of VIR_TEST_EXPENSIVE as a way
to bypass Peter's sleep test, although I can help with that
as needed (although in Peter's case, it may be simpler to
just getenv("VIR_TEST_EXPENSIVE") inside the C code, instead
of trying to hack tests/Makefile.am to be conditional).
Tested with 'make distcheck' in both in-tree and VPATH builds
(which also the configure defaults when unpacking a tarball),
and in setups where I explicitly used --enable-gnulib-tests or
--disable-gnulib-tests, vs. running 'make check
VIR_TEST_EXPENSIVE=1'; in all cases, the gnulib tests were
skipped only when expected.
Patch 1/2 is something I noticed on the side (basically
side work from my first approach to compile out the directory
at configure time, but that approach failed 'make check');
patch 2/2 can be applied independently, and this is only a
series because both patches touch configure.
I realized (only now that I am sending this patch) that my
patch is one-way: you can turn on expensive tests (either at
configure time or at runtime) but can't turn them off.
Automake was able to have 'make V=0' and 'make V=1' override
configure defaults in both directions by using nested make
expansion, so if it is deemed necessary, I could respin to
try that approach instead of the approach I used here, where
an explicit VIR_TEST_EXPENSIVE=0 would then disable the tests
regardless of the choice made during configure. On the other
hand, having only a one-way road for turning on tests, with
no counterpart for turning them off, seems adequate.
I'm also open to bikeshedding, such as whether the configure
options should be named --enable-expensive-tests instead of
--enable-gnulib-tests, on the grounds that we might want
to make tests/Makefile.am conditional after all.
Eric Blake (2):
maint: use modern autoconf idioms
build: add configure option to disable gnulib tests
HACKING | 9 ++++++++
autobuild.sh | 3 +++
bootstrap.conf | 3 ++-
configure.ac | 60 ++++++++++++++++++++++++++++++++----------------
docs/hacking.html.in | 13 +++++++++++
gnulib/tests/Makefile.am | 13 ++++++++++-
libvirt.spec.in | 1 +
mingw-libvirt.spec.in | 4 ++--
8 files changed, 82 insertions(+), 24 deletions(-)
--
1.8.3.1
11 years, 3 months
[libvirt] ANNOUNCE: libvirt-sandbox "Sahara Desert" release 0.5.0
by Daniel P. Berrange
I pleased to announce the a new public release of libvirt-sandbox,
version 0.5.0, is now available for download
ftp://libvirt.org/libvirt/sandbox/
The packages are GPG signed with
Key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF (4096R)
The libvirt-sandbox package provides an API layer on top of libvirt-gobject
which facilitates the cration of application sandboxes using virtualization
technology. An application sandbox is a virtual machine or container that
runs a single application binary, directly from the host OS filesystem.
In other words there is no separate guest operating system install to build
or manager.
At this point in time libvirt-sandbox can create sandboxes using either LXC
or KVM, and should in theory be extendable to any libvirt driver. This
release has focused entirely on improving the virt-sandbox-service tool
This release focused on major feature development.
Changed in this release:
- Switch to use persistent libvirt configuration files for
service sandboxes
- Store service configs in /etc/libvirt-sandbox/services/$NAME/
instead of /etc/libvirt-sandbox/services/$NAME.sandbox to
allow storage of multiple files per sandbox
- Add a new 'virt-sandbox-service upgrade NAME' command,
to be run by admin for all existing service sandboxes to
upgrade their configuration to be compatible with the new
release
- Remove start, stop, list commands from virt-sandbox-service,
with recomendation to use start, destroy & list commands in
virsh instead.
- Remove duplicate -u option in man page
- Update man page examples
- Stop generating a UNIT_sandbox.target unit, instead letting
the sandbox unit tie into multi-user.target as normal
- Remove unimplemented APIs for graphical sandboxes, to be
re-added at a later date when actually functional
- Add padding to public structs, to facilitate preservation
of public ABI compatibility in future
- Add note about default libvirt URIs in man page
- Fix cloning of sandboxes
Thanks to everyone who contributed to this release
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 :|
11 years, 3 months
[libvirt] [PATCHv2 0/5] Handling of undefine and redefine snapshots with VirtualBox 4.2
by Manuel VIVES
Hi,
This is a serie of patches in order to support undefining and redefining
snapshots with VirtualBox 4.2.
The serie of patches is rather big, and adds among other things some utility functions unrelated to VirtualBox in patches 1 & 2.
The code review could be done in several parts: e.g. patches 1 & 2 separately to validate the utility functions.
This 2nd version brings a different function for string replacement, because of the license problem with
the first one.
The VirtualBox API provides only high level operations to manipulate snapshots,
so it not possible to support flags like VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE and
VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY with only API calls.
Following an IRC talk with Eric Blake, the decision was taken to emulate these
behaviours by manipulating directly the .vbox XML files.
The first two patches are some util methods for handling uuid and strings that
will be used after.
The third patch brings more details in the snapshot XML returned by libvirt.
We will need those modifications in order to redefine the snapshots.
The fourth patch brings the support of the VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE
and VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT flags in virDomainSnapshotCreateXML.
The fifth and last patch brings the support of the VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY
flag in virDomainSnapshotDelete.
The patches are only for Virtualbox 4.2
Regards,
Manuel VIVES
Manuel VIVES (5):
viruuid.h/c: Util method for finding uuid patterns in some strings
virstring.h/c: Util method for making some find and replace in
strings
vbox_tmpl.c: Better XML description for snapshots
vbox_tmpl.c: Patch for redefining snapshots
vbox_tmpl.c: Add methods for undefining snapshots
src/conf/domain_conf.c | 20 +-
src/libvirt_private.syms | 2 +
src/util/virstring.c | 48 ++
src/util/virstring.h | 2 +
src/util/viruuid.c | 79 ++
src/util/viruuid.h | 1 +
src/vbox/vbox_tmpl.c | 1842 +++++++++++++++++++++++++++++++++++++++++++---
7 files changed, 1873 insertions(+), 121 deletions(-)
--
1.7.10.4
11 years, 3 months
Re: [libvirt] [PATCH] Fix test case qemuagenttest compilation.
by Jincheng Miao
Sorry about uploading a large attachment.
And the build log link is:
https://app.box.com/s/gbjihylb3gvvh89xbn5m
----- Original Message -----
From: "Jincheng Miao" <jmiao(a)redhat.com>
To: "Eric Blake" <eblake(a)redhat.com>
Cc: libvir-list(a)redhat.com
Sent: Thursday, August 1, 2013 4:03:29 PM
Subject: Re: [libvirt] [PATCH] Fix test case qemuagenttest compilation.
hi Eric,
Bad luck, I test qemuagenttest build in rhel7.0, no error like this. Maybe it is a good new to libvirt.
And the gcc version is:
# rpm -q gcc libtool
gcc-4.8.0-2.el7.x86_64
libtool-2.4.2-14.el7.x86_64
And its compile cmdline likes:
gcc -std=gnu99 -Dabs_builddir=\"/root/software/libvirt/tests\" -I/usr/include/libxml2 -I/usr/include/p11-kit-1 -DGCRYPT_NO_DEPRECATED -W -Waddress -Waggressive-loop-optimizations -Wall -Warray-bounds -Wattributes -Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch -Wcpp -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wdouble-promotion -Wempty-body -Wendif-labels -Wextra -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wformat-zero-length -Wfree-nonheap-object -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline -Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch -Wjump-misses-init -Wlogical-op -Wmain -Wmaybe-uninitialized -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes -Wmudflap -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wnormalized=nfc -Wold-style-declaration -Wold-style-definition -Woverflow -Woverride-init -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wreturn-local-addr -Wreturn-type -Wsequence-point -Wshadow -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wsuggest-attribute=const -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wswitch -Wsync-nand -Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvector-operation-performance -Wvolatile-register-var -Wwrite-strings -Wno-sign-compare -Wjump-misses-init -Wno-format-nonliteral -Wframe-larger-than=4096 -fstack-protector-all --param=ssp-buffer-size=4 -Wno-unused-command-line-argument -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Werror -g2 -O0 -o .libs/qemuagenttest qemuagenttest.o testutils.o testutilsqemu.o ../src/libvirt_qemu_probes.o ../src/libvirt_probes.o -g2 -O0 ../src/.libs/libvirt_driver_qemu_impl.a ../src/.libs/libvirt_driver_network_impl.a ../src/.libs/libvirt.so -L/lib64 -lcap-ng -lyajl -lnl-route-3 -lnl-3 -laudit -ldevmapper -lxml2 -lnuma -lavahi-common -lavahi-client -ldbus-1 -lgnutls -lgcrypt -lsasl2 -lssh2 -lcurl -lselinux ../gnulib/lib/.libs/libgnu.a -lpthread -lutil ./.libs/libqemumonitortestutils.a -ldl -Wl,-rpath -Wl,/root/software/libvirt-inst/lib
But error in my fedora 19, the cmdline likes:
gcc -std=gnu99 -Dabs_builddir=\"/home/ryan/libvirt/tests\" -I/usr/include/libxml2 -W -Waddress -Waggressive-loop-optimizations -Wall -Warray-bounds -Wattributes -Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch -Wcpp -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wdouble-promotion -Wempty-body -Wendif-labels -Wextra -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wformat-zero-length -Wfree-nonheap-object -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline -Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch -Wjump-misses-init -Wlogical-op -Wmain -Wmaybe-uninitialized -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes -Wmudflap -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wnormalized=nfc -Wold-style-declaration -Wold-style-definition -Woverflow -Woverride-init -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wreturn-local-addr -Wreturn-type -Wsequence-point -Wshadow -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wsuggest-attribute=const -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wswitch -Wsync-nand -Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvector-operation-performance -Wvolatile-register-var -Wwrite-strings -Wno-sign-compare -Wjump-misses-init -Wno-format-nonliteral -Wframe-larger-than=4096 -fstack-protector-all --param=ssp-buffer-size=4 -Wno-unused-command-line-argument -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option -funit-at-a-time -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Werror -g2 -O0 -o .libs/qemuagenttest qemuagenttest.o testutils.o testutilsqemu.o ../src/.libs/libvirt_driver_qemu_impl.a ../src/.libs/libvirt_driver_network_impl.a ../src/.libs/libvirt.so -lnl -ldevmapper -lxml2 -lselinux ../gnulib/lib/.libs/libgnu.a -lpthread -lutil ./.libs/libqemumonitortestutils.a -ldl -Wl,-rpath -Wl,/root/software/libvirt-inst/lib
And the attachment is the build log in my fedora 19.
So why cause this?
----- Original Message -----
From: "Jincheng Miao" <jmiao(a)redhat.com>
To: "Eric Blake" <eblake(a)redhat.com>
Cc: libvir-list(a)redhat.com
Sent: Thursday, August 1, 2013 11:50:18 AM
Subject: Re: [libvirt] [PATCH] Fix test case qemuagenttest compilation.
On 08/01/2013 05:48 AM, Eric Blake wrote:
>> When compiling qemuagenttest, a link error occurs like:
>> ./.libs/libqemumonitortestutils.a(qemumonitortestutils.o): In function `qemuMonitorTestFree':
>> libvirt/tests/qemumonitortestutils.c:346: undefined reference to `qemuMonitorClose'
>> ./.libs/libqemumonitortestutils.a(qemumonitortestutils.o): In function `qemuMonitorTestNew':
>> libvirt/tests/qemumonitortestutils.c:870: undefined reference to `qemuMonitorOpen'
>> collect2: error: ld returned 1 exit status
>
> What platform was this on? Some distros are set up to be tolerant of
> lazy resolution, which masks issues like this (hence, I'm _not_ seeing
> this error on Fedora).
Actually I am using fedora 19 too.
And the toolchain is:
gcc-4.8.1-1.fc19.x86_64
libtool-2.4.2-16.fc19.x86_64
>>
>> And I checked this error, it caused by the position of
>> libqemumonitortestutils.a in gcc arguments.
>>
>> If libqemumonitortestutils.a before libvirt_driver_qemu_impl.a
>> and libvirt_driver_network_impl.a, the compilation passed.
>> Otherwise, failed.
>>
>> I think this should be a gcc's bug, but nevermind,
>> just fix it in libvirt.
>
> No, it's not a bug in gcc, but an actual bug in libvirt. If you can't
> rely on lazy resolution (such as on platforms like mingw, except that
> mingw doesn't build qemumonitortestutils in the first place), then
> libraries MUST be listed in the order in which later libraries satisfy
> symbols used by earlier libraries.
How do I check whether I am relying on lazy link?
>
> ACK, although I'd like to touch up your commit message (and in
> particular mention the platform where this matters) before pushing.
>
>
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
11 years, 3 months
[libvirt] [PATCH v2 0/3] ensure diskchain is not broken on guest bootup
by Guannan Ren
v1->v2: Add a helper function qemuDiskChainCheckBroken to check diskchain
after invoking qemuDomainDetermineDiskChain()
This patchset try to check whether the diskchain is broken or not when domain
boot up. If dischain is broken, report like:
virsh start rhel6qcow2
error: Failed to start domain rhel6qcow2
error: invalid argument: Backing file '/var/lib/libvirt/images/thirddisk' of \
image '/var/lib/libvirt/images/thirddisk.snap3' is missing.
For storage pool, it still can list volumes out even if their diskchain is broken
Guannan Ren(3)
qemu: refactor qemuDomainCheckDiskPresence for only disk presence check
qemu: add helper functions for diskchain checking
qemu: check presence of each disk and its backing file as well
src/libvirt_private.syms | 1 +
src/qemu/qemu_domain.c | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
src/qemu/qemu_domain.h | 3 ++
src/qemu/qemu_process.c | 6 ----
src/util/virstoragefile.c | 47 +++++++++++++++++++++++++++++++
src/util/virstoragefile.h | 2 ++
6 files changed, 141 insertions(+), 51 deletions(-)
11 years, 3 months