Cole Robinson
53603043c7
Set default emulator in domain_conf.*, rather than the driver.
...
Rather than numerous instances of:
emulator = vm->def->emulator;
if (!emulator)
emulator = virDomainDefDefaultEmulator(conn, vm->def, driver->caps);
if (!emulator)
return -1;
Set this value at XML parse time in the domain config, so we can depend on
it for all future emulator accesses. There were unchecked accesses in the
qemu driver that were tripping up on this if no emulator was specified in
the XML, see:
http://www.redhat.com/archives/libvir-list/2008-October/msg00602.html
2009-06-16 15:42:46 +00:00
Daniel P. Berrange
0420a03240
Remove use of getuid()==0 for privilege checks
2009-06-12 13:20:13 +00:00
Daniel P. Berrange
d2c9fe850b
Improve error reporting for virConnectOpen URIs
2009-06-12 12:06:15 +00:00
Daniel P. Berrange
56a46886ad
Fix re-detection of transient VMs after libvirtd restart
2009-06-12 11:38:50 +00:00
Daniel P. Berrange
0ca460eada
Implement capabilities and nodeinfo APIs
2009-06-03 13:29:23 +00:00
Daniel P. Berrange
4d5383fd36
public API for domain XML conversions
2009-05-21 13:46:35 +00:00
Daniel Veillard
6a140adb78
* src/lxc_driver.c: fix a couple of error code, patch by Amy Griffis
...
daniel
2009-05-20 07:12:00 +00:00
Daniel Veillard
cab9eed62e
* src/lxc_driver.c: adds the getHostname method to the lxc driver
...
patch by Dan Smith
daniel
2009-04-15 09:34:56 +00:00
Chris Lalancette
4d3d0039e5
Convert all drivers to use old-style struct initializers; this makes a handy
...
built-in TODO list for each driver. Also rip out the internal getURI method;
it is never used by any of the drivers, and was buggy to boot.
2009-03-31 15:47:16 +00:00
Daniel Veillard
7f39e2e5e5
* src/cgroup.c src/cgroup.h src/lxc_driver.c: allows to get
...
CPU usage of a lxc using cpuacct subsystem of cgroups, patch
by Ryota Ozaki
Daniel
2009-03-06 14:44:04 +00:00
Daniel P. Berrange
8d13558ae6
Internal driver API for sVirt support (James Morris & Dan Walsh)
2009-03-03 09:14:28 +00:00
Daniel Veillard
737af2ea04
Adds the APIs for virNodeDeviceDettach , ReAttach and Reset
...
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/driver.h src/libvirt.c src/libvirt_public.syms
src/lxc_driver.c src/openvz_driver.c src/qemu_driver.c
src/test.c src/uml_driver.c: add the public APIs for
virNodeDeviceDettach virNodeDeviceReAttach and virNodeDeviceReset
and extends the driver structure accordingly.
Daniel
2009-03-02 16:25:13 +00:00
Jim Meyering
a9aa76bad5
remove useless code
...
* src/bridge.c (brAddTap): Remove redundant errno=ENOMEM assignment
after failed strdup.
* src/cgroup.c (virCgroupFree): Remove redundant *group=NULL assignment
after VIR_FREE(*group).
* src/lxc_driver.c (lxcShutdown): Likewise.
* src/xen_unified.c (xenUnifiedClose): Likewise.
* src/xm_internal.c (xenXMDomainConfigFormat): Rewrite disk-
and net-config-setting code to be clearer.
2009-02-05 16:03:11 +00:00
Daniel P. Berrange
05436ab7ff
Fix valgrind crash in LXC & avoid probing unneccessarily
2009-01-30 16:51:33 +00:00
Daniel P. Berrange
4f4bfbc79e
Fix save/restore migrate syntax for new KVM releases
2009-01-29 17:27:54 +00:00
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