Daniel P. Berrange
852fa7d04a
Separate code for encoding outgoing remote message headers
...
Introduces an API for encoding the header field for outgoing messages
allowing some duplicated code to be eliminated
* qemud/dispatch.c, qemud/dispatch.h: add remoteEncodeClientMessageHeader
for encoding message header. Update remoteDispatchClientRequest to
use this method.
* qemud/remote.c: Update remoteDispatchDomainEventSend to use the
generic remoteEncodeClientMessageHeader() for encoding event
message hedaders. Push some logic from remoteRelayDomainEvent
down into remoteDispatchDomainEventSend.
2009-07-16 16:09:47 +01:00
Daniel P. Berrange
a147ef3837
Split generic RPC message dispatch code out from remote protocol API handlers
...
* po/POTFILES.in: Add qemud/dispatch.c
* qemud/dispatch.c, qemud/dispatch.h: Generic code handling dispatch of
RPC messages.
* qemud/Makefile.am: Add dispatch.c to build
* qemud/qemud.c: Include dispatch.h
* qemud/qemud.h: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
now in dispatch.h
* qemud/remote.c: Remove remoteDispatchClientRequest, remoteRelayDomainEvent
now in dispatch.c, and dispatch_args, dispatch_ret, dispatch_fn & dispatch_data
now in remote.h
* qemud/remote.h: Add typedefs for dispatch_args, dispatch_ret,
dispatch_fn, dispath_data. Add remoteGetDispatchData() API
2009-07-16 16:09:41 +01:00
Daniel P. Berrange
845659340e
Fix error reporting for security driver over remote protocol
...
* qemud/remote.c: Send back the actual libvirt connection error
rather than formatting a generic error for security driver
methods
* src/libvirt.c: Fix virDomainGetSecurityLabel, and
virNodeGetSecurityModel to correctly set the error on
the virConnectPtr object, and raise a full error rather
than warning when not supported
2009-07-15 12:27:42 +01:00
Daniel Veillard
3bdda17adc
fixing a typo in error message
...
* qemud/remote.c: fixing a typo pointed out by Runa Bhattacharjee
Daniel
2009-06-11 15:34:37 +00:00
Daniel P. Berrange
8a1a2ac558
Fix Win32 portability problems with 'inteface' symbol clash
2009-05-29 14:29:22 +00:00
Daniel P. Berrange
60d4777190
Remote protocol support for domain XML conversion APIs
2009-05-21 13:50:56 +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
Cole Robinson
adf4384501
Use virAsprintf, rather than VIR_ALLOC + strcpy + strcat
2009-05-19 13:15:50 +00:00
Cole Robinson
885de7f8cf
Remote driver plumbing for virStorageVolCreateXMLFrom
2009-05-12 20:13:52 +00:00
Daniel P. Berrange
62aa1b56d6
Add virNodeDeviceCreateXML / virNodeDeviceDestroy boilerplate public API and remote protocol impl
2009-04-24 13:11:23 +00:00
Daniel P. Berrange
92ff72b52c
Misc NUMA related fixes
2009-04-03 12:45:05 +00:00
Daniel P. Berrange
24a149cfa2
Fix handling of cpumaps arg to virDomainGetVcpus RPC dispatcher
2009-03-16 10:33:01 +00:00
Daniel P. Berrange
a8cd24b346
Remote protocol / RPC API for sVirt support (James Morris & Dan Walsh)
2009-03-03 09:27:02 +00:00
Daniel Veillard
0231102863
Implement node attach/reattach/reset in the remote driver
...
* qemud/remote.c qemud/remote_dispatch_args.h
qemud/remote_dispatch_prototypes.h qemud/remote_dispatch_table.h
qemud/remote_protocol.c qemud/remote_protocol.h
qemud/remote_protocol.x src/remote_internal.c: Implement
attach/reattach/reset in the remote driver, patch by Mark
McLoughlin.
Daniel
2009-03-02 16:30:59 +00:00
Jim Meyering
bafd7389e4
remove remainder of offending strerror uses
...
* qemud/qemud.c (GET_CONF_STR): Use virStrerror, not strerror.
* qemud/remote.c (remoteDispatchDomainBlockPeek): Likewise.
(remoteDispatchDomainMemoryPeek, remoteDispatchAuthSaslInit): Likewise.
(remoteDispatchAuthPolkit): Likewise.
* src/lxc_container.c (lxcContainerAvailable): Likewise.
* src/network_driver.c (networkStartNetworkDaemon): Likewise.
(networkShutdownNetworkDaemon): Likewise.
* src/qemu_conf.c (qemudExtractVersion, qemudNetworkIfaceConnect):
* src/storage_conf.c (virStoragePoolLoadAllConfigs): Likewise.
* src/storage_driver.c (storagePoolUndefine): Likewise.
* src/uml_driver.c (umlStartup, umlStartVMDaemon): Likewise.
* src/util.c (virFileReadAll): Likewise.
* src/uuid.c (virUUIDGenerate): Likewise.
* src/xen_internal.c (get_cpu_flags): Likewise.
2009-02-05 16:28:30 +00:00
Jim Meyering
d22a844b46
don't include raw errno in diagnostics
...
* src/uml_driver.c (umlStartVMDaemon): Don't print raw errno value.
* qemud/remote.c (remoteDispatchAuthSaslInit): Likewise.
2009-02-05 16:28:15 +00:00
Daniel P. Berrange
e2da806861
Fix leak in serializing error message from daemon to client
2009-01-30 16:48:02 +00:00
Daniel P. Berrange
f61341173b
Allow concurrent processing of RPC calls in daemon
2009-01-20 19:25:15 +00:00
Daniel P. Berrange
4dac0a1105
Generic internal threads API
2009-01-15 19:56:05 +00:00
Daniel P. Berrange
37e72aa542
Fix misc mingw portability problems
2009-01-06 18:32:03 +00:00
Daniel Veillard
2a37fb80eb
* qemud/remote.c: fix compilation without SASL, patch by John Levon
...
daniel
2009-01-06 09:44:34 +00:00
Daniel Veillard
7f3646c81d
Finish switching the daemon code to new logging
...
* qemud/event.c qemud/mdns.c qemud/remote.c: switch other pieces
of the daemon to the new logging infrastructure
daniel
2008-12-22 12:55:47 +00:00
Daniel P. Berrange
ca05a72db6
Fix unused variable compile warning when polkit is disabled (John Levon)
2008-12-18 12:00:45 +00:00
Daniel P. Berrange
13d98d68fc
Misc daemon fixes (John Levon)
2008-12-18 11:52:06 +00:00
Daniel P. Berrange
4a00119a0a
Use a thread pool for RPC dispatch
2008-12-04 22:16:40 +00:00
Daniel P. Berrange
dd6b3318f3
Simplify error reporting rules
2008-12-04 22:12:53 +00:00
Daniel P. Berrange
792322f00d
Change RPC dispatch to use an array lookup for handler functions
2008-12-04 22:03:24 +00:00
Daniel P. Berrange
8325fcf13d
Remote protocol support for node devices (David Lively)
2008-11-21 12:31:04 +00:00
Daniel P. Berrange
3d41e86534
Add a virFreeCallback to virDomainEventRegister (from David Lively)
2008-11-19 15:25:24 +00:00
Daniel P. Berrange
d3d54d2fc9
Add domain events detail information
2008-11-17 16:43:00 +00:00
Daniel P. Berrange
618276de19
Push URI probing logic down into individual drivers
2008-11-17 11:44:51 +00:00
Daniel P. Berrange
25047e7cf8
Use a versioned linker script
2008-11-17 11:03:25 +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
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 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
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
Cole Robinson
e2a43cdb87
Move DEBUG macros to central location.
2008-10-06 19:53:06 +00:00
Daniel P. Berrange
39c9354c5c
Add storage pool source discovery support (patch from David Lively)
2008-08-27 20:05:58 +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
d7d21c85e0
Switch daemon over to use internal memory allocation APIs
2008-06-06 10:52:01 +00:00
Richard W.M. Jones
a73a88a19f
virDomainBlockPeek QEMU and remote support
...
* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
Remote support.
* qemud/remote_dispatch_localvars.h,
qemud/remote_dispatch_proc_switch.h,
qemud/remote_dispatch_prototypes.h,
qemud/remote_protocol.c,
qemud/remote_protocol.h:
Generated files for remote support.
* src/xen_unified.c, src/driver.h, src/libvirt.c: Small fix -
pass flags around internally.
* src/qemu_driver.c: Support for QEMU.
* src/xend_internal.c: Remove redundant fstat call from Xen.
2008-06-05 21:12:26 +00:00
Richard W.M. Jones
1d8d4f86b6
Standardize use of header files, making internal.h primary.
...
* qemud/internal.h, qemud/qemud.h: Rename this file so it
doesn't conflict with src/internal.h.
* HACKING: Document how header files should be used.
* qemud/Makefile.am: Add src/ directory to includes.
* qemud/event.c, qemud/mdns.c, qemud/qemud.c, qemud/remote.c,
qemud/remote_protocol.c, qemud/remote_protocol.h,
qemud/remote_protocol.x, src/buf.c, src/libvirt.c,
src/nodeinfo.c, src/qemu_conf.c, src/qemu_driver.c,
src/stats_linux.c, src/storage_backend.c, src/storage_backend_fs.c,
src/storage_backend_iscsi.c, src/storage_backend_logical.c,
src/storage_conf.c, src/storage_driver.c, src/util.c,
src/util.h, src/virsh.c, src/virterror.c, src/xend_internal.c,
src/xml.c, tests/reconnect.c, tests/xmlrpctest.c,
tests/qparamtest.c: Standardize use of header files.
* docs/*, po/*: Rebuild docs.
2008-05-23 08:24:41 +00:00
Daniel P. Berrange
ab5be538f3
Wire up free memory APIs to remote driver/daemon
2008-05-22 15:20:25 +00:00
Daniel P. Berrange
dd674689df
Fix misc memory leaks
2008-05-22 15:12:25 +00:00
Daniel P. Berrange
e866e302f8
Fixed couple of memory leaks wrt to virXXXDestroy APIs, and clarify docs to match reality
2008-05-21 20:53:30 +00:00
Atsushi SAKAI
b87f3000aa
Change libvirtd description from qemu only to various VM(i.e. Xen, LXC)
...
Fix typos and comments
2008-05-15 06:12:32 +00:00
Jim Meyering
25534052bc
Use gnulib's c-ctype.h, not <ctype.h>.
...
# Convert uses of isspace to c_isspace, isdigit to c_isdigit, etc.
re=$(man isspace|grep is.....,.is|sed 's/ -.*//' \
|tr -s ', \n' \||sed 's/^|//;s/|$//')
git grep -l -E "$re"|grep -Ev 'Chan|gnulib' \
|xargs perl -pi -e 's/\b('"$re"')\b/c_$1/g'
# Remove all uses of to_uchar
git grep -l to_uchar|xargs perl -pi -e 's/to_uchar\((.*?)\)/$1/g'
* src/util.h (to_uchar): Remove definition.
(TOLOWER): Remove definition.
(__virMacAddrCompare): Use c_tolower, not TOLOWER.
Globally:
Where needed, change <ctype.h> to <c-ctype.h>.
Remove unnecessary inclusion of <ctype.h>.
Ensure the global changes are never needed again:
* Makefile.maint (sc_avoid_ctype_macros): Prohibit use of ctype
macros. Recommend c-ctype.h instead.
(sc_prohibit_c_ctype_without_use): New rule.
(sc_prohibit_ctype_h): New rule. Disallow use of <ctype.h>.
2008-05-09 13:50:14 +00:00
Jim Meyering
dc42a9d2de
remove Vim and Emacs variable settings from C source files
...
Done with these commands:
git grep -l Local.variab|xargs \
perl -0x3b -pi -e 's,\n+/\*\n \* vim:(.|\n)*,\n,'
git grep -l Local.variab|xargs \
perl -0x3b -pi -e 's,\n+/\*\n \* Local variables:\n(.|\n)*,\n,'
2008-04-10 16:53:29 +00:00
Daniel P. Berrange
d4a6fe9f99
Don't do polkit auth as root
2008-04-04 15:09:19 +00:00
Jim Meyering
513bd04ce1
Mark many more strings for translation.
...
* Makefile.maint (err_func_re): Add to the list and make it readable.
* po/POTFILES.in: Add src/util.c and src/xm_internal.c, and sort.
* src/storage_backend.c: Fix comment.
* src/util.c (virFileLinkPointsTo): Mark a string.
* qemud/remote.c (remoteDispatchClientRequest): Mark strings.
(remoteDispatchOpen, CHECK_CONN, remoteDispatchGetType): Likewise.
(remoteDispatchDomainGetSchedulerType): Likewise.
(remoteDispatchDomainGetSchedulerParameters): Likewise.
(remoteDispatchDomainSetSchedulerParameters): Likewise.
(remoteDispatchDomainBlockStats): Likewise.
(remoteDispatchDomainInterfaceStats): Likewise.
(remoteDispatchDomainAttachDevice, remoteDispatchDomainCreate):
(remoteDispatchDomainDestroy, remoteDispatchDomainDetachDevice):
(remoteDispatchDomainDumpXml, remoteDispatchDomainGetAutostart):
(remoteDispatchDomainGetInfo, remoteDispatchDomainGetMaxMemory):
(remoteDispatchDomainGetMaxVcpus, remoteDispatchDomainGetOsType):
(remoteDispatchDomainGetVcpus): Likewise.
(remoteDispatchDomainMigratePerform): Likewise.
(remoteDispatchListDefinedDomains, remoteDispatchDomainPinVcpu):
(remoteDispatchDomainReboot, remoteDispatchDomainResume):
(remoteDispatchDomainSave, remoteDispatchDomainCoreDump):
(remoteDispatchDomainSetAutostart): Likewise.
(remoteDispatchDomainSetMaxMemory, remoteDispatchDomainSetMemory):
(remoteDispatchDomainSetVcpus, remoteDispatchDomainShutdown):
(remoteDispatchDomainSuspend, remoteDispatchDomainUndefine):
(remoteDispatchListDefinedNetworks, remoteDispatchListDomains):
(remoteDispatchListNetworks, remoteDispatchNetworkCreate):
(remoteDispatchNetworkDestroy, remoteDispatchNetworkDumpXml):
(remoteDispatchNetworkGetAutostart, remoteDispatchNetworkGetBridgeName):
(remoteDispatchNetworkSetAutostart, remoteDispatchNetworkUndefine):
(addrToString, remoteDispatchAuthSaslInit, remoteDispatchAuthSaslStart):
(remoteDispatchAuthSaslStep, remoteDispatchListDefinedStoragePools):
(remoteDispatchListStoragePools, remoteDispatchStoragePoolCreate):
(remoteDispatchStoragePoolBuild, remoteDispatchStoragePoolDestroy):
(remoteDispatchStoragePoolDelete, remoteDispatchStoragePoolRefresh):
(remoteDispatchStoragePoolGetInfo, remoteDispatchStoragePoolDumpXml):
(remoteDispatchStoragePoolGetAutostart): Likewise.
(remoteDispatchStoragePoolSetAutostart):
(remoteDispatchStoragePoolListVolumes):
(remoteDispatchStoragePoolNumOfVolumes):
(remoteDispatchStoragePoolUndefine, remoteDispatchStorageVolCreateXml):
(remoteDispatchStorageVolDelete, remoteDispatchStorageVolGetInfo):
(remoteDispatchStorageVolDumpXml, remoteDispatchStorageVolGetPath):
(remoteDispatchStorageVolLookupByName): Likewise.
* src/qemu_driver.c (qemudOpenMonitor, qemudStartVMDaemon):
(dhcpStartDhcpDaemon, qemudStartNetworkDaemon):
(qemudDomainSuspend, qemudDomainResume, qemudDomainShutdown):
(qemudDomainGetOSType, qemudDomainSetMaxMemory):
(qemudDomainSetMemory, qemudDomainGetInfo, qemudDomainSave):
(qemudDomainRestore, qemudDomainDumpXML, qemudDomainStart):
(qemudDomainUndefine, qemudDomainChangeCDROM):
(qemudDomainAttachDevice, qemudDomainGetAutostart):
(qemudDomainSetAutostart, qemudDomainInterfaceStats):
(qemudNetworkLookupByUUID, qemudNetworkLookupByName):
(qemudNetworkUndefine, qemudNetworkStart, qemudNetworkDestroy):
(qemudNetworkDumpXML, qemudNetworkGetAutostart):
(qemudNetworkSetAutostart): Likewise.
* src/virsh.c (cmdVcpupin, cmdAttachDevice, cmdDetachDevice): Likewise.
* src/xm_internal.c (xenXMConfigCacheRefresh, xenXMDomainPinVcpu): Likewise.
2008-03-27 13:43:01 +00:00