Jim Meyering
bc18a91f91
error-reporting calls using VIR_ERR_NO_MEMORY: use virReportOOMError instead
...
* src/uml_conf.c (VIR_FROM_THIS): Define to VIR_FROM_UML.
* src/xs_internal.c (VIR_FROM_THIS): Define to VIR_FROM_XEN.
* src/xml.c (VIR_FROM_THIS): Define to VIR_FROM_XML.
* src/stats_linux.c (VIR_FROM_THIS): Define to VIR_FROM_STATS_LINUX.
* src/datatypes.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
* src/lxc_conf.c (VIR_FROM_THIS): Define to VIR_FROM_LXC.
* src/libvirt.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
* src/node_device_conf.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
* src/openvz_conf.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
* src/openvz_driver.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
* src/conf.c (VIR_FROM_THIS): Define to VIR_FROM_CONF.
Note: this loses config_filename:config_lineno diagnostics,
but that's ok.
* src/node_device.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
* src/sexpr.c (VIR_FROM_THIS): Define to VIR_FROM_SEXPR.
* po/POTFILES.in: remove src/sexpr.c and src/lxc_conf.c
2009-01-29 12:10:32 +00:00
Daniel P. Berrange
437ac354fc
Make error reporting threadsafe by avoiding strerror
2009-01-20 17:13:33 +00:00
Daniel Veillard
458a673cb7
remove stdout_fd, stderr_fd from virDomainObj
...
* src/domain_conf.h src/lxc_driver.c src/uml_driver.c: virDomainObj
doesn't need stdout and stderr fields anymore, patch from
Guido Günther
daniel
2009-01-20 16:10:20 +00:00
Daniel P. Berrange
4dac0a1105
Generic internal threads API
2009-01-15 19:56:05 +00:00
Guido Günther
46971d5ed7
pass flags argument to all virDomain*DefParse* functions
2009-01-08 13:54:20 +00:00
Guido Günther
043d702f02
use virAsprintf instead of asprintf
2008-12-23 13:03:29 +00:00
Daniel P. Berrange
965c1bfee4
Add locking for thread safety to LXC driver
2008-12-04 21:12:41 +00:00
Daniel P. Berrange
5305c55849
Merge all return paths from LXC driver APIs
2008-12-04 21:11:41 +00:00
Guido Günther
1d7d2fae10
Differentiate between active and inactive configs by honoring the
...
VIR_DOMAIN_XML_INACTIVE flag.
2008-12-04 12:02:59 +00:00
Daniel P. Berrange
d88d459d7b
Allow remote://hostname/ style URIs for automatic driver probe. Fix virGetVersion impl
2008-11-28 12:03:20 +00:00
Daniel P. Berrange
c67700be8a
Fix two memory leaks in domain conf and LXC code
2008-11-21 11:42:51 +00:00
Daniel P. Berrange
6d04effac7
Add a virFreeCallback to event loop APIs
2008-11-19 16:24:01 +00:00
Daniel P. Berrange
6d41cb87d3
Change public API for virEventAddHandle to allow multiple registrations per FD
2008-11-19 16:19:36 +00:00
Daniel P. Berrange
a5e72f9177
Add QEMU driver events for defined/undefined config files
2008-11-17 16:52:32 +00:00
Daniel P. Berrange
618276de19
Push URI probing logic down into individual drivers
2008-11-17 11:44:51 +00:00
Daniel Veillard
df285bdd8d
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
2008-11-14 08:42:47 +00:00
Jim Meyering
0e7a565229
mark a few diagnostics for translation
...
* src/lxc_conf.c (lxcLoadDriverConfig): Mark a diagnostic.
* src/lxc_driver.c (lxcDomainStart): Likewise.
* po/POTFILES.in: Add src/lxc_conf.c.
* Makefile.maint (msg_gen_function): Add virReportErrorHelper
and lxcError.
2008-11-07 16:43:58 +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
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
Daniel P. Berrange
bdd50bc7f3
Centralize domain mac address handling in domain_conf.c/util.c
2008-10-24 11:20:08 +00:00
Daniel Veillard
1509b8027f
Massive patch adding event APIs by Ben Guthro
...
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/libvirt.c src/libvirt_sym.version: new libvirt event entry
points, big patch provided by Ben Guthro
* Makefile.am configure.in src/driver.h src/event.c src/event.h
src/internal.h src/libvirt.c 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/storage_backend_fs.c src/test.c
qemud/event.c qemud/event.h qemud/mdns.c qemud/qemud.c
qemud/qemud.h 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 proxy/Makefile.am python/generator.py:
Not much is left untouched by the patch adding the events support
* docs/libvirt-api.xml docs/libvirt-refs.xml
docs/html/libvirt-libvirt.html: regenerated the docs
* examples/domain-events/events-c/Makefile.am
examples/domain-events/events-c/event-test.c: a test example
* AUTHORS: added Ben Guthro
daniel
2008-10-23 13:18:18 +00:00
Jim Meyering
fd52c6ff67
avoid many format string warnings
...
Building with --disable-nls exposed many new warnings like these:
virsh.c:4952: warning: format not a string literal and no format ...
util.c:163: warning: format not a string literal and no format arguments
All but one of the following changes add a "%s" argument before
the offending _(...) argument.
This was the only manual change:
* src/lxc_driver.c (lxcVersion): Use %s and strerror(errno)
rather than %m, to avoid a warning from gcc -Wformat-security.
Add "%s" before each warned about format-string-with-no-%-directive:
* src/domain_conf.c (virDomainHostdevSubsysUsbDefParseXML)
(virDomainDefParseString, virDomainDefParseFile):
* src/hash.c (virGetConnect, __virGetDomain, virReleaseDomain)
(__virGetNetwork, virReleaseNetwork, __virGetStoragePool)
(virReleaseStoragePool, __virGetStorageVol, virReleaseStorageVol):
* src/lxc_container.c (lxcContainerChild):
* src/lxc_driver.c (lxcDomainDefine, lxcDomainUndefine)
(lxcDomainGetInfo, lxcGetOSType, lxcDomainDumpXML)
(lxcSetupInterfaces, lxcDomainStart, lxcDomainCreateAndStart)
(lxcVersion, lxcGetSchedulerParameters):
* src/network_conf.c (virNetworkDefParseString)
(virNetworkDefParseFile):
* src/openvz_conf.c (openvzReadNetworkConf, openvzLoadDomains):
* src/openvz_driver.c (openvzDomainDefineCmd)
(openvzDomainGetInfo, openvzDomainDumpXML, openvzDomainShutdown)
(openvzDomainReboot, ADD_ARG_LIT, openvzDomainDefineXML)
(openvzDomainCreateXML, openvzDomainCreate, openvzDomainUndefine)
(openvzDomainSetAutostart, openvzDomainGetAutostart)
(openvzDomainSetVcpus):
* src/qemu_driver.c (qemudDomainBlockPeek, qemudDomainMemoryPeek):
* src/remote_internal.c (remoteDomainBlockPeek)
(remoteDomainMemoryPeek, remoteAuthPolkit):
* src/sexpr.c (sexpr_new, _string2sexpr):
* src/storage_backend_disk.c (virStorageBackendDiskMakeDataVol)
(virStorageBackendDiskCreateVol):
* src/storage_backend_fs.c
(virStorageBackendFileSystemNetFindPoolSources):
* src/storage_backend_logical.c (virStorageBackendLogicalFindLVs)
(virStorageBackendLogicalFindPoolSources):
* src/test.c (testOpenDefault, testOpenFromFile, testOpen)
(testGetDomainInfo, testDomainRestore)
(testNodeGetCellsFreeMemory):
* src/util.c (virExec):
* src/virsh.c (cmdAttachDevice, cmdDetachDevice)
(cmdAttachInterface, cmdDetachInterface, cmdAttachDisk)
(cmdDetachDisk, cmdEdit):
* src/xend_internal.c (do_connect, wr_sync, xend_op_ext)
(urlencode, xenDaemonDomainCreateXML)
(xenDaemonDomainLookupByName_ids, xenDaemonDomainLookupByID)
(xenDaemonParseSxprOS, xend_parse_sexp_desc_char)
(xenDaemonParseSxprChar, xenDaemonParseSxprDisks)
(xenDaemonParseSxpr, sexpr_to_xend_topology, sexpr_to_domain)
(xenDaemonDomainFetch, xenDaemonDomainGetAutostart)
(xenDaemonDomainSetAutostart, xenDaemonDomainMigratePerform)
(xenDaemonDomainDefineXML, xenDaemonGetSchedulerType)
(xenDaemonGetSchedulerParameters)
(xenDaemonSetSchedulerParameters, xenDaemonDomainBlockPeek)
(xenDaemonFormatSxprChr, virDomainXMLDevID):
* src/xm_internal.c (xenXMConfigCacheRefresh, xenXMDomainPinVcpu)
(xenXMDomainCreate, xenXMDomainDefineXML)
(xenXMDomainAttachDevice, xenXMDomainDetachDevice):
* src/xml.c (virXPathString, virXPathNumber, virXPathLong)
(virXPathULong, virXPathBoolean, virXPathNode, virXPathNodeSet):
* src/xs_internal.c (xenStoreOpen):
2008-10-13 16:46:28 +00:00
Daniel P. Berrange
427f7a8b09
Switch domain device objects to array instead of linked list
2008-10-10 16:08:01 +00:00
Daniel P. Berrange
4789154063
Switch domain objects to array instead of linked list
2008-10-10 14:20:37 +00:00
Daniel Veillard
f6803c960f
virDomainDefineXML, and a few additional cleanups
...
* include/libvirt/libvirt.h[.in] include/libvirt/virterror.h
qemud/remote* src/driver.h src/libvirt.c src/libvirt_sym.version
src/lxc_driver.c src/openvz_driver.c src/proxy_internal.c
src/qemu_driver.c src/remote_internal.c src/test.c src/virsh.c
src/xen_internal.c src/xen_unified.c src/xen_unified.h
src/xend_internal.c src/xend_internal.h src/xm_internal.c
src/xs_internal.c docs/*: cleanup virDomainCreateLinux into
virDomainDefineXML, and a few additional cleanups
Daniel
2008-10-10 09:32:27 +00:00
Daniel P. Berrange
218334d1b2
Fix two compile warnings
2008-10-09 14:50:25 +00:00
Dan Smith
6c504d6a7c
Add LXC scheduling parameters and support in virsh schedinfo
2008-10-08 16:28:48 +00:00
Cole Robinson
e2a43cdb87
Move DEBUG macros to central location.
2008-10-06 19:53:06 +00:00
Daniel Veillard
72c40b0622
use C99 initializers for virState
...
* src/lxc_driver.c src/qemu_driver.c src/remote_internal.c
src/storage_driver.c: use C99 initializers for virState (Guido
Gunther)
Daniel
2008-10-06 15:40:37 +00:00
Dan Smith
4461568ab4
Add cgroup manipulation and LXC driver
2008-10-03 16:46:01 +00:00
Daniel P. Berrange
126d3ebeea
Fix starting of xen domains without a PVFB console by removing default emulator
2008-09-05 11:52:12 +00:00
Dan Smith
df01e14bd7
Add LXC version implementation
...
This patch adds an implementation of the version function to the LXC driver.
The providers use the hypervisor version in a field of one of the instances,
so we need to have something meaningful here. AFAICT, the only real option
we have (considering the limitations of the libvirt version information) is
to use the kernel version.
2008-09-03 17:21:27 +00:00
Daniel P. Berrange
da1963381b
Fix QEMU domain creation by allowing virExec to preserve certain FDs
2008-08-27 11:42:52 +00:00
Dan Smith
5fb17bcc1e
[LXC] Cleanup devices on container shutdown
2008-08-22 15:35:37 +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
6334cd16df
Remove configFile/autostartLink vars from virDomainObj struct
2008-08-20 19:42:36 +00:00
Daniel P. Berrange
2e7a373646
Switch LXC driver over to generic domain XML processing APIs
2008-08-13 12:50:55 +00:00
Daniel P. Berrange
763dacda97
Make LXC I/O controller process a parent of the container process
2008-08-13 10:52:15 +00:00
Daniel P. Berrange
518c2144e5
Re-arrange code between LXC driver files
2008-08-13 10:25:34 +00:00
Daniel P. Berrange
e82c913680
Refactor LXC driver to pass tty/socket state directly
2008-08-13 10:14:47 +00:00
Daniel P. Berrange
b3728d7d72
Fix const-correctness of virRUn and virExec
2008-08-08 15:43:38 +00:00
Dan Smith
0240fe9d58
[LXC] Add setup/cleanup of container network interfaces
2008-06-26 16:09:48 +00:00
Dan Smith
97e1fc3734
[LXC] Add XML parsing of container network interfaces.
2008-06-26 16:08:59 +00:00
Dan Smith
99ded85f45
[LXC] Detect support for NETNS in lxc driver initialization
...
Allow check for containers support to be done without CLONE_NEWNET, and then
determine support on the fly by checking for iproute2 support and a
successful clone(CLONE_NEWNET). This lets us set a flag for later, as well
as not completely disable LXC support on a system without NETNS support.
2008-06-26 16:05:02 +00:00
Daniel P. Berrange
841dd882a4
Fix misc compile warnings
2008-06-12 13:48:29 +00:00
David L. Leskovec
0d0c96722c
Mon Jun 9 15:42:34 PST 2008 David L. Leskovec <dlesko@linux.vnet.ibm.com>
...
* src/lxc_driver.c: Make console element is output only. Always open new
PTY when starting a container.
Fix string overrun when storing console name in VM def struct
2008-06-09 22:51:32 +00:00
Daniel P. Berrange
d789ef5a88
Switch over remaining driver code to use memory alloc apis
2008-06-06 11:09:57 +00:00
David L. Leskovec
0bd57cdbe1
Fix a few issues related to restart of libvirtd with containers running.
...
Mon May 12 23:32:21 PST 2008 David L. Leskovec <dlesko@linux.vnet.ibm.com>
* src/lxc_driver.c: Add sanity of tty pid before kill()
Ignore ECHILD errors during VM cleanup
Call functions to store tty pid and cleanup tty pid file
* src/lxc_conf.h: Add function to verify container process exists
Add facilities to manage storing the tty forward process pid
* src/lxc_conf.c: Add function to verify container process exists
Call function to verify container process during config load
Add facilities to manage storing the tty forward process pid
Call function to load tty pid during load config
2008-06-05 06:03:00 +00:00