Chris Lalancette [Fri, 28 Nov 2008 07:50:20 +0000 (07:50 +0000)]
Instead of relying solely on polling for /dev devices to appear in libvirt, we
really should be synchronizing against udev. This is generally done by a call
to udevsettle, which is exactly what this patch implements for the storage
backends that are likely to create new /dev nodes. I believe I've read that
even after udevsettle, you are not guaranteed that devices are all the way
created, so we still need the polling in the rest of the sources, but this
should give us a much better chance of things existing as we expect.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
Chris Lalancette [Fri, 28 Nov 2008 07:42:21 +0000 (07:42 +0000)]
Currently libvirt can race with udev
creation of /dev/disk/by-{id,path}, so if we fail to open the directory, retry
up to 5 seconds. This is only likely to happen on hosts that are:
1) diskless (so /dev/disk/by-{id,path} doesn't exist already), and
2) slow, and/or heavily loaded (meaning that udev can take some time to create
the /dev nodes).
Signed-off-by: Chris Lalancette <clalance@redhat.com>
Daniel Veillard [Tue, 25 Nov 2008 15:48:11 +0000 (15:48 +0000)]
Release of 0.5.0
* configure.in docs/* NEWS: release of 0.5.0
* po/*: updated from the translators and merged
* docs/apibuild.py src/libvirt.c: avoid some warnings at doc
generation time
daniel
Jim Meyering [Mon, 24 Nov 2008 07:13:29 +0000 (07:13 +0000)]
tests: new test: virsh-synopsis
* tests/virsh-synopsis: new file
* tests/Makefile.am (test_scripts): Add virsh-synopsis.
* src/virsh.c: Correct help SYNOPSIS for each of seven commands.
When I first ran this script, "make check" failed like this:
...
invalid help SYNOPSIS for net-create:
create a network from an XML <file>
invalid help SYNOPSIS for net-define:
define a network from an XML <file>
invalid help SYNOPSIS for net-start:
start <network>
invalid help SYNOPSIS for pool-create:
create a pool from an XML <file>
invalid help SYNOPSIS for pool-define:
define a pool from an XML <file>
invalid help SYNOPSIS for pool-start:
start <pool>
invalid help SYNOPSIS for vol-create:
create <file>
FAIL: virsh-synopsis
Jim Meyering [Mon, 24 Nov 2008 07:11:26 +0000 (07:11 +0000)]
Move the expected output data from virshdata/*.txt into virshtest.c.
* tests/virshtest.c: Embed literal, expected output here, rather than
using virshdata/*.txt file names.
Factor out some common constructs.
(testCompareOutputLit): New function.
(testCompareOutput): #ifdef-out, not that it's unused.
* tests/Makefile.am (SUBDIRS): Remove virshdata/ and all files in it.
* docs/testnode.xml: Fix typo in a comment.
* configure.in (AC_OUTPUT): Remove tests/virshdata/Makefile.
Daniel Veillard [Fri, 14 Nov 2008 08:42:47 +0000 (08:42 +0000)]
KVM/QEmu migration support
* qemud/remote.c qemud/remote_dispatch_localvars.h
qemud/remote_dispatch_proc_switch.h qemud/remote_dispatch_prototypes.h
qemud/remote_protocol.c qemud/remote_protocol.h
qemud/remote_protocol.x src/driver.h src/libvirt.c
src/libvirt_internal.h src/libvirt_sym.version src/lxc_driver.c
src/openvz_driver.c src/qemu_conf.h src/qemu_driver.c
src/remote_internal.c src/test.c src/virsh.c: large patch to
add migration support for KVM/QEmu, based on the work of Rich Jones
and Chris Lalancette. This introduce a new version of the prepare
and finish steps of the migration, so changes the driver API and
a lot of code.
Daniel
Jim Meyering [Fri, 7 Nov 2008 16:44:38 +0000 (16:44 +0000)]
tweak lstat.c to avoid mingw link failure
* gnulib/lib/lstat.c: Include <sys/stat.h> *before* the use of stat in
orig_stat. Otherwise, on mingw (which lacks lstat), any program using
the lstat module would not get the redefinition-to-stat provided by
gnulib's sys/stat.h. Reported by Daniel P. Berrange.
Call vgscan before attempting to scan logical volumes. This makes sure we've
"touched" any logical volumes, so they appear in the subsequent "pvs" call.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
Give iSCSI and disk storage backend drivers the
ability to resolve any kind of volume path to the pool target volume
path. For instance, if the pool was defined with a
<target><path>/dev/disk/by-id</path></target> section, and one of the
volumes is /dev/disk/by-id/scsi-S_beaf11, then you would be able to
call virStorageVolLookupByPath("/dev/sdc"), and get the correct volume
back.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
Daniel Veillard [Fri, 31 Oct 2008 10:13:45 +0000 (10:13 +0000)]
* python/Makefile.am python/generator.py python/libvir.c
python/libvir.py python/libvirt_wrap.h python/types.c:
adds support for events from the python bindings, also
improves the generator allowing to embbed per function
definition files, patch by Ben Guthro
* examples/domain-events/events-python/event-test.py: also
adds a programming example
Daniel
Jim Meyering [Tue, 28 Oct 2008 19:09:04 +0000 (19:09 +0000)]
remove src/socketcompat.h; no longer needed
* src/socketcompat.h: Remove file.
* src/remote_internal.c: Don't include socketcompat.h.
* qemud/qemud.h: Likewise.
* qemud/remote_protocol.x: Likewise, but do include <arpa/inet.h>
for htonl.
* src/remote_internal.c: Likewise, but do include <errno.h>.
* qemud/remote_protocol.c: Regenererate.
* qemud/remote_protocol.h: Regenererate.
* src/Makefile.am (REMOTE_DRIVER_SOURCES): Remove socketcompat.h.
Jim Meyering [Tue, 28 Oct 2008 17:48:06 +0000 (17:48 +0000)]
avoid compiler warning when all storage backends are disabled
* src/storage_backend.c (backends): Add a NULL terminator.
(virStorageBackendForType): Use NULL terminator rather than
warning-provoking (possibly 0) array size.