Compare commits
43 Commits
libvirt-0_
...
F-8-split
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b395a39f7b | ||
|
|
fdd7e87fe3 | ||
|
|
f06c387ab5 | ||
|
|
5ad8bc8190 | ||
|
|
31802de821 | ||
|
|
cc39758e17 | ||
|
|
55fabd69c0 | ||
|
|
b2a1a0e9ba | ||
|
|
cbe377ed29 | ||
|
|
06a21e388f | ||
|
|
d1a886ab31 | ||
|
|
c70baa5133 | ||
|
|
52b4d91272 | ||
|
|
338630edc8 | ||
|
|
a05e64b718 | ||
|
|
c003690dfc | ||
|
|
2cac8ea133 | ||
|
|
deefad73a9 | ||
|
|
f6cef943a9 | ||
|
|
7a6f0752c1 | ||
|
|
36d558635e | ||
|
|
98bceee6b1 | ||
|
|
4e70e5049f | ||
|
|
e66ceb7f97 | ||
|
|
23d5b99123 | ||
|
|
df8a62cdc8 | ||
|
|
8e36286f00 | ||
|
|
cd0f44cfff | ||
|
|
dcd808aefc | ||
|
|
8713d4b7ef | ||
|
|
68efefa919 | ||
|
|
1c5afbb774 | ||
|
|
e61694fd1d | ||
|
|
608f915ea7 | ||
|
|
b28edd6eab | ||
|
|
327fe785ba | ||
|
|
5c1d884231 | ||
|
|
54c7c9997c | ||
|
|
dec47cc4eb | ||
|
|
ecaf0eb615 | ||
|
|
ea6b32b5e4 | ||
|
|
313e00f3ac | ||
|
|
b3a53e18a9 |
15
.cvsignore
15
.cvsignore
@@ -7,3 +7,18 @@ libvirt-0.1.2.tar.gz
|
|||||||
libvirt-0.1.1.tar.gz
|
libvirt-0.1.1.tar.gz
|
||||||
libvirt-0.1.3.tar.gz
|
libvirt-0.1.3.tar.gz
|
||||||
libvirt-0.1.4.tar.gz
|
libvirt-0.1.4.tar.gz
|
||||||
|
libvirt-0.1.5.tar.gz
|
||||||
|
libvirt-0.1.6.tar.gz
|
||||||
|
libvirt-0.1.7.tar.gz
|
||||||
|
libvirt-0.1.8.tar.gz
|
||||||
|
libvirt-0.1.9.tar.gz
|
||||||
|
libvirt-0.1.10.tar.gz
|
||||||
|
libvirt-0.1.11.tar.gz
|
||||||
|
libvirt-0.2.0.tar.gz
|
||||||
|
libvirt-0.2.1.tar.gz
|
||||||
|
libvirt-0.2.2.tar.gz
|
||||||
|
libvirt-0.2.3.tar.gz
|
||||||
|
libvirt-0.3.0.tar.gz
|
||||||
|
libvirt-0.3.1.tar.gz
|
||||||
|
libvirt-0.3.2.tar.gz
|
||||||
|
libvirt-0.3.3.tar.gz
|
||||||
|
|||||||
17
Makefile
17
Makefile
@@ -3,4 +3,19 @@
|
|||||||
NAME := libvirt
|
NAME := libvirt
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
SPECFILE = $(firstword $(wildcard *.spec))
|
||||||
|
|
||||||
include ../common/Makefile.common
|
define find-makefile-common
|
||||||
|
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||||
|
endef
|
||||||
|
|
||||||
|
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||||
|
|
||||||
|
ifeq ($(MAKEFILE_COMMON),)
|
||||||
|
# attempt a checkout
|
||||||
|
define checkout-makefile-common
|
||||||
|
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||||
|
endef
|
||||||
|
|
||||||
|
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(MAKEFILE_COMMON)
|
||||||
|
|||||||
207
libvirt-0.3.3-example-config.patch
Normal file
207
libvirt-0.3.3-example-config.patch
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
changeset: 1147:7481eafdde8d
|
||||||
|
user: berrange
|
||||||
|
date: Fri Oct 12 18:54:15 2007 +0000
|
||||||
|
files: libvirt.spec.in qemud/Makefile.am qemud/libvirtd.conf src/Makefile.am src/qemu.conf
|
||||||
|
description:
|
||||||
|
Added default example configs for libvirtd/qemu driver
|
||||||
|
|
||||||
|
|
||||||
|
diff -r c48e81e685a3 -r 7481eafdde8d qemud/libvirtd.conf
|
||||||
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||||
|
+++ b/qemud/libvirtd.conf Fri Oct 12 18:54:15 2007 +0000
|
||||||
|
@@ -0,0 +1,141 @@
|
||||||
|
+# Master libvirt daemon configuration file
|
||||||
|
+#
|
||||||
|
+# For further information consult http://libvirt.org/format.html
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Flag listening for secure TLS connections on the public TCP/IP port.
|
||||||
|
+# NB, must pass the --listen flag to the libvirtd process for this to
|
||||||
|
+# have any effect.
|
||||||
|
+#
|
||||||
|
+# It is neccessary to setup a CA and issue server certificates before
|
||||||
|
+# using this capability.
|
||||||
|
+#
|
||||||
|
+# This is enabled by default, uncomment this to disable it
|
||||||
|
+# listen_tls = 0
|
||||||
|
+
|
||||||
|
+# Listen for unencrypted TCP connections on the public TCP/IP port.
|
||||||
|
+# NB, must pass the --listen flag to the libvirtd process for this to
|
||||||
|
+# have any effect.
|
||||||
|
+#
|
||||||
|
+# NB, this is insecure. Do not use except for development.
|
||||||
|
+#
|
||||||
|
+# This is disabled by default, uncomment this to enable it.
|
||||||
|
+# listen_tcp = 1
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Override the port for accepting secure TLS connections
|
||||||
|
+# This can be a port number, or service name
|
||||||
|
+#
|
||||||
|
+# tls_port = "16514"
|
||||||
|
+
|
||||||
|
+# Override the port for accepting insecure TCP connections
|
||||||
|
+# This can be a port number, or service name
|
||||||
|
+#
|
||||||
|
+# tcp_port = "16509"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Flag toggling mDNS advertizement of the libvirt service.
|
||||||
|
+#
|
||||||
|
+# Alternatively can disable for all services on a host by
|
||||||
|
+# stopping the Avahi daemon
|
||||||
|
+#
|
||||||
|
+# This is enabled by default, uncomment this to disable it
|
||||||
|
+# mdns_adv = 0
|
||||||
|
+
|
||||||
|
+# Override the default mDNS advertizement name. This must be
|
||||||
|
+# unique on the immediate broadcast network.
|
||||||
|
+#
|
||||||
|
+# The default is "Virtualization Host HOSTNAME", where HOSTNAME
|
||||||
|
+# is subsituted for the short hostname of the machine (without domain)
|
||||||
|
+#
|
||||||
|
+# mdns_name "Virtualization Host Joe Demo"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Set the UNIX domain socket group ownership. This can be used to
|
||||||
|
+# allow a 'trusted' set of users access to management capabilities
|
||||||
|
+# without becoming root.
|
||||||
|
+#
|
||||||
|
+# This is restricted to 'root' by default.
|
||||||
|
+# unix_sock_group "libvirt"
|
||||||
|
+
|
||||||
|
+# Set the UNIX socket permissions for the R/O socket. This is used
|
||||||
|
+# for monitoring VM status only
|
||||||
|
+#
|
||||||
|
+# Default allows any user. If setting group ownership may want to
|
||||||
|
+# restrict this to:
|
||||||
|
+# unix_sock_ro_perms "0777"
|
||||||
|
+
|
||||||
|
+# Set the UNIX socket permissions for the R/W socket. This is used
|
||||||
|
+# for full management of VMs
|
||||||
|
+#
|
||||||
|
+# Default allows only root. If setting group ownership may want to
|
||||||
|
+# relax this to:
|
||||||
|
+# unix_sock_rw_perms "octal-perms" "0770"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Flag to disable verification of client certificates
|
||||||
|
+#
|
||||||
|
+# Client certificate verification is the primary authentication mechanism.
|
||||||
|
+# Any client which does not present a certificate signed by the CA
|
||||||
|
+# will be rejected.
|
||||||
|
+#
|
||||||
|
+# Default is to always verify. Uncommenting this will disable
|
||||||
|
+# verification - make sure an IP whitelist is set
|
||||||
|
+# tls_no_verify_certificate 1
|
||||||
|
+
|
||||||
|
+# Flag to disable verification of client IP address
|
||||||
|
+#
|
||||||
|
+# Client IP address will be verified against the CommonName field
|
||||||
|
+# of the x509 certificate. This has minimal security benefit since
|
||||||
|
+# it is easy to spoof source IP.
|
||||||
|
+#
|
||||||
|
+# Uncommenting this will disable verification
|
||||||
|
+# tls_no_verify_address 1
|
||||||
|
+
|
||||||
|
+# Override the default server key file path
|
||||||
|
+#
|
||||||
|
+# key_file "/etc/pki/libvirt/private/serverkey.pem"
|
||||||
|
+
|
||||||
|
+# Override the default server certificate file path
|
||||||
|
+#
|
||||||
|
+# cert_file "/etc/pki/libvirt/servercert.pem"
|
||||||
|
+
|
||||||
|
+# Override the default CA certificate path
|
||||||
|
+#
|
||||||
|
+# ca_file "/etc/pki/CA/cacert.pem"
|
||||||
|
+
|
||||||
|
+# Specify a certificate revocation list.
|
||||||
|
+#
|
||||||
|
+# Defaults to not using a CRL, uncomment to enable it
|
||||||
|
+# crl_file "/etc/pki/CA/crl.pem"
|
||||||
|
+
|
||||||
|
+# A whitelist of allowed x509 Distinguished Names
|
||||||
|
+# This list may contain wildcards such as
|
||||||
|
+#
|
||||||
|
+# "C=GB,ST=London,L=London,O=Red Hat,CN=*"
|
||||||
|
+#
|
||||||
|
+# See the POSIX fnmatch function for the format of the wildcards.
|
||||||
|
+#
|
||||||
|
+# NB If this is an empty list, no client can connect, so comment out
|
||||||
|
+# entirely rather than using empty list to disable these checks
|
||||||
|
+#
|
||||||
|
+# By default, no DN's are checked
|
||||||
|
+# tls_allowed_dn_list ["DN1", "DN2"]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# A whitelist of allowed client IP addresses
|
||||||
|
+#
|
||||||
|
+# This list may contain wildcards such as 192.168.* See the POSIX fnmatch
|
||||||
|
+# function for the format of the wildcards.
|
||||||
|
+#
|
||||||
|
+# NB If this is an empty list, no client can connect, so comment out
|
||||||
|
+# entirely rather than using empty list to disable these checks
|
||||||
|
+#
|
||||||
|
+# By default, no IP's are checked. This can be IPv4 or IPv6 addresses
|
||||||
|
+# tls_allowed_ip_list ["ip1", "ip2", "ip3"]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
diff -r c48e81e685a3 -r 7481eafdde8d src/qemu.conf
|
||||||
|
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
|
||||||
|
+++ b/src/qemu.conf Fri Oct 12 18:54:15 2007 +0000
|
||||||
|
@@ -0,0 +1,49 @@
|
||||||
|
+# Master configuration file for the QEMU driver.
|
||||||
|
+# All settings described here are optional - if omitted, sensible
|
||||||
|
+# defaults are used.
|
||||||
|
+
|
||||||
|
+# VNC is configured to listen on 127.0.0.1 by default.
|
||||||
|
+# To make it listen on all public interfaces, uncomment
|
||||||
|
+# this next option.
|
||||||
|
+#
|
||||||
|
+# NB, strong recommendation to enable TLS + x509 certificate
|
||||||
|
+# verification when allowing public access
|
||||||
|
+#
|
||||||
|
+# vnc_listen = "0.0.0.0"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Enable use of TLS encryption on the VNC server. This requires
|
||||||
|
+# a VNC client which supports the VeNCrypt protocol extension.
|
||||||
|
+# Examples include vinagre, virt-viewer, virt-manager and vencrypt
|
||||||
|
+# itself. UltraVNC, RealVNC, TightVNC do not support this
|
||||||
|
+#
|
||||||
|
+# It is neccessary to setup CA and issue a server certificate
|
||||||
|
+# before enabling this.
|
||||||
|
+#
|
||||||
|
+# vnc_tls = 1
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# Use of TLS requires that x509 certificates be issued. The
|
||||||
|
+# default it to keep them in /etc/pki/libvirt-vnc. This directory
|
||||||
|
+# must contain
|
||||||
|
+#
|
||||||
|
+# ca-cert.pem - the CA master certificate
|
||||||
|
+# server-cert.pem - the server certificate signed with ca-cert.pem
|
||||||
|
+# server-key.pem - the server private key
|
||||||
|
+#
|
||||||
|
+# This option allows the certificate directory to be changed
|
||||||
|
+#
|
||||||
|
+# vnc_tls_x509_cert_dir = "/etc/pki/libvirt-vnc"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# The default TLS configuration only uses certificates for the server
|
||||||
|
+# allowing the client to verify the server's identity and establish
|
||||||
|
+# and encrypted channel.
|
||||||
|
+#
|
||||||
|
+# It is possible to use x509 certificates for authentication too, by
|
||||||
|
+# issuing a x509 certificate to every client who needs to connect.
|
||||||
|
+#
|
||||||
|
+# Enabling this option will reject any client who does not have a
|
||||||
|
+# certificate signed by the CA in /etc/pki/libvirt-vnc/ca-cert.pem
|
||||||
|
+#
|
||||||
|
+# vnc_tls_x509_verify = 1
|
||||||
|
|
||||||
230
libvirt-0.3.3-qemu-config.patch
Normal file
230
libvirt-0.3.3-qemu-config.patch
Normal file
@@ -0,0 +1,230 @@
|
|||||||
|
changeset: 1146:c48e81e685a3
|
||||||
|
user: berrange
|
||||||
|
date: Fri Oct 12 15:05:44 2007 +0000
|
||||||
|
files: ChangeLog src/qemu_conf.c src/qemu_conf.h src/qemu_driver.c
|
||||||
|
description:
|
||||||
|
Added QEMU driver config file
|
||||||
|
|
||||||
|
|
||||||
|
diff -r 522efe7f7e8f -r c48e81e685a3 src/qemu_conf.c
|
||||||
|
--- a/src/qemu_conf.c Wed Oct 10 18:46:17 2007 +0000
|
||||||
|
+++ b/src/qemu_conf.c Fri Oct 12 15:05:44 2007 +0000
|
||||||
|
@@ -45,6 +45,7 @@
|
||||||
|
#include "qemu_conf.h"
|
||||||
|
#include "uuid.h"
|
||||||
|
#include "buf.h"
|
||||||
|
+#include "conf.h"
|
||||||
|
|
||||||
|
#define qemudLog(level, msg...) fprintf(stderr, msg)
|
||||||
|
|
||||||
|
@@ -65,6 +66,68 @@ void qemudReportError(virConnectPtr conn
|
||||||
|
__virRaiseError(conn, dom, net, VIR_FROM_QEMU, code, VIR_ERR_ERROR,
|
||||||
|
NULL, NULL, NULL, -1, -1, errorMessage);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+int qemudLoadDriverConfig(struct qemud_driver *driver,
|
||||||
|
+ const char *filename) {
|
||||||
|
+ virConfPtr conf;
|
||||||
|
+ virConfValuePtr p;
|
||||||
|
+
|
||||||
|
+ /* Setup 2 critical defaults */
|
||||||
|
+ strcpy(driver->vncListen, "127.0.0.1");
|
||||||
|
+ if (!(driver->vncTLSx509certdir = strdup(SYSCONF_DIR "/pki/libvirt-vnc"))) {
|
||||||
|
+ qemudReportError(NULL, NULL, NULL, VIR_ERR_NO_MEMORY,
|
||||||
|
+ "vncTLSx509certdir");
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* Just check the file is readable before opening it, otherwise
|
||||||
|
+ * libvirt emits an error.
|
||||||
|
+ */
|
||||||
|
+ if (access (filename, R_OK) == -1) return 0;
|
||||||
|
+
|
||||||
|
+ conf = virConfReadFile (filename);
|
||||||
|
+ if (!conf) return 0;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+#define CHECK_TYPE(name,typ) if (p && p->type != (typ)) { \
|
||||||
|
+ qemudReportError(NULL, NULL, NULL, VIR_ERR_INTERNAL_ERROR, \
|
||||||
|
+ "remoteReadConfigFile: %s: %s: expected type " #typ "\n", \
|
||||||
|
+ filename, (name)); \
|
||||||
|
+ virConfFree(conf); \
|
||||||
|
+ return -1; \
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ p = virConfGetValue (conf, "vnc_tls");
|
||||||
|
+ CHECK_TYPE ("vnc_tls", VIR_CONF_LONG);
|
||||||
|
+ if (p) driver->vncTLS = p->l;
|
||||||
|
+
|
||||||
|
+ p = virConfGetValue (conf, "vnc_tls_x509_verify");
|
||||||
|
+ CHECK_TYPE ("vnc_tls_x509_verify", VIR_CONF_LONG);
|
||||||
|
+ if (p) driver->vncTLSx509verify = p->l;
|
||||||
|
+
|
||||||
|
+ p = virConfGetValue (conf, "vnc_tls_x509_cert_dir");
|
||||||
|
+ CHECK_TYPE ("vnc_tls_x509_cert_dir", VIR_CONF_STRING);
|
||||||
|
+ if (p && p->str) {
|
||||||
|
+ free(driver->vncTLSx509certdir);
|
||||||
|
+ if (!(driver->vncTLSx509certdir = strdup(p->str))) {
|
||||||
|
+ qemudReportError(NULL, NULL, NULL, VIR_ERR_NO_MEMORY,
|
||||||
|
+ "vncTLSx509certdir");
|
||||||
|
+ virConfFree(conf);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ p = virConfGetValue (conf, "vnc_listen");
|
||||||
|
+ CHECK_TYPE ("vnc_listen", VIR_CONF_STRING);
|
||||||
|
+ if (p && p->str) {
|
||||||
|
+ strncpy(driver->vncListen, p->str, sizeof(driver->vncListen));
|
||||||
|
+ driver->vncListen[sizeof(driver->vncListen)-1] = '\0';
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ virConfFree (conf);
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
|
||||||
|
struct qemud_vm *qemudFindVMByID(const struct qemud_driver *driver, int id) {
|
||||||
|
struct qemud_vm *vm = driver->vms;
|
||||||
|
@@ -1234,7 +1297,7 @@ static struct qemud_vm_def *qemudParseXM
|
||||||
|
if (vnclisten && *vnclisten)
|
||||||
|
strncpy(def->vncListen, (char *)vnclisten, BR_INET_ADDR_MAXLEN-1);
|
||||||
|
else
|
||||||
|
- strcpy(def->vncListen, "127.0.0.1");
|
||||||
|
+ strcpy(def->vncListen, driver->vncListen);
|
||||||
|
def->vncListen[BR_INET_ADDR_MAXLEN-1] = '\0';
|
||||||
|
xmlFree(vncport);
|
||||||
|
xmlFree(vnclisten);
|
||||||
|
@@ -1750,15 +1813,30 @@ int qemudBuildCommandLine(virConnectPtr
|
||||||
|
}
|
||||||
|
|
||||||
|
if (vm->def->graphicsType == QEMUD_GRAPHICS_VNC) {
|
||||||
|
- char vncdisplay[BR_INET_ADDR_MAXLEN+20];
|
||||||
|
+ char vncdisplay[PATH_MAX];
|
||||||
|
int ret;
|
||||||
|
- if (vm->qemuCmdFlags & QEMUD_CMD_FLAG_VNC_COLON)
|
||||||
|
- ret = snprintf(vncdisplay, sizeof(vncdisplay), "%s:%d",
|
||||||
|
+
|
||||||
|
+ if (vm->qemuCmdFlags & QEMUD_CMD_FLAG_VNC_COLON) {
|
||||||
|
+ char options[PATH_MAX] = "";
|
||||||
|
+ if (driver->vncTLS) {
|
||||||
|
+ strcat(options, ",tls");
|
||||||
|
+ if (driver->vncTLSx509verify) {
|
||||||
|
+ strcat(options, ",x509verify=");
|
||||||
|
+ } else {
|
||||||
|
+ strcat(options, ",x509=");
|
||||||
|
+ }
|
||||||
|
+ strncat(options, driver->vncTLSx509certdir,
|
||||||
|
+ sizeof(options) - (strlen(driver->vncTLSx509certdir)-1));
|
||||||
|
+ options[sizeof(options)-1] = '\0';
|
||||||
|
+ }
|
||||||
|
+ ret = snprintf(vncdisplay, sizeof(vncdisplay), "%s:%d%s",
|
||||||
|
vm->def->vncListen,
|
||||||
|
- vm->def->vncActivePort - 5900);
|
||||||
|
- else
|
||||||
|
+ vm->def->vncActivePort - 5900,
|
||||||
|
+ options);
|
||||||
|
+ } else {
|
||||||
|
ret = snprintf(vncdisplay, sizeof(vncdisplay), "%d",
|
||||||
|
vm->def->vncActivePort - 5900);
|
||||||
|
+ }
|
||||||
|
if (ret < 0 || ret >= (int)sizeof(vncdisplay))
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
diff -r 522efe7f7e8f -r c48e81e685a3 src/qemu_conf.h
|
||||||
|
--- a/src/qemu_conf.h Wed Oct 10 18:46:17 2007 +0000
|
||||||
|
+++ b/src/qemu_conf.h Fri Oct 12 15:05:44 2007 +0000
|
||||||
|
@@ -289,6 +289,10 @@ struct qemud_driver {
|
||||||
|
char *networkConfigDir;
|
||||||
|
char *networkAutostartDir;
|
||||||
|
char logDir[PATH_MAX];
|
||||||
|
+ int vncTLS : 1;
|
||||||
|
+ int vncTLSx509verify : 1;
|
||||||
|
+ char *vncTLSx509certdir;
|
||||||
|
+ char vncListen[BR_INET_ADDR_MAXLEN];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -311,6 +315,8 @@ void qemudReportError(virConnectPtr conn
|
||||||
|
ATTRIBUTE_FORMAT(printf,5,6);
|
||||||
|
|
||||||
|
|
||||||
|
+int qemudLoadDriverConfig(struct qemud_driver *driver,
|
||||||
|
+ const char *filename);
|
||||||
|
|
||||||
|
struct qemud_vm *qemudFindVMByID(const struct qemud_driver *driver,
|
||||||
|
int id);
|
||||||
|
diff -r 522efe7f7e8f -r c48e81e685a3 src/qemu_driver.c
|
||||||
|
--- a/src/qemu_driver.c Wed Oct 10 18:46:17 2007 +0000
|
||||||
|
+++ b/src/qemu_driver.c Fri Oct 12 15:05:44 2007 +0000
|
||||||
|
@@ -155,6 +155,7 @@ qemudStartup(void) {
|
||||||
|
uid_t uid = geteuid();
|
||||||
|
struct passwd *pw;
|
||||||
|
char *base = NULL;
|
||||||
|
+ char driverConf[PATH_MAX];
|
||||||
|
|
||||||
|
if (!(qemu_driver = calloc(1, sizeof(struct qemud_driver)))) {
|
||||||
|
return -1;
|
||||||
|
@@ -167,7 +168,7 @@ qemudStartup(void) {
|
||||||
|
if (snprintf(qemu_driver->logDir, PATH_MAX, "%s/log/libvirt/qemu", LOCAL_STATE_DIR) >= PATH_MAX)
|
||||||
|
goto snprintf_error;
|
||||||
|
|
||||||
|
- if ((base = strdup (SYSCONF_DIR "/libvirt/qemu")) == NULL)
|
||||||
|
+ if ((base = strdup (SYSCONF_DIR "/libvirt")) == NULL)
|
||||||
|
goto out_of_memory;
|
||||||
|
} else {
|
||||||
|
if (!(pw = getpwuid(uid))) {
|
||||||
|
@@ -179,7 +180,7 @@ qemudStartup(void) {
|
||||||
|
if (snprintf(qemu_driver->logDir, PATH_MAX, "%s/.libvirt/qemu/log", pw->pw_dir) >= PATH_MAX)
|
||||||
|
goto snprintf_error;
|
||||||
|
|
||||||
|
- if (asprintf (&base, "%s/.libvirt/qemu", pw->pw_dir) == -1) {
|
||||||
|
+ if (asprintf (&base, "%s/.libvirt", pw->pw_dir) == -1) {
|
||||||
|
qemudLog (QEMUD_ERR, "out of memory in asprintf");
|
||||||
|
goto out_of_memory;
|
||||||
|
}
|
||||||
|
@@ -188,24 +189,36 @@ qemudStartup(void) {
|
||||||
|
/* Configuration paths are either ~/.libvirt/qemu/... (session) or
|
||||||
|
* /etc/libvirt/qemu/... (system).
|
||||||
|
*/
|
||||||
|
- if (asprintf (&qemu_driver->configDir, "%s", base) == -1)
|
||||||
|
+ if (snprintf (driverConf, sizeof(driverConf), "%s/qemu.conf", base) == -1)
|
||||||
|
goto out_of_memory;
|
||||||
|
-
|
||||||
|
- if (asprintf (&qemu_driver->autostartDir, "%s/autostart", base) == -1)
|
||||||
|
+ driverConf[sizeof(driverConf)-1] = '\0';
|
||||||
|
+
|
||||||
|
+ if (asprintf (&qemu_driver->configDir, "%s/qemu", base) == -1)
|
||||||
|
goto out_of_memory;
|
||||||
|
|
||||||
|
- if (asprintf (&qemu_driver->networkConfigDir, "%s/networks", base) == -1)
|
||||||
|
+ if (asprintf (&qemu_driver->autostartDir, "%s/qemu/autostart", base) == -1)
|
||||||
|
goto out_of_memory;
|
||||||
|
|
||||||
|
- if (asprintf (&qemu_driver->networkAutostartDir, "%s/networks/autostart",
|
||||||
|
+ if (asprintf (&qemu_driver->networkConfigDir, "%s/qemu/networks", base) == -1)
|
||||||
|
+ goto out_of_memory;
|
||||||
|
+
|
||||||
|
+ if (asprintf (&qemu_driver->networkAutostartDir, "%s/qemu/networks/autostart",
|
||||||
|
base) == -1)
|
||||||
|
goto out_of_memory;
|
||||||
|
|
||||||
|
- if (qemudScanConfigs(qemu_driver) < 0)
|
||||||
|
+ free(base);
|
||||||
|
+
|
||||||
|
+ if (qemudLoadDriverConfig(qemu_driver, driverConf) < 0) {
|
||||||
|
qemudShutdown();
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (qemudScanConfigs(qemu_driver) < 0) {
|
||||||
|
+ qemudShutdown();
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
qemudAutostartConfigs(qemu_driver);
|
||||||
|
|
||||||
|
- free(base);
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
snprintf_error:
|
||||||
|
|
||||||
278
libvirt.spec
278
libvirt.spec
@@ -1,72 +1,116 @@
|
|||||||
Summary: Library providing an API to use the Xen virtualization
|
# -*- rpm-spec -*-
|
||||||
|
|
||||||
|
Summary: Library providing a simple API virtualization
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Version: 0.1.4
|
Version: 0.3.3
|
||||||
Release: 4
|
Release: 2%{?dist}%{?extra_release}
|
||||||
License: LGPL
|
License: LGPL
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Source: libvirt-%{version}.tar.gz
|
Source: libvirt-%{version}.tar.gz
|
||||||
|
Patch1: %{name}-%{version}-qemu-config.patch
|
||||||
|
# NB, when removing this patch on next release, also remove the manual
|
||||||
|
# config file copy in the install section of this spec file
|
||||||
|
Patch2: %{name}-%{version}-example-config.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||||
URL: http://libvir.org/
|
URL: http://libvirt.org/
|
||||||
BuildRequires: python python-devel
|
BuildRequires: python python-devel
|
||||||
Requires: xen
|
|
||||||
Requires: libxml2
|
Requires: libxml2
|
||||||
Requires: readline
|
Requires: readline
|
||||||
Requires: ncurses
|
Requires: ncurses
|
||||||
BuildRequires: xen-devel >= 3.0.2-23
|
Requires: dnsmasq
|
||||||
|
Requires: bridge-utils
|
||||||
|
Requires: iptables
|
||||||
|
|
||||||
|
%ifarch i386 x86_64 ia64
|
||||||
|
BuildRequires: xen-devel
|
||||||
|
%endif
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
|
BuildRequires: gettext
|
||||||
|
BuildRequires: gnutls-devel
|
||||||
|
BuildRequires: avahi-devel
|
||||||
|
BuildRequires: dnsmasq
|
||||||
|
BuildRequires: bridge-utils
|
||||||
Obsoletes: libvir
|
Obsoletes: libvir
|
||||||
ExclusiveArch: i386 x86_64
|
|
||||||
Patch0: uuid_parse.patch
|
# Fedora build root suckage
|
||||||
Patch1: network.patch
|
BuildRequires: gawk
|
||||||
Patch2: libvirt-pvfb.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This C library provides an API to use the Xen virtualization framework,
|
Libvirt is a C toolkit to interract with the virtualization capabilities
|
||||||
and the virsh command line tool to control virtual domains.
|
of recent versions of Linux (and other OSes).
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Libraries, includes, etc. to compile with the libvirt library
|
Summary: Libraries, includes, etc. to compile with the libvirt library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: libvirt = %{version}
|
Requires: libvirt = %{version}
|
||||||
|
Requires: pkgconfig
|
||||||
|
%ifarch i386 x86_64 ia64
|
||||||
|
Requires: xen-devel
|
||||||
|
%endif
|
||||||
|
Requires: gnutls-devel
|
||||||
Obsoletes: libvir-devel
|
Obsoletes: libvir-devel
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Includes and documentations for the C library providing an API to use
|
Includes and documentations for the C library providing an API to use
|
||||||
the Xen virtualization framework
|
the virtualization capabilities of recent versions of Linux (and other OSes).
|
||||||
|
|
||||||
%package python
|
%package python
|
||||||
Summary: Python bindings for the libvirt library
|
Summary: Python bindings for the libvirt library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: libvirt = %{version}
|
Requires: libvirt = %{version}
|
||||||
Obsoletes: libvir-python
|
Obsoletes: libvir-python
|
||||||
Requires: %{_libdir}/python%(echo `python -c "import sys; print sys.version[0:3]"`)
|
|
||||||
|
|
||||||
%description python
|
%description python
|
||||||
The libvirt-python package contains a module that permits applications
|
The libvirt-python package contains a module that permits applications
|
||||||
written in the Python programming language to use the interface
|
written in the Python programming language to use the interface
|
||||||
supplied by the libvirt library to use the Xen virtualization framework.
|
supplied by the libvirt library to use the the virtualization capabilities
|
||||||
|
of recent versions of Linux (and other OSes).
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0
|
%patch1 -p1
|
||||||
%patch1
|
%patch2 -p1
|
||||||
%patch2
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
# Xen is availble only on i386 x86_64 ia64
|
||||||
|
%ifarch i386 i686 x86_64 ia64
|
||||||
|
%configure --with-init-script=redhat --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid --with-remote-file=%{_localstatedir}/run/libvirtd.pid
|
||||||
|
%else
|
||||||
|
%configure --without-xen --with-init-script=redhat --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid --with-remote-file=%{_localstatedir}/run/libvirtd.pid
|
||||||
|
%endif
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -fr %{buildroot}
|
rm -fr %{buildroot}
|
||||||
|
|
||||||
%makeinstall
|
%makeinstall
|
||||||
(cd docs/examples ; make clean ; rm -rf .deps)
|
(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in)
|
||||||
|
(cd docs/examples/python ; rm -f Makefile Makefile.in)
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
|
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
|
||||||
|
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/libvirt/
|
||||||
|
|
||||||
|
# Copy files from patch2 into location
|
||||||
|
install -d $RPM_BUILD_ROOT%{_sysconfdir}/libvirt
|
||||||
|
install -m 0755 src/qemu.conf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
||||||
|
install -m 0755 qemud/libvirtd.conf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libvirtd.conf
|
||||||
|
|
||||||
|
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
|
||||||
|
# because if the admin wants to delete the default network completely, we don't
|
||||||
|
# want to end up re-incarnating it on every RPM upgrade.
|
||||||
|
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
|
||||||
|
cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||||
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||||
|
# Strip auto-generated UUID - we need it generated per-install
|
||||||
|
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
|
||||||
|
%find_lang %{name}
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -fr %{buildroot}
|
rm -fr %{buildroot}
|
||||||
@@ -74,22 +118,61 @@ rm -fr %{buildroot}
|
|||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
|
# We want to install the default network for initial RPM installs
|
||||||
|
# or on the first upgrade from a non-network aware libvirt only.
|
||||||
|
# We check this by looking to see if the daemon is already installed
|
||||||
|
/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
|
||||||
|
if [ $? != 0 ]
|
||||||
|
then
|
||||||
|
UUID=`/usr/bin/uuidgen`
|
||||||
|
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
||||||
|
< %{_datadir}/libvirt/networks/default.xml \
|
||||||
|
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
||||||
|
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
||||||
|
fi
|
||||||
|
|
||||||
|
/sbin/chkconfig --add libvirtd
|
||||||
|
|
||||||
|
%preun
|
||||||
|
if [ $1 = 0 ]; then
|
||||||
|
/sbin/service libvirtd stop 1>/dev/null 2>&1
|
||||||
|
/sbin/chkconfig --del libvirtd
|
||||||
|
fi
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files -f %{name}.lang
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%doc AUTHORS ChangeLog NEWS README COPYING.LIB TODO
|
%doc AUTHORS ChangeLog NEWS README COPYING.LIB TODO
|
||||||
%doc %{_mandir}/man1/virsh.1*
|
%doc %{_mandir}/man1/virsh.1*
|
||||||
%{_bindir}/virsh
|
%{_bindir}/virsh
|
||||||
%{_libdir}/lib*.so.*
|
%{_libdir}/lib*.so.*
|
||||||
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
||||||
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
|
||||||
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
|
||||||
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
|
||||||
|
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||||
|
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
||||||
|
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
|
||||||
|
%dir %{_datadir}/libvirt/
|
||||||
|
%dir %{_datadir}/libvirt/networks/
|
||||||
|
%{_datadir}/libvirt/networks/default.xml
|
||||||
|
%dir %{_localstatedir}/run/libvirt/
|
||||||
|
%dir %{_localstatedir}/lib/libvirt/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
||||||
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
%attr(4755, root, root) %{_libexecdir}/libvirt_proxy
|
||||||
|
%attr(0755, root, root) %{_sbindir}/libvirtd
|
||||||
|
%doc docs/*.rng
|
||||||
|
%doc docs/*.xml
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
|
|
||||||
%{_libdir}/lib*.so
|
%{_libdir}/lib*.so
|
||||||
|
%dir %{_includedir}/libvirt
|
||||||
%{_includedir}/libvirt/*.h
|
%{_includedir}/libvirt/*.h
|
||||||
%{_libdir}/pkgconfig/libvirt.pc
|
%{_libdir}/pkgconfig/libvirt.pc
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
||||||
@@ -113,6 +196,159 @@ rm -fr %{buildroot}
|
|||||||
%doc docs/examples/python
|
%doc docs/examples/python
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Oct 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.3.3-2.fc8
|
||||||
|
- Added QEMU driver config file support
|
||||||
|
- Added example config files
|
||||||
|
|
||||||
|
* Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
|
||||||
|
- Release of 0.3.3
|
||||||
|
- Avahi support
|
||||||
|
- NUMA support
|
||||||
|
- lots of assorted improvements, bugfixes and cleanups
|
||||||
|
- documentation and localization improvements
|
||||||
|
|
||||||
|
* Fri Aug 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-2.fc8
|
||||||
|
- also build on arches where Xen is not available
|
||||||
|
|
||||||
|
* Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1.fc8
|
||||||
|
- Release of 0.3.2
|
||||||
|
- API for domains migration
|
||||||
|
- APIs for collecting statistics on disks and interfaces
|
||||||
|
- lots of assorted bugfixes and cleanups
|
||||||
|
- documentation and localization improvements
|
||||||
|
|
||||||
|
* Thu Aug 16 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-4.fc8
|
||||||
|
- Fixes missing Requires for libvirt-devel
|
||||||
|
|
||||||
|
* Thu Jul 26 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-3.fc8
|
||||||
|
- adds fix for bug #249594
|
||||||
|
|
||||||
|
* Wed Jul 25 2007 Jesse Keating <jkeating@redhat.com> - 0.3.1-2
|
||||||
|
- Rebuild for RH #249435
|
||||||
|
|
||||||
|
* Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1.fc8
|
||||||
|
- Release of 0.3.1
|
||||||
|
- localtime clock support
|
||||||
|
- PS/2 and USB input devices
|
||||||
|
- lots of assorted bugfixes and cleanups
|
||||||
|
- documentation and localization improvements
|
||||||
|
|
||||||
|
* Mon Jul 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1.fc8
|
||||||
|
- Release of 0.3.0
|
||||||
|
- Secure remote access support
|
||||||
|
- unification of daemons
|
||||||
|
- lots of assorted bugfixes and cleanups
|
||||||
|
- documentation and localization improvements
|
||||||
|
|
||||||
|
* Fri Jun 8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1.fc8
|
||||||
|
- Release of 0.2.3
|
||||||
|
- lot of assorted bugfixes and cleanups
|
||||||
|
- support for Xen-3.1
|
||||||
|
- new scheduler API
|
||||||
|
|
||||||
|
* Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
|
||||||
|
- Release of 0.2.2
|
||||||
|
- lot of assorted bugfixes and cleanups
|
||||||
|
- preparing for Xen-3.0.5
|
||||||
|
|
||||||
|
* Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
|
||||||
|
- don't require xen; we don't need the daemon and can control non-xen now
|
||||||
|
- fix scriptlet error (need to own more directories)
|
||||||
|
- update description text
|
||||||
|
|
||||||
|
* Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
|
||||||
|
- Release of 0.2.1
|
||||||
|
- lot of bug and portability fixes
|
||||||
|
- Add support for network autostart and init scripts
|
||||||
|
- New API to detect the virtualization capabilities of a host
|
||||||
|
- Documentation updates
|
||||||
|
|
||||||
|
* Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
|
||||||
|
- Fix loading of guest & network configs
|
||||||
|
|
||||||
|
* Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
|
||||||
|
- Disable kqemu support since its not in Fedora qemu binary
|
||||||
|
- Fix for -vnc arg syntax change in 0.9.0 QEMU
|
||||||
|
|
||||||
|
* Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
|
||||||
|
- Fixed path to qemu daemon for autostart
|
||||||
|
- Fixed generation of <features> block in XML
|
||||||
|
- Pre-create config directory at startup
|
||||||
|
|
||||||
|
* Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
|
||||||
|
- support for KVM and QEmu
|
||||||
|
- support for network configuration
|
||||||
|
- assorted fixes
|
||||||
|
|
||||||
|
* Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
|
||||||
|
- finish inactive Xen domains support
|
||||||
|
- memory leak fix
|
||||||
|
- RelaxNG schemas for XML configs
|
||||||
|
|
||||||
|
* Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
|
||||||
|
- support for inactive Xen domains
|
||||||
|
- improved support for Xen display and vnc
|
||||||
|
- a few bug fixes
|
||||||
|
- localization updates
|
||||||
|
|
||||||
|
* Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
|
||||||
|
- rebuild against python 2.5
|
||||||
|
|
||||||
|
* Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
|
||||||
|
- better error reporting
|
||||||
|
- python bindings fixes and extensions
|
||||||
|
- add support for shareable drives
|
||||||
|
- add support for non-bridge style networking
|
||||||
|
- hot plug device support
|
||||||
|
- added support for inactive domains
|
||||||
|
- API to dump core of domains
|
||||||
|
- various bug fixes, cleanups and improvements
|
||||||
|
- updated the localization
|
||||||
|
|
||||||
|
* Tue Nov 7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
|
||||||
|
- it's pkgconfig not pgkconfig !
|
||||||
|
|
||||||
|
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
||||||
|
- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
|
||||||
|
- Resolves: rhbz#202320
|
||||||
|
|
||||||
|
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
||||||
|
- fix missing page size detection code for ia64
|
||||||
|
- fix mlock size when getting domain info list from hypervisor
|
||||||
|
- vcpu number initialization
|
||||||
|
- don't label crashed domains as shut off
|
||||||
|
- fix virsh man page
|
||||||
|
- blktapdd support for alternate drivers like blktap
|
||||||
|
- memory leak fixes (xend interface and XML parsing)
|
||||||
|
- compile fix
|
||||||
|
- mlock/munlock size fixes
|
||||||
|
|
||||||
|
* Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
|
||||||
|
- Fix bug when running against xen-3.0.3 hypercalls
|
||||||
|
- Fix memory bug when getting vcpus info from xend
|
||||||
|
|
||||||
|
* Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
|
||||||
|
- Support for localization
|
||||||
|
- Support for new Xen-3.0.3 cdrom and disk configuration
|
||||||
|
- Support for setting VNC port
|
||||||
|
- Fix bug when running against xen-3.0.2 hypercalls
|
||||||
|
- Fix reconnection problem when talking directly to http xend
|
||||||
|
|
||||||
|
* Tue Sep 5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
|
||||||
|
- patch from danpb to support new-format cd devices for HVM guests
|
||||||
|
|
||||||
|
* Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
|
||||||
|
- reactivating ia64 support
|
||||||
|
|
||||||
|
* Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
|
||||||
|
- new release
|
||||||
|
- bug fixes
|
||||||
|
- support for new hypervisor calls
|
||||||
|
- early code for config files and defined domains
|
||||||
|
|
||||||
|
* Mon Sep 4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
|
||||||
|
- add patch to address dom0_ops API breakage in Xen 3.0.3 tree
|
||||||
|
|
||||||
* Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
|
* Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
|
||||||
- add patch to support paravirt framebuffer in Xen
|
- add patch to support paravirt framebuffer in Xen
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user