Daniel P. Berrange
c31300e69f
Fix misc bugs in ARGV -> XML convertor
2009-05-28 13:21:19 +00:00
Daniel P. Berrange
3d4a0ccbc6
QEMU domain XML conversion from QEMU argv
2009-05-21 14:16:55 +00:00
Daniel P. Berrange
d8dbd61107
Basic domain XML conversions for Xen/QEMU drivers
2009-05-21 14:14:01 +00:00
Daniel P. Berrange
4d5383fd36
public API for domain XML conversions
2009-05-21 13:46:35 +00:00
Daniel P. Berrange
de658ab4e4
Fix misc locking bugs identified by lock checker
2009-05-19 11:06:25 +00:00
Daniel Veillard
cd223d93da
generic support for RDP and desktop graphic extensions
...
* docs/schemas/domain.rng src/domain_conf.[ch] src/qemu_driver.c:
extend the generic code for the RDP and desktop extensions of
the graphic tag needed for vbox, patch by Pritesh Kothari
Daniel
2009-05-15 09:43:51 +00:00
Daniel P. Berrange
426f9772b8
Fix QEMU ARGV detection with kvm >= 85
2009-05-11 15:14:24 +00:00
Cole Robinson
0c8a9d2d51
Check that QEMU is still alive while reading startup output.
...
By checking the pid every retry period, we can quickly determine if
the process crashed at startup, rather than make the user wait for
the entire timeout (3 seconds).
2009-05-11 13:52:31 +00:00
Cole Robinson
a331653dad
Add pidfile argument to __virExec
...
virExec will write out the pid of the daemonized process only. Use this
in the QEMU driver, rather than QEMU's pidfile, so we can catch errors we
might miss if the emulator bails early.
2009-05-11 13:50:38 +00:00
Cole Robinson
27d72bd517
Report qemu log data if we fail to daemonize the process.
...
This ensures the user will actually see 'hook' function error output.
2009-05-11 13:37:19 +00:00
Cole Robinson
79d9d2432f
Add helper function virExecDaemonize
...
Wraps __virExec with the VIR_EXEC_DAEMON flag. Waits on the intermediate
process to ensure we don't end up with any zombies, and differentiates between
original process errors and intermediate process errors.
2009-05-11 13:34:37 +00:00
Daniel P. Berrange
54ebbde1e1
Improve name & UUID uniqueness checking in QEMU driver
2009-05-08 10:11:14 +00:00
Daniel P. Berrange
7022759b7e
Add new VIR_ERR_OPERATION_INVALID error code & use it in Xen & QEMU drivers
2009-05-08 09:58:46 +00:00
Daniel Veillard
7ee54d8356
Changes needed for multiple graphics adapters
...
* src/domain_conf.c src/domain_conf.h: parse and save multiple
graphics elements instead of one, patch by Pritesh Kothari
* src/qemu_conf.c src/qemu_driver.c: adapt the qemu/kvm driver for
the new structures, patch by Pritesh Kothari
* src/xend_internal.c src/xm_internal.c: same thing for Xen drivers
Daniel
2009-05-07 07:27:49 +00:00
Mark McLoughlin
1d6c713b18
Fix qemu driver's interpretation of <hostdev managed='yes'/>
...
This change:
Tue Mar 3 08:55:13 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
Don't try to detach & reset PCI devices while running test
suite for XML-> ARGV conversion.
* src/qemu_driver.c: Add qemuPrepareHostDevices() helper to
detach and reset PCI devices.
* src/qemu_conf.c: Don't detach & reset PCI devices while
building the command line argv
accidentally did this:
- if (hostdev->managed) {
+ if (!hostdev->managed) {
Which results in managed='yes' not causing the device to be
detached when the guest is starting.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2009-05-06 15:56:20 +00:00
Cole Robinson
4f10759024
Refresh QEMU driver capabilities for each getCapabilities call.
...
Also fix up a couple issues where caps are accessed without locking
the driver structure.
2009-05-06 14:20:34 +00:00
Cole Robinson
840955ff7c
Don't throw away StartVM errors when migrating/restoring in qemu driver.
2009-05-05 14:26:02 +00:00
Daniel P. Berrange
9c19a898f9
Remove stale QEMU pidfiles
2009-04-21 19:14:50 +00:00
Daniel P. Berrange
cfa30de3b8
Improve error reporting for lookup failures on inactive domains
2009-04-19 15:30:50 +00:00
Daniel P. Berrange
9a15c48d2d
Switch to using virDomainDefPtr for building command line in QEMU driver
2009-04-19 14:50:01 +00:00
Guido Günther
5caa1e0eb0
Don't log monitor output to domain log file.
...
It's logged via the logging system already. Prefix monitor debug output with vm
name.
2009-04-16 15:56:27 +00:00
Daniel P. Berrange
9ec1a56923
Fix crash in svirt verification, and incorrect cleanup in VM failure paths
2009-04-03 14:10:17 +00:00
Daniel P. Berrange
92ff72b52c
Misc NUMA related fixes
2009-04-03 12:45:05 +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
461afc2200
Fix URI check in QEMU migration
2009-04-01 09:54:20 +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 P. Berrange
3b97f7db53
DOn't try to query memory balloon if guest isn't active
2009-03-27 14:57:51 +00:00
Daniel P. Berrange
cb7593bd19
Support memory ballooning in QEMU
2009-03-27 11:44:29 +00:00
Daniel P. Berrange
c86afc85ee
Fix labelling of shared/readonly devices (Dan Walsh)
2009-03-17 11:35:40 +00:00
Cole Robinson
2068f2f5a3
Initialize security driver after config parsing
2009-03-16 17:16:04 +00:00
Daniel P. Berrange
b44af714d3
Support SASL auth for VNC server.
2009-03-16 13:54:26 +00:00
Daniel P. Berrange
8fa62166c4
Avoid deadlock setting vcpus in QEMU driver
2009-03-16 11:44:46 +00:00
Daniel P. Berrange
aad6873175
Don't try to close NULL virConnectPtr object
2009-03-16 10:30:04 +00:00
Daniel P. Berrange
61796bdb4b
Explicitly track static declared vs dynamically generated security labels
2009-03-03 16:53:13 +00:00
Daniel P. Berrange
e4818895c1
Misc sVirt bug fixes
2009-03-03 15:18:24 +00:00
Daniel P. Berrange
d0aa10fdd6
QEMU security driver usage for sVirt support (James Morris, Dan Walsh, Daniel Berrange)
2009-03-03 12:03:44 +00:00
Daniel P. Berrange
b756b005ec
Replace use of qemudLog with logging.h APIs/macros
2009-03-03 11:40:08 +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 P. Berrange
8f1912c58d
Don't try to detach & reset PCI devices while running test suite for XML-> ARGV conversion.
2009-03-03 08:59:45 +00:00
Cole Robinson
4837725f37
Better error reporting from qemu AttachDevice
2009-03-02 17:39:43 +00:00
Cole Robinson
adecc8fc9e
Remove redundant monitor watch variable (s/monitor_watch/monitorWatch/)
2009-03-02 17:33:39 +00:00
Daniel Veillard
34d23b0b01
* src/qemu_driver.c: add qemu dettach/reattach/reset implementation
...
patch by Mark McLoughlin.
Daniel
2009-03-02 16:32:52 +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
Chris Lalancette
014bb5cf7e
If there is a failure during Qemu offline migrate, make sure to resume the
...
guest.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
2009-02-27 16:18:50 +00:00
Guido Günther
4cbe86fcb8
(s)size_t type cleanup
2009-02-19 08:18:31 +00:00
Cole Robinson
7e8ad2036a
Remove the _actually_ incorrect ATTRIBUTE_UNUSED (Patch by Maximilian Wilhelm)
2009-02-18 01:37:47 +00:00
Cole Robinson
cf47347312
Remove incorrect ATTRIBUTE_UNUSED usage.
2009-02-17 14:38:22 +00:00
Guido Günther
6efe591e66
usleep to wait for domain logfile to fill up
2009-02-13 11:35:16 +00:00
Guido Günther
e9c920ba67
fix return status when domain didn't show up
2009-02-11 20:33:11 +00:00
Guido Günther
0437e75291
Don't ignore errors to save domain status
2009-02-07 21:36:06 +00:00
Jim Meyering
dcfa920aff
use virReportOOMError rather than more verbose equivalent
...
* src/qemu_driver.c (qemudDomainSave, qemudDomainRestore)
(qemudDomainAttachPciDiskDevice)
(qemudDomainAttachUsbMassstorageDevice):
2009-02-05 16:27:40 +00:00
Jim Meyering
e60430be53
qemu_driver.c: s/strerror/virStrerror.../
...
Perform most changs automatically, with this:
perl -pi -e 's/\bstrerror *\((.+?)\)/virStrerror($1, ebuf, sizeof ebuf)/'
Then, declare ebuf, as needed
2009-02-05 16:27:28 +00:00
Jim Meyering
b0d49913d5
remove duplicate *SetCloseExec and *SetNonBlock functions
...
* src/qemu_driver.c: Use virSetCloseExec and virSetNonBlock,
rather than qemuSet* functions. Suggested by Daniel P. Berrange.
* src/util.c (virSetCloseExec): Publicize.
* src/util.h (virSetCloseExec): Declare
* src/libvirt_private.syms: Add virSetCloseExec.
2009-02-05 16:27:17 +00:00
Jim Meyering
caea9c00e3
qemu_driver.c: use virReportSystemError in place of some qemudLog uses
...
...thus eliminating many uses of strerror.
(kvmGetMaxVCPUs): Rather than merely warning, diagnose an error
and return -1 upon failure to open KVM_DEVICE. Suggested by
Daniel P. Berrange.
2009-02-05 16:11:25 +00:00
Jim Meyering
6778ad0f07
avoid a format-related warning
...
* src/qemu_driver.c (qemudStartVMDaemon): Use "%s".
2009-02-03 13:09:18 +00:00
Daniel P. Berrange
896761e5c7
Fix numerous bugs in QEMU domain startup
2009-01-30 17:07:29 +00:00
Daniel P. Berrange
3801794908
Support VNC password setting in QEMU driver
2009-01-29 17:50:00 +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
1b745219c7
Remove use of non-reentrant POSIX apis
2009-01-22 19:41:48 +00:00
Daniel P. Berrange
437ac354fc
Make error reporting threadsafe by avoiding strerror
2009-01-20 17:13:33 +00:00
Daniel Veillard
25415eb104
* src/qemu_driver.c: remove a warning when printing a file offset
...
daniel
2009-01-20 16:39:35 +00:00
Daniel Veillard
6d004d3f8a
* src/domain_conf.h src/qemu_driver.c: use monitor fd for QEmu/KVM
...
domain shutdown and read saved vm status on libvirtd startup,
last 2 patches from Guido Günther finishing up the surviving the
libvirt daemon restart
daniel
2009-01-20 15:52:11 +00:00
Guido Günther
8dfbfe3145
daemonize qemu processes
2009-01-19 21:55:54 +00:00
Daniel P. Berrange
4dac0a1105
Generic internal threads API
2009-01-15 19:56:05 +00:00
Guido Günther
8af87ea251
don't emulate snprintf
2009-01-11 11:21:29 +00:00
Guido Günther
4275be68fb
split out opening of the qemu logfile
2009-01-11 11:18:31 +00:00
Guido Günther
46971d5ed7
pass flags argument to all virDomain*DefParse* functions
2009-01-08 13:54:20 +00:00
Daniel Veillard
fbba4423e9
* src/libvirt_private.syms src/qemu_driver.c src/test.c
...
src/uml_driver.c src/util.c src/util.h src/xen_unified.c:
unify hostname lookup using virGetHostname convenience function,
patch by David Lutterkort
daniel
2009-01-07 10:43:16 +00:00
Guido Günther
ffafc252dd
trivial cleanups
2009-01-06 17:20:27 +00:00
Guido Günther
043d702f02
use virAsprintf instead of asprintf
2008-12-23 13:03:29 +00:00
Guido Günther
5614e868e1
save and remove kvm/qemu domain status
2008-12-20 13:17:49 +00:00
Guido Günther
ecd25f5262
fix device hotplug
2008-12-18 16:49:49 +00:00
Guido Günther
830ba76c3e
let qemu/kvm instances write a pid file
2008-12-18 15:22:49 +00:00
Daniel P. Berrange
b5259e7e11
Fix domain events callback type (John Levon)
2008-12-17 21:48:20 +00:00
Daniel P. Berrange
7e58aaa7ae
Remove use of anonymous unions for non-GCC (John Levon)
2008-12-17 18:12:07 +00:00
Cole Robinson
0e459cbdfb
Sanitize qemu monitor reads.
2008-12-16 22:34:13 +00:00
Guido Günther
54f4ed6ba1
logrotate qemu monitor logs
2008-12-09 20:22:39 +00:00
Daniel P. Berrange
abb02bd18b
Fix autostart of domains with virtual networks used
2008-12-08 11:18:47 +00:00
Daniel P. Berrange
491b4eab14
Remove unused driver arg from monitor APIs
2008-12-04 22:19:30 +00:00
Daniel P. Berrange
bc898df2c7
QEMU domain event thread safety
2008-12-04 21:09:20 +00:00
Daniel P. Berrange
3527f16a94
Add locking for (nearly complete) thread safety to QEMU driver
2008-12-04 21:06:41 +00:00
Daniel P. Berrange
ea960fb719
Merge all return paths from QEMU driver APIs
2008-12-04 21:04:30 +00:00
Cole Robinson
b9b9c8b020
Increase timeout for initial monitor poll, to prevent a guest from failing to start if it has to wait for a physical cdrom to spin up.
2008-12-04 14:47:12 +00:00
Guido Günther
38b402ce13
also look for /usb/bin/kvm
2008-12-04 10:45:31 +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
c23ff311fc
Fix libnuma use to build with v1 compatability code
2008-11-28 11:20:27 +00:00
Daniel P. Berrange
2c855c1c66
Optional dlopen support for drivers
2008-11-21 12:16:08 +00:00
Daniel P. Berrange
41f14d6ea5
Fix crash due to failure to unregister event callbacks in QEMU driver (David Lively)
2008-11-21 10:17:22 +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
3d41e86534
Add a virFreeCallback to virDomainEventRegister (from David Lively)
2008-11-19 15:25:24 +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
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
Jim Meyering
94359e16d3
avoid format string warnings
...
* src/openvz_driver.c (ADD_ARG_LIT): Add "%s" arg before _(...).
* src/qemu_driver.c (PCI_ATTACH_OK_MSG): Likewise.
* src/util.c (virExec, virRun): Likewise.
2008-11-14 14:19:37 +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 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
Jim Meyering
7271a92bec
plug two leaks and fix a diagnostic
...
* src/qemu_conf.c (qemudLoadDriverConfig): Don't leak ->vncListen.
Fix an erroneous copy-and-pasted diagnostic.
* src/qemu_driver.c (qemudShutdown): Don't leak another ->vncListen.
2008-11-05 14:24:21 +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