summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* tests/protocol: Skip these tests if default attach-method is not 'appliance'.Richard W.M. Jones2012-07-233-0/+15
|
* tests: Fix get-attach-method test.Richard W.M. Jones2012-07-231-2/+2
| | | | | | | | If ./configure --with-default-attach-method is set to something other than 'appliance', then this will legitimately return a different string. Simply test that it runs, rather than testing the output. This fixes commit 20a5b4de7ddc4221544784df65eb472481698dcb.
* tests: Remove get-pid test.Richard W.M. Jones2012-07-231-4/+1
| | | | | If the libvirt attach-method is used, then there is no known PID (libvirt hides it).
* launch: libvirt: Use <driver name="qemu" type=[format] />.Richard W.M. Jones2012-07-232-3/+100
| | | | | | | | We were using format= which was bogus and libvirt was ignoring it and forcing raw format instead. Also in its default configuration libvirt won't do disk format autodetection at all, so we must do it instead.
* launch: libvirt: You can't set O_CLOEXEC flag using fcntl + F_SETFL.Richard W.M. Jones2012-07-231-1/+1
| | | | | | | And in any case there is no point, since proto.c already sets the SOCK_CLOEXEC flag (using accept4) on this socket. The code now matches the code in launch-appliance.c.
* launch: libvirt: Use accept4 to set socket flags correctly.Richard W.M. Jones2012-07-231-5/+1
|
* launch: libvirt: Add <on_reboot>destroy</on_reboot> to libvirt XML.Richard W.M. Jones2012-07-231-0/+17
| | | | | This causes libvirt to add the qemu -no-reboot option, which reflects existing behaviour.
* launch: Allow default attach-method to be set in environment or configure.Richard W.M. Jones2012-07-235-9/+85
| | | | | | | | | | You can now choose the default attach method in two ways: (1) Set the LIBGUESTFS_ATTACH_METHOD environment variable. (2) ./configure --with-default-attach-method=appliance|libvirt|... Note that (1) overrides (2).
* java: Set '-encoding utf8' for javac and javadoc commands.Richard W.M. Jones2012-07-232-2/+3
|
* java: JAVAC_FLAGS -> EXTRA_JAVAC_FLAGS.Richard W.M. Jones2012-07-233-5/+9
| | | | This is just a rename.
* launch: libvirt: Move remaining to-do items to TODO file.Richard W.M. Jones2012-07-232-18/+15
|
* launch: libvirt: Add a hack to detect if KVM is available.Richard W.M. Jones2012-07-231-1/+5
| | | | | | | | We need to select the <domain type=...> attribute depending on whether KVM is detected in the libvirt capabilities. This is a hack because it doesn't try to parse the libvirt capabilities XML.
* launch: libvirt: Use <cpu model="host-model"/> (thanks Dan Berrange).Richard W.M. Jones2012-07-231-0/+6
| | | | | This ensures maximum performance of the appliance, particularly for things like MD where the guest needs to use optimal SSE instructions.
* launch: libvirt: Change disk XML according to whether host path is device or ↵Richard W.M. Jones2012-07-231-10/+39
| | | | file (thanks Dan Berrange).
* launch: libvirt: Use "guestfs-" prefix on random names (thanks Dan Berrange).Richard W.M. Jones2012-07-231-1/+1
|
* launch: libvirt: Enforce minimum version of libvirt 0.9.13.Richard W.M. Jones2012-07-231-0/+13
|
* launch: libvirt: Use snapshot=on instead of <readonly/>.Richard W.M. Jones2012-07-231-9/+33
| | | | | | | For compatibility with the appliance backend, devices added readonly are in fact added writable with snapshots on top. This is necessary because options like 'mount -o ro' usually require write access to the disk (eg. to replay journals).
* Version 1.19.23.1.19.23Richard W.M. Jones2012-07-2220-27083/+27594
|
* launch: Add libvirt backend.Richard W.M. Jones2012-07-226-2/+1066
| | | | | | | | | | | | Complete the attach-method libvirt backend. This backend uses libvirt to create a transient KVM domain to run the appliance. Note that this still will only work with local libvirt URIs since the <kernel>, <initrd> and appliance links in the libvirt XML refer to local files, and virtio serial only works locally (limitation of libvirt). Remote support will be added later.
* Add attach-method "libvirt" or "libvirt:<URI>".Richard W.M. Jones2012-07-215-1/+35
| | | | | With this commit, you can set the attach method to libvirt, but calling launch will give an error.
* launch: Make 'drive_name' into a common function.Richard W.M. Jones2012-07-212-5/+5
| | | | This is just code motion.
* appliance: Push appliance building lock into guestfs___build_appliance.Richard W.M. Jones2012-07-212-17/+27
| | | | | | | | | Since we will be calling guestfs___build_appliance from the libvirt code in future, there's no point having two places where we have to acquire the lock. Push the lock down into this function instead. Because "glthread/lock.h" includes <errno.h> we have to add this header to the file too.
* fuse:remove the unused macro when fuse is not availableWanlong Gao2012-07-211-1/+1
| | | | | | Just make gcc happy when fuse is not available. Signed-off-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
* launch: Abstract attach method operations.Richard W.M. Jones2012-07-206-111/+171
| | | | | | g->attach_ops points to a structure which contains the operations supported by each attach method backend (ie. appliance, unix, etc.).
* launch: Move the command line building code entirely into launch-appliance.c.Richard W.M. Jones2012-07-203-47/+19
| | | | | Although we still use the handle as convenient temporary storage.
* launch: Move guestfs_config API and build list of qemu parameters in handle.Richard W.M. Jones2012-07-206-34/+69
| | | | | | Move and rewrite guestfs_config so it accumulates a list of qemu parameters in the handle. These are added to the appliance at launch time (with attach method == unix:... you'll now get an error).
* launch: Move launch timing / messages code into launch.c.Richard W.M. Jones2012-07-204-77/+78
|
* lib: Use bool (from <stdbool.h>) for a few fields in the handle.Richard W.M. Jones2012-07-201-10/+12
|
* lib: Rearrange fields in guestfs handle.Richard W.M. Jones2012-07-201-39/+38
| | | | Arrange the fields more logically. This is just code motion.
* add-cdrom: Rewrite description emphasising that this API should not be used.Richard W.M. Jones2012-07-201-20/+2
|
* ocaml: Skip mount-local test if /dev/fuse is not writable.Richard W.M. Jones2012-07-201-0/+8
|
* launch: Remove some dead code from the appliance method.Richard W.M. Jones2012-07-191-42/+0
|
* lib: Split launch.c into separate files.Richard W.M. Jones2012-07-196-1245/+1274
| | | | | | | | | | | | | | | | | | | | | | launch-appliance.c contains the code associated with the 'appliance' attach-method. Mostly. In fact there are a few APIs which don't fit so nicely: - config: deprecated API which fiddles with the qemu command line directly - max-disks: depends on the qemu implementation (virtio-scsi or not) - debug-drives: used for testing only launch-unix.c contains the code associated with 'unix:<path>'. launch.c is the common code for launching, along with a few other APIs such as guestfs_add_drive_opts. This commit also reduces the number of headers to just those which are required.
* Remove debug-cmdline API.Richard W.M. Jones2012-07-192-29/+0
| | | | | Note that debug* calls are not part of the stable API and can be removed or changed at any time.
* lib: Use safe_asprintf when constructing attach_method.Richard W.M. Jones2012-07-192-6/+2
| | | | Just a small code cleanup / simplification.
* build: Rename most C files that contain underscore with dash.Richard W.M. Jones2012-07-1934-2759/+2814
| | | | | | | This is just code motion. Some files cannot be renamed. Notably rpcgen input and output files must not contain dash characters, else rpcgen breaks.
* fish: Rename fish/virt.c to fish/domain.cRichard W.M. Jones2012-07-1911-19/+19
| | | | | This file handles the -d option for guestfish and other C command line utilities. Renaming this file makes it less confusing.
* build: Rename src/virt.c to src/libvirtdomain.cRichard W.M. Jones2012-07-193-2/+2
| | | | | This file contains the code implementing guestfs_add_domain (for adding a libvirt domain) so this name is less confusing.
* build: Arrange libguestfs_la_SOURCES in order.Richard W.M. Jones2012-07-191-1/+1
|
* Remove references to long-obsolete Ocaml_inspector module from .gitignore.Richard W.M. Jones2012-07-191-2/+0
|
* podwrapper: Fix setting of GIT_DIR in git subcommand.Richard W.M. Jones2012-07-191-1/+2
| | | | This fixes commit 1e17a32060feb937b3972f61b37f9116ad7d8d9a.
* license: Use latest license files from gnu.org.Richard W.M. Jones2012-07-192-105/+125
| | | | | | | COPYING from https://www.gnu.org/licenses/gpl-2.0.txt COPYING.LIB from https://www.gnu.org/licenses/lgpl-2.1.txt (Note this change shouldn't alter the licensing of libguestfs)
* Version 1.19.22.1.19.22Richard W.M. Jones2012-07-194-6/+6
| | | | | Includes rebuilt gnulib to work around test problems with test-getlogin_r.
* gnulib: Don't include or run getlogin_r test (thanks Jim Meyering).Richard W.M. Jones2012-07-191-1/+5
| | | | | See: https://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00194.html
* build: Return 77 from skipped tests.Richard W.M. Jones2012-07-1923-41/+45
|
* Version 1.19.21.1.19.21Richard W.M. Jones2012-07-1820-10855/+11360
|
* tests: Rewrite parallel mount-local test in C.Richard W.M. Jones2012-07-186-0/+534
|
* ocaml: Test mount-local, without parallel test.Richard W.M. Jones2012-07-185-115/+22
| | | | | | | | | Unfortunately the parallel test keeps hitting this bug: https://bugzilla.redhat.com/show_bug.cgi?id=838081 which could be a bug in the OCaml runtime. Just test simple mount-local. We will write a parallel test in C to replace this.
* tar-in: Add --no-same-owner flag to tar command when target filesystem ↵Richard W.M. Jones2012-07-181-3/+54
| | | | | | | | | | | | | | | | doesn't support chown (RHBZ#840572). When using tar-in or tools built around it such as virt-make-fs, if the target filesystem is vfat then unpacking the tarball would fail because tar tries to chown(2) files and fails. You would see errors such as: tar: <file>: Cannot change ownership to uid 500, gid 500: Operation not permitted This change detects whether the target filesystem supports chown(2). If not, it adds the --no-same-owner flag to tar to stop it from trying to change the ownership of newly created files.
* daemon: Make 'random_name' into a utility function.Richard W.M. Jones2012-07-183-30/+51
| | | | | This is mostly code motion, although the precise contract of this function changes slightly to make it more generally useful