Commit Graph

351 Commits

Author SHA1 Message Date
Pritesh Kothari
41e097e91a Add support for VBox 3 and event callbacks on vbox
* src/vbox/vbox_driver.c: remove some old 2.5 switches and plug the
  3.0 driver
* src/vbox/vbox_V3_0.c src/vbox/vbox_CAPI_v3_0.h: the driver for
  VirtualBox 3.0
* src/vbox/vbox_tmpl.c: handle the new driver and add event support
* src/Makefile.am: plug in the new module
2009-07-24 18:12:16 +02:00
Eduardo Otubo
a7a82f9889 First version of the Power Hypervisor driver
Features supported:
- Connects to HMC/VIOS or IVM systems.
- Life cycle commands (resume and shutdown).
- dumpxml
- 'list' and 'list --all'

What is being implemented:
- better and centralized control for UUID
- definexml
- CPU management commands

* src/domain_conf.c src/domain_conf.h: first version of the driver
* configure.in src/Makefile.am include/libvirt/virterror.h
  src/domain_conf.[ch] src/libvirt.c src/virterror.c: glue the driver
  in the general framework
2009-07-24 16:17:06 +02:00
Matthias Bolte
e2aeee6811 First version of the driver for VMWare ESX
* src/esx/esx_*.[ch]: the driver, uses a remote minimal SOAP client
  to talk to the VI services on ESX nodes.
* configure.in include/libvirt/virterror.h src/Makefile.am src/driver.h
  src/libvirt.c src/virterror.c: glue in the new driver
2009-07-23 22:25:34 +02:00
Daniel P. Berrange
f4c3acdf35 Make QEMU cgroups use configurable
* qemud/libvirtd_qemu.aug, qemud/test_libvirtd_qemu.aug,
   src/qemu.conf: Add 'cgroups_controllers' and 'cgroups_device_acl'
   parameters
 * src/qemu_conf.h, src/qemu_conf.c: Load & parse configuration params
   for cgroups
 * src/qemu_driver.c: Only use cgroups controllers that are activated,
   and use configured device whitelist instead of default, if set.
2009-07-23 17:38:06 +01:00
Laine Stump
da4f146f83 Netcf based interface driver implementation
* src/interface_driver.c src/interface_driver.h: the new driver
* src/Makefile.am qemud/Makefile.am qemud/qemud.c: hook the new driver
  in the build system and get ti activated by the daemon
* src/libvirt_private.syms: export needed symbols internally
2009-07-21 16:02:16 +02:00
Daniel P. Berrange
0714b2ba4c Run QEMU guests as an unprivileged user
* configure.in: Add --with-qemu-user and --with-qemu-group args
* libvirt.spec.in: use 'qemu' for user/group for Fedora >= 12
* qemud/libvirtd_qemu.arg, qemud/test_libvirtd_qemu.aug,
  src/qemu.conf: Add 'user' and 'group' args for configuration
* src/Makefile.am: Create %localstatedir/cache/libvirt/qemu
* src/qemu_conf.c, src/qemu_conf.h: Load user/group from config
* src/qemu_driver.c: Change user ID/group ID when launching QEMU
  guests. Change user/group ownership on disks/usb/pci devs.
  Put memory dumps in %localstatedir/cache/libvirt/qemu
* src/util.c, src/util.h: Add convenient APIs for converting
  username/groupname to user ID / group ID
2009-07-16 17:06:55 +01:00
Daniel Veillard
2f5fb5e09d add support for netcf XML import and export
* src/interface_conf.c src/interface_conf.h: the import and export
  routines and the internal APIs
* src/Makefile.am: hook the new file in the makefiles
* src/libvirt_private.syms: export a few private symbols internally
* po/POTFILES.in: the new file contains translatable strings
2009-07-15 20:16:26 +02:00
Daniel P. Berrange
96619805cb Use libcap-ng to clear capabilities for many child processes 2009-06-29 17:00:52 +00:00
Daniel Veillard
173c230e66 big cleanup of the debug configuration option
* src/Makefile.am src/libvirt.c src/libvirt_private.syms src/logging.c
  src/logging.h src/util.c src/libvirt_debug.syms: big cleanup of
  the debug configuration option and code by Amy Griffis
daniel
2009-06-26 15:08:04 +00:00
Daniel Veillard
b547201561 Finish the integration of OpenNebula driver
* configure.in libvirt.spec.in src/Makefile.am
  src/opennebula/one_client.[ch] src/opennebula/one_conf.h
  src/opennebula/one_driver.[ch] : Finish the integration of OpenNebula,
  avoid dependancy on OpenNebula libraries, require xmlrpc-c-devel
  and build it by default, based on patch by Javier Fontan and DanB
  suggestions
Daniel
2009-06-24 17:32:56 +00:00
Daniel P. Berrange
7c4ce7eb03 Fix build from tar.gz 2009-06-15 14:59:22 +00:00
Daniel Veillard
81d0ffbc3b NPIV implementation for node device create and destroy
* src/Makefile.am src/node_device.[ch] src/node_device_conf.[ch]
  src/node_device_hal.[ch] src/node_device_hal_linux.c
  src/qemu_driver.c src/remote_internal.c src/storage_backend.c
  src/virsh.c src/xen_unified.c tests/nodedevxml2xmltest.c
  po/POTFILES.in: implementation for node device create and destroy
  in NPIV support, patch by David Allan
Daniel
2009-06-02 15:12:53 +00:00
Daniel Veillard
b811851b8d Include the OpenNebula driver
* src/opennebula/one_conf.[ch] src/opennebula/one_driver.[ch]:
  the OpenNebula driver
* configure.in include/libvirt/virterror.h qemud/Makefile.am
  qemud/qemud.c src/Makefile.am src/domain_conf.[ch] src/driver.h
  src/libvirt.c src/virterror.c: integration of the OpenNebula
  driver in the libvirt infrastructure
* AUTHORS: add Abel Miguez Rodriguez
daniel
2009-05-25 11:56:00 +00:00
Daniel Veillard
73bc011483 Add the Interface config APIs
* configure.in include/libvirt/libvirt.h[.in]
  include/libvirt/virterror.h qemud/remote.c
  qemud/remote_dispatch_args.h qemud/remote_dispatch_prototypes.h
  qemud/remote_dispatch_ret.h qemud/remote_dispatch_table.h
  qemud/remote_protocol.[chx] src/Makefile.am src/datatypes.c
  src/datatypes.h src/driver.h src/libvirt.c src/remote_internal.c
  src/virterror.c src/libvirt_private.syms src/libvirt_public.syms:
  Add the Interface config APIs and remote stubs for those, patch
  by Laine Stump
* AUTHORS: add Laine
daniel
2009-05-20 14:26:49 +00:00
Daniel P. Berrange
6962a2dd7e Added an optional OCaml+CIL test program for mutex lock validation 2009-05-19 10:17:17 +00:00
Daniel P. Berrange
89626e8d69 Add another vbox file to EXTRA_DIST 2009-04-19 16:36:22 +00:00
Daniel P. Berrange
001390a684 Add 2 missing vbox files to EXTRA_DIST 2009-04-19 15:12:01 +00:00
Daniel Veillard
10d1650843 integration of the VirtualBox support
* configure.in include/libvirt/virterror.h src/Makefile.am
  src/domain_conf.[ch] src/driver.h src/virterror.c src/vbox/README
  src/vbox/vbox_CAPI_v2_2.h src/vbox/vbox_V2_2.c
  src/vbox/vbox_XPCOMCGlue.[ch] src/vbox/vbox_driver.[ch]
  src/vbox/vbox_tmpl.c: integration of the VirtualBox support
  patches by Pritesh Kothari
Daniel
2009-04-17 16:09:07 +00:00
Daniel P. Berrange
11b0ed46c5 Improve security label error reporting & verification (Dan Walsh) 2009-04-03 10:55:51 +00:00
Daniel P. Berrange
55ae53d971 SCSI HBA storage pool implementation (Dave Allan) 2009-04-01 16:03:22 +00:00
Daniel P. Berrange
41ed6eb327 SELinux security driver for sVirt support (James Morris, Dan Walsh & Daniel Berrange) 2009-03-03 10:06:49 +00:00
Daniel P. Berrange
8bd1604cb7 Core internal driver stub for sVirt support (Jams Morris & Dan Walsh) 2009-03-03 09:44:41 +00:00
Daniel Veillard
d217641314 implements dettach, reattach and reset for PCI devices
* configure.in po/POTFILES.in src/Makefile.am src/libvirt_private.syms
  src/pci.c src/pci.h: Add implementations of dettach, reattach and
  reset for PCI devices, patch by Mark McLoughlin
Daniel
2009-03-02 16:18:11 +00:00
Cole Robinson
3a53ab7913 Unbreak virsh *-edit commands: Don't pass unexpected flags to DumpXML 2009-02-16 22:51:31 +00:00
Daniel P. Berrange
23a090ab92 Allow virtual networks to survive daemon restart 2009-01-20 22:36:10 +00:00
Daniel P. Berrange
4dac0a1105 Generic internal threads API 2009-01-15 19:56:05 +00:00
Jim Meyering
2ad1ca3f6c fix "make dist" (from scratch) failure
* src/Makefile.am (EXTRA_DIST): Don't distribute libvirt_sym.version,
now that it's been removed.  Spotted by Daniel Veillard.
2009-01-06 15:22:57 +00:00
Jim Meyering
950c8b3916 dist: distribute all libvirt_*.syms files, ...
* src/Makefile.am (EXTRA_DIST): Distribute all libvirt_*.syms files,
not just those that happen to be selected at configure time.
2009-01-06 15:16:43 +00:00
Jim Meyering
b0119de82f migrate linux-specific symbol names into their own sym file
* configure.in (WITH_LINUX): New automake conditional.
* src/Makefile.am (PRIVSYMFILES) [WITH_LINUX]: Append libvirt_linux.syms.
* src/libvirt_private.syms: Move two symbol names into...
* src/libvirt_linux.syms: ...this new file.
Author: John Levon
2009-01-05 14:08:26 +00:00
Jim Meyering
83dfc25c02 Move bridge symbols into a separate syms file
* configure.in: Provide a new --with-bridge option.
* src/Makefile.am (PRIVSYMFILES) [WITH_BRIDGE]: Append libvirt_bridge.syms.
* src/bridge.c: Test WITH_BRIDGE rather than particular drivers.
* src/libvirt_private.syms: Move bridge-related symbols into...
* src/libvirt_bridge.syms: ...this new file.
Author: John Levon
2009-01-05 14:07:31 +00:00
Jim Meyering
ea5775bf8e Move --with-driver-modules symbols into a separate sym file
* src/Makefile.am (PRIVSYMFILES): Append libvirt_driver_modules.syms.
* src/libvirt_private.syms: Move virDriverLoadModule into...
* src/libvirt_driver_modules.syms: ... this new file.
Author: John Levon
2009-01-05 14:06:41 +00:00
Jim Meyering
ad17ffa034 split version script into multiple files
* src/Makefile.am (PRIVSYMFILES): Define.
(EXTRA_DIST): Append $(PRIVSYMFILES).
(libvirt.syms): New rule.
Reflect renaming: s/libvirt_sym.version/libvirt.syms/.
(BUILT_SOURCES): Depend on libvirt.syms.
* configure.in: Define ENABLE_DEBUG as an automake conditional.
(AC_OUTPUT): Remove src/libvirt_sym.version.
* src/.cvsignore: s/libvirt_sym.version/libvirt.syms/.
* src/.gitignore: Regenerate.
* src/libvirt_public.syms: Renamed from src/libvirt_sym.version.in.
* src/libvirt_debug.syms: New file.
* src/libvirt_private.syms: New file.
Author: John Levon
2009-01-05 14:05:29 +00:00
Jim Meyering
d010b68962 make NUMA-initialization code more portable and more robust
qemudCapsInitNUMA and umlCapsInitNUMA were identical, so this change
factors them into a new function, virCapsInitNUMA, and puts it in
nodeinfo.c.

In addition to factoring out the duplicates, this change also
adjusts that function definition (along with its macros) so
that it works with Fedora 9's numactl version 1, and makes it
so the code will work even if someone builds the kernel with
CONFIG_NR_CPUS > 4096.

Finally, also perform this NUMA initialization for the lxc
and openvz drivers.

* src/nodeinfo.c: Include <stdint.h>, <numa.h> and "memory.h".
(virCapsInitNUMA): Rename from qemudCapsInitNUMA and umlCapsInitNUMA.
(NUMA_MAX_N_CPUS): Define depending on NUMA API version.
(n_bits, MASK_CPU_ISSET): Define, adjust, use uint64 rather than long.
* src/nodeinfo.h: Include "capabilities.h".
(virCapsInitNUMA): Declare it.
* examples/domain-events/events-c/Makefile.am:
* src/Makefile.am: Add $(NUMACTL_CFLAGS) and $(NUMACTL_LIBS) to various
compile/link-related variables.
* src/qemu_conf.c: Include "nodeinfo.h".
(qemudCapsInitNUMA): Remove duplicate code.  Adjust caller.
* src/uml_conf.c (umlCapsInitNUMA): Likewise.
Include "nodeinfo.h".
* src/lxc_conf.c: Include "nodeinfo.h".
(lxcCapsInit): Perform NUMA initialization here, too.
* src/openvz_conf.c (openvzCapsInit): And here.
Include "nodeinfo.h".
* src/libvirt_sym.version.in: Add virCapsInitNUMA so that libvirtd
can link to this function.
2008-12-21 18:55:09 +00:00
Daniel P. Berrange
c2fb8bfee3 Convert linker script comments & linker args to be Solaris compat (John Levon) 2008-12-17 21:39:41 +00:00
Jim Meyering
289d52c49e remove redundant optname arguments
This is the second part of the change mentioned here:

  http://thread.gmane.org/gmane.comp.emulators.libvirt/10331

It removes the essentially redundant "optname" parameter
from each of the vshCommandOptNetworkBy and vshCommandOptDomainBy
functions as well as the correspond macros (without "By" suffix).
Now, instead of always passing the optname, "domain", to
vshCommandOptDomainBy, that function requires that its command
argument refer to an opts array containing a "domain" option.

This normalization makes one more help-related change:
it renames the net-start "name" argument to the more
sensible and consistent "network".
* src/virsh.c (VSH_BYNAME, vshCommandOptDomain)
(cmd_has_option): New function, used in vshCommandOptDomainBy
and vshCommandOptNetworkBy.
(vshCommandOptDomainBy, vshCommandOptNetworkBy): Remove the optname
parameter, it's always "domain" ("network").  Update all callers.
Call cmd_has_option.
(vshCommandOptNetwork, cmdAutostart, cmdConsole, cmdDomstate)
(cmdDomblkstat, cmdDomIfstat, cmdSuspend, cmdUndefine, cmdStart)
(cmdSave, cmdSchedinfo, cmdDump, cmdResume, cmdShutdown)
(cmdReboot, cmdDestroy, cmdDominfo, cmdVcpuinfo, cmdVcpupin)
(cmdSetvcpus, cmdSetmem, cmdSetmaxmem, cmdDumpXML, cmdDomname)
(cmdDomid, cmdDomuuid, cmdMigrate, cmdNetworkAutostart)
(cmdNetworkDestroy, cmdNetworkDumpXML, cmdNetworkName)
(opts_network_start, cmdNetworkStart, cmdNetworkUndefine)
(cmdNetworkUuid, cmdVNCDisplay, cmdTTYConsole, cmdAttachDevice)
(cmdDetachDevice, cmdAttachInterface, cmdDetachInterface)
(cmdAttachDisk, cmdDetachDisk, cmdEdit)
* src/Makefile.am (virsh-pool-edit.c): This code is generated
from cmdEdit, and cmdEdit uses the vshCommandOptDomain macro which
now, with the changes above, has only 3 (was 4) arguments, yet the
macro use is mapped to vshCommandOptPool, which still requires 4
arguments.  So this change adjusts the sed code to reinsert the
just-removed argument -- we're not changing pool-related code right
now, because it's not as straight-forward.
2008-12-15 10:26:54 +00:00
Daniel P. Berrange
8f7e086f19 Implement autostart for XM driver 2008-11-25 11:04:34 +00:00
Daniel P. Berrange
1eeceaa649 Support domain lifecycle events for Xen (Ben Guthro & Daniel Berrange) 2008-11-25 10:44:52 +00:00
Guido Günther
4b4a6d9d56 * src/Makefile.am: look for libvirt_sym.version in builddir 2008-11-24 15:07:45 +00:00
Daniel P. Berrange
620d4be7ae Node device driver for HAL and DeviceKit (David Lively) 2008-11-21 12:27:11 +00:00
Daniel P. Berrange
149322c530 Internal APIs for handling node device XML configuration (David Lively) 2008-11-21 12:20:45 +00:00
Daniel P. Berrange
2c855c1c66 Optional dlopen support for drivers 2008-11-21 12:16:08 +00:00
Daniel P. Berrange
f6dacb21d2 Add Xen compiler flags for stats_linux.c build 2008-11-21 10:12:03 +00:00
Daniel P. Berrange
714bef5b6a Add an initial User Mode Linux Driver 2008-11-19 16:58:23 +00:00
Daniel P. Berrange
8a1553e43a Fix windows build & build without QEMU driver 2008-11-18 12:46:13 +00:00
Daniel P. Berrange
89156f1985 Link QEMU, LXC, network and storage drivers directly into libvirtd 2008-11-17 12:18:18 +00:00
Daniel P. Berrange
c08a47b853 Refactor storage backends to avoid dependancy from config parser to implementation 2008-11-17 11:19:33 +00:00
Daniel P. Berrange
25047e7cf8 Use a versioned linker script 2008-11-17 11:03:25 +00:00
Daniel P. Berrange
41ebac421e Build drivers as libtool convenience libs 2008-11-17 10:43:30 +00:00
Daniel Veillard
df93e1ee24 add new logging module, and move existing definitions there
* src/logging.c src/logging.h proxy/Makefile.am proxy/libvirt_proxy.c
  src/Makefile.am src/cgroup.c src/datatypes.c src/domain_event.c
  src/internal.h src/libvirt.c src/lxc_container.c src/lxc_controller.c
  src/lxc_driver.c src/proxy_internal.c src/qemu_driver.c
  src/remote_internal.c src/storage_backend_disk.c src/util.c
  src/veth.c src/xen_internal.c src/xen_unified.c src/xend_internal.c:
  add new logging module, and move existing definitions there
Daniel
2008-11-06 16:36:07 +00:00
Daniel P. Berrange
c9ff52fb8a Move WITH_XXX driver feature flags into config.h instead of direct compiler/linker args 2008-11-04 23:37:23 +00:00
Daniel P. Berrange
2ea1eceb75 Move domain events helpers into dedicated file 2008-11-04 23:33:57 +00:00
Daniel P. Berrange
6ace5a39c3 Move some API declarations out of internal.h & hash.c into dedicated files 2008-11-04 23:22:06 +00:00
Daniel P. Berrange
d714b2afae Move internal error APIs into virterror_internal.h & drop leading __ prefix 2008-11-04 22:30:33 +00:00
Jim Meyering
f79ebbd121 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.
2008-10-28 19:09:04 +00:00
Daniel P. Berrange
6d35116e33 Fix mingw build due to missing icons in tar.gz 2008-10-24 11:31:15 +00:00
Richard W.M. Jones
d0a8e88b95 * configure.in, src/Makefile.am, src/virsh_win_icon.rc:
Add a Windows icon resource.
2008-10-15 18:39:34 +00:00
Daniel P. Berrange
1564711a27 Split network driver out into separate files 2008-10-10 13:57:13 +00:00
Dan Smith
4461568ab4 Add cgroup manipulation and LXC driver 2008-10-03 16:46:01 +00:00
Daniel P. Berrange
542039fab0 Fully support mingw builds 2008-09-05 12:03:45 +00:00
Daniel P. Berrange
d81b038cc2 Remove use of virState apis from openvz driver 2008-08-27 11:19:45 +00:00
Daniel P. Berrange
177c74b1fa Create lxc_controller standalone binary 2008-08-20 20:55:32 +00:00
Daniel P. Berrange
bb16f4a25d Do conditional driver config in Makefile.am, not source files 2008-08-20 20:48:35 +00:00
Daniel P. Berrange
518c2144e5 Re-arrange code between LXC driver files 2008-08-13 10:25:34 +00:00
Jim Meyering
6d72e14178 make distclean: remove generated source files
* src/Makefile.am (DISTCLEANFILES): Define to $(BUILT_SOURCES)
so "make distcheck" passes.
2008-08-05 08:43:03 +00:00
Richard W.M. Jones
969fa847c1 'virsh edit' and related commands
* src/virsh.c: Implement 'virsh edit', 'virsh net-edit' and
	  'virsh pool-edit' commands.  These edit the XML for domains,
	  networks and storage pools respectively, and are the
	  equivalent of doing 'virsh dumpxml; vi foo.xml; virsh define'
	* src/Makefile.am, src/.cvsignore: Auto-generate the net-edit
	  and pool-edit commands.
	* docs/virsh.pod: Updated the documentation.
2008-08-01 14:30:41 +00:00
Daniel P. Berrange
d1304583d6 Added generic domain XML APIs 2008-07-11 16:23:36 +00:00
Daniel P. Berrange
747fad6654 Generic APIs for network XML configuration 2008-07-11 10:48:34 +00:00
Dan Smith
e59eb52fad [LXC] Add functions to manage veth device pairs
This gives us the ability to create a veth pair so that we can move one
into the network namespace of an LXC container.
2008-06-26 16:07:48 +00:00
Daniel P. Berrange
357bf10553 Fix RPM build 2008-06-11 11:26:36 +00:00
Richard W.M. Jones
6bcf25017b virDomainMemoryPeek API
* include/libvirt/libvirt.h.in, src/libvirt.c, src/driver.h,
          src/libvirt_sym.version: New virDomainMemoryPeek API.
        * qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
          Support for remote.
        * src/qemu_driver.c: QEMU driver implementation of API.
        * src/test.c: Test driver (null) implementation of API.
        * docs/hvsupport.html.in: Document API.
        * libvirt.spec.in: New path /var/cache/libvirt for temporary
          storage of memory images.
        * qemud/libvirtd.init.in: Remove any old temp files in
          /var/cache/libvirt on restarts.
        * src/Makefile.am: make install creates /var/cache/libvirt.
        * configure.in: Detect mkdir -p.
2008-06-10 10:43:28 +00:00
Daniel P. Berrange
aa2bb9c88c Switch to using lcov for code coverage repots 2008-05-29 19:27:04 +00:00
Daniel P. Berrange
508c4226e1 Implement NUMA info/apis in QEMU driver 2008-05-22 15:29:50 +00:00
Daniel P. Berrange
624ab0be4c Tell gcov to look in .libs to find coverage data 2008-04-29 15:38:13 +00:00
Daniel P. Berrange
4ffb0358de Added safer lowlevel memory allocation APis. Converted hash.c and capabilities.c to use them 2008-04-28 21:44:54 +00:00
Richard W.M. Jones
8df91acf70 Fixes for MinGW.
* configure.in: Fix pkg-config detection of libxml2,
	  add -lgcrypt to gnutls lib.
	* src/Makefile.am: If compiling --without-libvirtd then
	  don't compile any part of the storage driver.
	* configure.in, src/hash.c, src/internal.h: Detect availability
	  of pthread library and compile out mutex code if not available.
	* src/storage_driver.c, src/util.c: Ignore some missing
	  headers on MinGW.
2008-04-18 08:33:23 +00:00
Daniel Veillard
9ae41a71ac * src/Makefile.am src/lxc_conf.c src/lxc_conf.h src/lxc_container.c
src/lxc_container.h src/lxc_driver.c: Applied second set of
  linux container patches from Dave Leskovec adding start/stop
  of domains
Daniel
2008-04-10 07:30:52 +00:00
Daniel Veillard
f163895204 Initial Linux containers work
* configure.in include/libvirt/virterror.h src/Makefile.am
  src/driver.h src/lxc_conf.[ch] src/lxc_driver.[ch] src/virterror.c:
  Applied 3 patches from Dave Leskovec for intial support of
  Linux containers, configured off by default, work in progress.
* src/libvirt.c: improve virDomainCreateLinux xmlDesc description
Daniel
2008-03-21 15:03:37 +00:00
Jim Meyering
ba52fcbcdf Rewrite test-coverage rules to accommodate multiple .o files per .c.
* src/Makefile.am (cov): Rewrite rule to merge gcov results corresponding
to two .o files: the libvirt_la- one, and the libvirt_test_la- one.
(tst): Remove unused rule.
* configure.in (LV_LIBTOOL_OBJDIR): Define and AC_SUBST.
2008-02-28 17:07:37 +00:00
Jim Meyering
9262d88e28 Avoid link errors with "configure --disable-shared".
* src/Makefile.am: Create a convenience library, libvirt_test.la,
and don't restrict access to *its* symbols.
* tests/Makefile.am (LDADDS): Add ../src/libvirt_test.la, so that
"configure --disable-shared" no longer provokes link errors.
(LIBVIRT): Remove definition.
(LDADDS): Remove use.
($(LIBVIRT)): Remove rule.
(LDADDS): Use the new convenience library instead.
(CLEANFILES): Define.
* docs/examples/index.py (dump_Makefile): Append $(COVERAGE_LDFLAGS),
to the LDADDS definition, to avoid link error with the combination of
--enable-test-coverage and --disable-shared.
* docs/examples/Makefile.am: Regenerate.
* docs/examples/index.html: Likewise.
* qemud/Makefile.am (libvirtd_LDFLAGS): Append $(COVERAGE_LDFLAGS).
* src/libvirt_sym.version: Remove some SP-before-TAB.
2008-02-28 17:06:32 +00:00
Jim Meyering
fa4ab3325b Avoid "make distcheck" failure.
* src/Makefile.am (virsh_SOURCES): Add util-lib.h.
2008-02-27 15:17:45 +00:00
Daniel P. Berrange
63bc5dd3e1 Add formal internal capabilities API and update drivers to use it 2008-02-27 04:35:08 +00:00
Daniel Veillard
9b1cd481b8 fix compilation against static libraries
* src/Makefile.am src/util-lib.h: fix done with Jim to allow
  compilation of virsh with the static libraries.
Daniel
2008-02-25 13:55:56 +00:00
Jim Meyering
a178a4e7bf Move safewrite and saferead to a separate file.
We currently use safewrite from inside libvirt and don't want to publish
any such function name.  However, we do want to use it in applications
like virsh, libvirtd and libvirt_proxy that link with libvirt.  To that
end, this change moves that function definition (along with the nearly
identical saferead) into a new file, util-lib.c.  To avoid maintaining
separate copies of even such small functions, we simply include that new
file from util.c.  Then, the separate applications that need to use
safewrite simply compile and link with util-lib.c.

Of course, this does mean that each of those applications will
containing two copies of these functions.  However, the functions
are so small that it's not worth worrying about that.

* src/util.c (saferead, safewrite): Move function definitions to
util-lib.c and include that .c file.
* src/util-lib.c (saferead, safewrite): New file.  Functions from src/util.c
with slight change (s/int r =/ssize_t r =/) to reflect read/write return type.
* src/util-lib.h: Declare the two moved functions.
* src/util.h: Remove declarations.  Include src/util-lib.h.
* proxy/Makefile.am (libvirt_proxy_SOURCES): Add src/util-lib.c.
* qemud/Makefile.am (libvirtd_SOURCES): Likewise.
* src/Makefile.am (virsh_SOURCES): Add util-lib.c.  Remove some SP-before-TAB.
2008-02-22 15:53:13 +00:00
Daniel P. Berrange
b7db975135 Added disk partition storage pool backend 2008-02-20 15:52:17 +00:00
Daniel P. Berrange
8ec1fcd925 Added iSCSI storage pool backend 2008-02-20 15:49:25 +00:00
Daniel P. Berrange
ac736602fd Added logical volume storage pool driver 2008-02-20 15:45:33 +00:00
Daniel P. Berrange
e39438e869 Added directory/filesystem/netfs based storage pool backend 2008-02-20 15:42:30 +00:00
Daniel P. Berrange
4a4e272f9d Added storage backend helper APIs 2008-02-20 15:38:29 +00:00
Daniel P. Berrange
20878720c0 Added main internal storage driver impl 2008-02-20 15:34:52 +00:00
Richard W.M. Jones
029aef1d24 Miscellaneous fixes for building on Windows (MinGW).
* configure.in: xdr functions may require -lxdr.
	* configure.in, src/Makefile.am: Extra linking flags for
	  building libvirt DLL.
	* src/socketcompat.h: Hide Windows Winsock incompatibilities
	  in a separate header file.
	* src/remote_internal.c: Switch to using socketcompat.h /
	  socket_errno().
	* src/test.c: Switch to using socketcompat.h.
	* gnulib/lib/arpa/.cvsignore: Ignore another generated file.
	* src/qparams.c: Include <config.h>.
2008-01-05 16:06:36 +00:00
Richard W.M. Jones
3b0149354b Add separate qparams module for handling query parameters.
* src/qparams.c, src/qparams.h, src/Makefile.am: Added a
	  separate 'qparams' module for handling query parameters.
	* src/remote_internal.c: Factor out query parameter code so
	  it uses the 'qparams' module.
2007-12-17 10:07:56 +00:00
Daniel Veillard
7633453cfa * configure.in src/Makefile.am src/virsh.c: fix compilation problems
when readline headers were found but not the library
Daniel
2007-12-06 10:24:52 +00:00
Jim Meyering
261e7581b1 Use gnulib, starting with its physmem and getaddrinfo modules.
New files go into these directories:
  gnulib/lib
  gnulib/m4
  gnulib/tests

* bootstrap: A wrapper around gnulib-tool.
* configure.in: Invoke gl_EARLY and gl_INIT, being careful to put gl_EARLY
before any macro that uses AC_COMPILE_IFELSE.
(AC_OUTPUT): Add lib/Makefile and gl-tests/Makefile.  Remove m4/Makefile.
* Makefile.am (SUBDIRS): Add gnulib/lib and remove m4.  Add gnulib/tests
early enough that those tests run before any libvirt unit tests.
* m4/Makefile.am: Remove file.  Not needed.
* src/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS, libvirt_la_LIBADD): Add ../gnulib/lib/libgnu.la.
* src/nodeinfo.c: Include "physmem.h".
* qemud/qemud.c, src/remote_internal.c: Include "getaddrinfo.h".
(MEMINFO_PATH, linuxNodeInfoMemPopulate): Remove definitions.
(virNodeInfoPopulate): Use physmem_total, not linuxNodeInfoMemPopulate.
* tests/Makefile.am (INCLUDES): Add -I$(top_srcdir)/gnulib/lib -I../gnulib/lib.
(LDADDS): Add ../gnulib/lib/libgnu.la.
* qemud/Makefile.am (libvirtd_LDADD): Add ../gnulib/lib/libgnu.la.
* tests/nodeinfotest.c (linuxTestCompareFiles): No longer read total
memory from a file.
Update expected output not to include "Memory: NNNN"
* tests/nodeinfodata/linux-nodeinfo-1.txt:
* tests/nodeinfodata/linux-nodeinfo-2.txt:
* tests/nodeinfodata/linux-nodeinfo-3.txt:
* tests/nodeinfodata/linux-nodeinfo-4.txt:
* tests/nodeinfodata/linux-nodeinfo-5.txt:
* tests/nodeinfodata/linux-nodeinfo-6.txt:
* src/test.c [WITH_TEST]: Remove definition of _GNU_SOURCE that
would conflict with the one now in "config.h".
* autogen.sh: Add -I gnulib/m4.
* src/conf.c, src/sexpr.c: Don't define _GNU_SOURCE.
Instead, include "config.h".
* qemud/qemud.c: Remove definition of _GNU_SOURCE.
* src/openvz_driver.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.

* configure.in: Use AC_CONFIG_AUX_DIR(build-aux), so that a bunch
of gettextize-generated files go into build-aux/, rather than in
the top-level directory.
* .cvsignore: Adjust.
* build-aux/.cvsignore: New file.


Author: Jim Meyering <meyering@redhat.com>
2007-12-05 21:31:07 +00:00
Richard W.M. Jones
ffdbb903e4 Wed Dec 5 18:00:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* src/Makefile.am, tests/Makefile.am: Remove LIBOBJS/LTLIBOBJS
          which were incorrectly committed earlier.
2007-12-05 18:05:13 +00:00
Daniel P. Berrange
1b1d647439 Initial integration of SASL authentication, working for Kerberos only 2007-12-05 15:24:15 +00:00
Richard W.M. Jones
d63034c018 Thu Nov 29 17:40:00 GMT 2007 Richard W.M. Jones <rjones@redhat.com>
* configure.in: Added CYGWIN_EXTRA_LDFLAGS, CYGWIN_EXTRA_LIBADD,
	  CYGWIN_EXTRA_PYTHON_LIBADD, CYGWIN automake conditional.
	* src/Makefile.am: Extra flags required to build DLL of libvirt
	  for Cygwin.
	* python/Makefile.am: Extra flags and rule required to build
	  Python module for Cygwin.
2007-11-29 17:44:01 +00:00
Daniel P. Berrange
6bb2d376b5 Refactor processing of incoming packets to remove dead code 2007-11-17 11:17:48 +00:00
Daniel Veillard
ec58960745 * doc/libvir.html doc/format.html: add missing docs for
<shareable/> on disk devices
* src/Makefile.am: fix the tst build rule for missing libraries
Daniel
2007-11-14 17:11:19 +00:00
Richard W.M. Jones
3ba58f158d Wed Nov 14 11:55:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* src/stats_linux.c, src/stats_linux.h, src_xen_internal.c:
	  Abstract out the Linux-specific statistics.  Fixed parsing
	  of 64 bit numbers.
	* src/Makefile.am: Updated Makefile for new files.
2007-11-14 11:58:36 +00:00
Daniel Veillard
d620b00ffa * src/Makefile.am: fix tst build rule
* src/buf.c: fix virBufferContentAndFree to make sure the string is
  always 0 terminated.
Daniel
2007-10-19 15:09:31 +00:00
Daniel P. Berrange
85ef19558c Added default example configs for libvirtd/qemu driver 2007-10-12 19:54:15 +00:00
Daniel P. Berrange
27b4293285 Switch to use pkg-config to find gnutls 2007-09-19 17:42:40 +00:00
Richard W.M. Jones
81005437f4 Tue Aug 21 10:21:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c (virDomainMigrate): Added virDomainMigrate
	  API call.
	* src/xend_internal.c, src/xen_unified.c: Support for migration
	  of Xen domains.
	* src/xen_internal.c: Xen capabilities indicates level of
	  support for migration.
	* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
	  Support for migration between remote hypervisors.
	* src/virsh.c: Added 'virsh migrate' command.
	* docs/libvir.html, docs/hvsupport.html: Updated hvsupport
	  documentation.
2007-08-21 09:31:12 +00:00
Richard W.M. Jones
3860cbb2b7 Tue Aug 7 16:35:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/Makefile.am: gnutls_1_0_compat.h to list of sources
          (bug reported by Jan Michael).
2007-08-07 15:44:42 +00:00
Daniel P. Berrange
773aa3b86b Split out generic nodeinfo API 2007-07-25 23:16:30 +00:00
Daniel Veillard
68ef3443d4 * src/Makefile.am src/openvz_conf.c src/openvz_conf.h
src/openvz_driver.c src/qemu_driver.c src/util.c src/util.h:
  cleanup patches from Shuveb Hussain, with new util module for
  common code shared between drivers.
Daniel
2007-07-19 16:22:40 +00:00
Daniel Veillard
b55718444f * configure.in src/Makefile.am src/driver.h src/libvirt.c:
applied patch from Shuveb Hussain to plug the developping
  OpenVZ support. Disabled by default.
* src/openvz_conf.[ch] src/openvz_driver.[ch]: added new
  OpenVZ driver files. Avoid a redefinition of readline().
Daniel
2007-07-17 13:27:26 +00:00
Daniel P. Berrange
a07f0a00da Move the QEMU driver & utility files from qemud/ to src/ 2007-06-27 00:12:29 +00:00
Daniel P. Berrange
a78a6602df Move QEMU driver into main libvirt.so and use single daemon for all drivers 2007-06-26 23:48:46 +00:00
Daniel P. Berrange
25905a78f2 Switch to using internal event API for QEMU driver 2007-06-26 22:51:01 +00:00
Daniel P. Berrange
2f02d292da Move virBuffer functions into src/buf.c,h 2007-06-26 22:33:22 +00:00
Daniel P. Berrange
512bf1a6b2 Fix coverage file generation 2007-06-15 01:21:18 +00:00
Richard W.M. Jones
b7c42619e6 Mon Jun 11 12:41:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/remote_internal.c, src/remote_internal.h,
	  src/driver.h, src/libvirt.c, src/Makefile.am: Client side
	  of the remote patch - adds a remote driver.
2007-06-11 11:43:41 +00:00
Richard W.M. Jones
0832c58c0a +Tue May 29 15:41:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
+
+       * TODO: Added a note about requiring C++ compiler because of a
+         possible problem with libtool autoconf macros.
+       * docs/examples/Makefile.am, proxy/Makefile.am, qemud/Makefile.am,
+         src/Makefile.am, tests/Makefile.am: Pass $(WARN_CFLAGS) when
+         linking, so if -fstack-protector is there, gcc will link to
+         the stack protector library.
+       * tests/xencapstest.c: Allow this test to compile when Xen
+         libraries are not enabled.
+
2007-05-29 14:44:15 +00:00
Richard W.M. Jones
18cd1a1e57 Wed Apr 4 15:18:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/xen_unified.c et al: Unified Xen driver.  Architecture
	  described here:
	  https://www.redhat.com/archives/libvir-list/2007-March/msg00396.html
2007-04-04 14:19:49 +00:00
Daniel Veillard
181ce1fdc6 * configure.in proxy/Makefile.am proxy/libvirt_proxy.c
src/Makefile.am src/libvirt.c src/qemu_internal.c src/test.c
  src/xen_internal.c src/xen_internal.h src/xend_internal.c
  src/xm_internal.c src/xml.c src/xs_internal.c
  tests/Makefile.am tests/sexpr2xmltest.c tests/xmconfigtest.c:
  allow selective compilation of Xen,QEmu/KVM and test support
  in or out at configure time. Also allows to compile on a system
  without Xen development installed. All drivers are selected by
  default.
Daniel
2007-03-15 07:43:16 +00:00
Mark McLoughlin
51d5609843 Thu Mar 01 16:17:48 EST 2007 Mark McLoughlin <markmc@redhat.com>
* acinclude.m4: add LIBVIRT_COMPILE_WARNINGS, copied from
        GNOME but with a few more flags we'd been using.

        * configure.in: use that instead of setting CFLAGS
        directly.

        * proxy/Makefile.am, python/Makefile.am, qemud/Makefile.am,
          src/Makefile.am, tests/Makefile.am: use $(WARN_CFLAGS)
2007-03-01 16:18:55 +00:00
Mark McLoughlin
cf0e5df048 Fri Feb 23 12:45:08 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/Makefile.am: install libvirt_qemud in /usr/sbin
        instead of /usr/libexec

        * src/Makefile.am, src/qemu_internal.c: pass the correct
        path to libvirt
2007-02-23 12:46:35 +00:00
Daniel P. Berrange
26ceeb4e9b Added code coverage testing enabled via --enable-test-coverage 2007-02-14 02:12:41 +00:00
Daniel P. Berrange
23ad665cb0 Added QEMU support 2007-02-14 01:40:09 +00:00
Daniel P. Berrange
786024b7dd Added vncdisplay & console commands to virsh 2007-01-26 11:54:29 +00:00
Daniel P. Berrange
f991089ce4 Support for inactive domain management 2006-11-16 19:06:13 +00:00
Daniel P. Berrange
e8e5844089 Added support for i18n translation with gettext 2006-09-21 15:24:37 +00:00
Daniel Veillard
546026a5be * src/Makefile.am: add a tst target to ease building test progs
* src/xend_internal.c: fix the reconnection problem to xend pointed
  by Philippe Berthault
* tests/Makefile.am tests/reconnect.c: add a specific test case
Daniel
2006-09-21 09:15:33 +00:00
Daniel Veillard
3bbac7cdb6 * TODO libvirt.spec.in: update
* configure.in include/libvirt/virterror.h src/Makefile.am
  src/conf.c src/conf.h src/virterror.c src/xen_internal.c:
  adding a subset of Xen config file parser, and serializer
* tests/Makefile.am tests/conftest.c tests/test_conf.sh
  tests/confdata/Makefile.am tests/confdata/fc4.conf
  tests/confdata/fc4.out: adding test program for config in and out
Daniel
2006-08-29 22:27:07 +00:00
Daniel Veillard
337211e731 * src/proxy_internal.c src/proxy_internal.h src/driver.h src/libvirt.c
src/Makefile.am: moved proxy/proxy.h and proxy/proxy_client.c as
  proxy_internal.[ch] and integrated them as a new driver.
* proxy/Makefile.am proxy/libvirt_proxy.c src/xen_internal.c
  src/xen_internal.h src/xend_internal.c: various related cleanups.
Daniel
2006-06-29 22:12:47 +00:00
Daniel P. Berrange
e5bb0cb052 Added 'mock' hypervisor driver for use by unit tests 2006-06-06 03:32:51 +00:00
Karel Zak
0f579f785c XML-RPC tests 2006-05-09 15:35:46 +00:00
Daniel Veillard
a5990ba624 * src/Makefile.am: add driver.h to SOURCES as pointed by Jim Meyering
* doc/*: rebuilt
Daniel
2006-03-25 10:47:41 +00:00
Daniel Veillard
561377ab8a * src/Makefile.am: fix out of tree build
Daniel
2006-03-24 13:03:29 +00:00
Daniel Veillard
a21472c0fd * src/xs_internal.c src/xs_internal.h include/virterror.h
src/virterror.c: created a new module related to Xen Store accesses
* src/libvirt.c src/xen_internal.[ch] src/xend_internal.[ch]:
  nearly completed the separation of the code from the different modules
Daniel
2006-03-23 15:42:10 +00:00
Daniel Veillard
8557bc67a4 * src/Makefile.am src/internal.h src/libvirt.c src/libvirt_sym.version
src/virterror.c include/Makefile.am include/virterror.h: adding
  the public APIs for errors, callbacks and synchronous. The boring
  stuff is still left to do, plugging it. Also need to be exposed
  at the python level.
* doc//*: rebuilt
Daniel
2006-02-24 22:36:10 +00:00
Daniel Veillard
a3512b01f9 * TODO: updated
* libvirt.spec.in: package the examples in the doc
* src/Makefile.am: forgot to add xml.h
Daniel
2006-02-22 08:59:00 +00:00
Daniel Veillard
77e8b6c62c * configure.in src/Makefile.am: adding dependency to libxml2
* include/libvirt.h* src/libvirt.c src/xend_internal.[ch]
  src/xml.[ch]: added XML parsing for Xen domain descriptions
  needed for creates, plugged in a converter to s-exp and
  xend call. Modified the virDomainCreateLinux() to reflect
  that XML based description. Seems to work.
* python/tests/create.py: added a test case which seems to work
  not tested much yet
* docs/*: regenerated
Daniel
2006-02-16 22:50:52 +00:00
Daniel Veillard
2985f0acdb * configure.in libvirt.spec.in include/libvirt.h.in python/Makefile.am
src/Makefile.am: fix rpm packaging problems whith head, more
  LIBVIR -> LIBVIRT changes.
Daniel
2006-02-15 13:21:17 +00:00
Daniel Veillard
8c423e6c83 * //* : renamed the project libvirt , this affects all makefiles,
the specs, the icons, the docs, etc ...
* configure.in: prepare for 0.0.3
Daniel
2006-02-09 17:45:11 +00:00
Daniel Veillard
fe64a1d852 * src/Makefile.am src/xend_internal.c src/xend_internal.h:
added more of Anthony Liquori libxend code, commented and reformatted
  this still need to be plugged, it's still dead code ATM.
Daniel
2006-01-12 15:38:07 +00:00
Daniel Veillard
f18b6c0ec6 * docs/libvir.html: grammatical fix
* src/Makefile.am src/sexpr.c src/sexpr.h: starting to integrate
  Anthony Liquori libxend code
* src/libvir.c: fix an uninitialized value
Daniel
2006-01-11 13:58:32 +00:00
Daniel Veillard
a02a3266e9 * libvir.spec.in src/Makefile.am: cleaned up the spec file, removed
static libraries, adding virsh as an installed program
Daniel
2005-12-16 13:27:23 +00:00
Daniel Veillard
16ff741ff0 * include/libvir.h src/Makefile.am src/internal.h src/libvir.c
src/libvir_sym.version src/virsh.c src/xml.c: started working on
  the XML dump, added a dumpxml virsh version and a bit of
  infrastructure code. Found a way to detect dead ID from xenstore
  data.
Daniel
2005-12-13 16:22:05 +00:00
Daniel Veillard
9b628aeff9 * Makefile.am include/libvir.h.in libvir.pc.in: various fixes.
* docs/*: regenerated the docs
Daniel
2005-12-08 23:46:57 +00:00
Daniel Veillard
ded06db1e6 * configure.in include/libvir.h.in include/libvir.h src/Makefile.am
include/Makefile.am: provide/fix library versionning information
  include/libvir.h is now generated !
* include/libvir.h.in src/libvir.c: revamp APIs and implement
  complete ones.
* src/virsh.c: finish the version command and a bit of cleanup.
Daniel
2005-12-08 15:08:46 +00:00
Karel Zak
0d8043574d virsh is more sexy now 2005-12-08 10:23:34 +00:00
Daniel Veillard
7c82cb733f * configure.in src/Makefile.am src/libvir.c src/xen_internal.c
src/xen_internal.h: removed dependancy on xenctrl library, untested
  yet.
Daniel
2005-12-07 18:10:51 +00:00
Daniel Veillard
1192a2ade3 * Makefile.am README TODO autogen.sh configure.in libvir.pc.in
libvir.spec.in docs/Makefile.am docs/apibuild.py docs/structures.fig
  include/Makefile.am include/libvir.h src/Makefile.am src/hash.c
  src/hash.h src/internal.h src/libvir.c src/libvir_sym.version
  src/virsh.c: renamed to libvir
Daniel
2005-12-05 11:16:07 +00:00
Daniel Veillard
37ecc62443 * configure.in src/Makefile.am: more warnings from compiler and
link static in work environement
Daniel
2005-12-02 12:11:06 +00:00
Daniel Veillard
978d57bbe4 * src/Makefile.am src/hash.[ch]: added hash module based on libxml2
one.
* include/libxen.h src/libxen.c src/libxen_sym.version: extend API
  start to access libxenctrl directly (need xen update to get includes)
* src/xensh.c: access to both xenstore and hypervisor
Daniel
2005-11-30 13:20:53 +00:00
Daniel Veillard
afcb25b9a5 * src/makefile.am src/libxen.c src/xensh.c: add a small tool sensh,
implement xenopenconnect and xencloseconnect.
Daniel
2005-11-10 16:12:31 +00:00
Daniel Veillard
70eb59b8be * TODO libxen.pc.in libxen.spec.in include/Makefile.am Makefile.am
config.h.in configure.in: fix make dist, add rpm packaging
* src/libxen_sym.version src/Makefile.am: set a policy of no
  export by default of library symbols
Daniel
2005-11-02 15:37:34 +00:00
Daniel Veillard
b8e381131c * AUTHORS NEWS README autogen.sh configure.in: allow autogen.sh and
configure to start working
* src/Makefile.am src/internal.h src/libxen.c: make the first compile
Daniel
2005-11-02 13:19:10 +00:00
Daniel Veillard
d77e1a9642 Initial revision 2005-11-02 12:50:21 +00:00