[libvirt] qemu-kvm networking speed
by Bryan_Coleman@dart.biz
How do I change the networking speed provided to my qemu-kvm guest? I
have four gigabit ports bonded; however, my guest is showing just 100Mb/s.
I have used iperf to confirm.
I am not sure if the settings would be on the guest or server side.
Any help would be greatly appreciated!
Thank you,
Bryan
15 years, 8 months
[libvirt] PATCH: Don't try to close unopened connections
by Daniel P. Berrange
The autostart code for UML and QEMU drivers had a place where it might
try to close a connection that is not open. This is harmless because
virConnectClose() checks for NULL, but it still causes an annoying
diagnosistic to be printed. This avoids it
Daniel
Index: src/uml_driver.c
===================================================================
RCS file: /data/cvs/libvirt/src/uml_driver.c,v
retrieving revision 1.25
diff -u -p -r1.25 uml_driver.c
--- src/uml_driver.c 3 Mar 2009 09:14:28 -0000 1.25
+++ src/uml_driver.c 13 Mar 2009 16:29:33 -0000
@@ -146,7 +146,8 @@ umlAutostartConfigs(struct uml_driver *d
}
}
- virConnectClose(conn);
+ if (conn)
+ virConnectClose(conn);
}
Index: src/qemu_driver.c
===================================================================
RCS file: /data/cvs/libvirt/src/qemu_driver.c,v
retrieving revision 1.214
diff -u -p -r1.214 qemu_driver.c
--- src/qemu_driver.c 3 Mar 2009 16:53:13 -0000 1.214
+++ src/qemu_driver.c 13 Mar 2009 16:29:34 -0000
@@ -235,7 +235,8 @@ qemudAutostartConfigs(struct qemud_drive
virDomainObjUnlock(vm);
}
- virConnectClose(conn);
+ if (conn)
+ virConnectClose(conn);
}
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
15 years, 8 months
[libvirt] libvirt usage
by Zvi Dubitzky
Hi
I have a Ubutnu system .
I installed libxml2 and libvirt packages by : apt-get install
ibvirt-bin and .. libxml2 .
They were installed ok . The libraries are located under /user/lib e.g
: /usr/lib/libvirt.so.0
I am trying to link as follows:
CFLAGS=`pkg-config --cflags libvirt`
LDFLAGS=`pkg-config --libs libvirt`
gcc -o test_cpu $CFLAGS $LDFLAGS test_cpu.c
But get the message :
Package libvirt was not found in the pkg-config search path.
Perhaps you should add the directory containing `libvirt.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libvirt' found
It turns out that doing : pkg-config --list-all | grep libvirt
return no libvirt traces . just as in the file below . On another older
machine that links fine - libvirt is found with the above pkg-config but
there is no PKG_CONFIG_PATH env variable as well .
Both machines PATH is the same .
Did I miss something during the install of the first machine. Any remedy
?
Zvi Dubitzky
Virtualization and System Architecture Email:dubi@il.ibm.com
IBM Haifa Research Laboratory Phone: +972-4-8296182
Haifa, 31905, ISRAEL
15 years, 8 months
[libvirt] PATCH: Fix node device APIs for RHEL-5 vintage HAL
by Daniel P. Berrange
In the node device APIs we look for a property in HAL call info.subsystem.
Turns out this is a fairly recent addition to HAL, and it used to be
called 'linux.subsystem' in RHEL-5 vintage & earlier. This means we never
see any PCI / USB devices in libvirt when on RHEL-5.
This patch makes us check for both those properties, since the values
are the same for each - just the property name changed
Daniel
Index: src/node_device_hal.c
===================================================================
RCS file: /data/cvs/libvirt/src/node_device_hal.c,v
retrieving revision 1.9
diff -u -p -r1.9 node_device_hal.c
--- src/node_device_hal.c 2 Mar 2009 17:41:13 -0000 1.9
+++ src/node_device_hal.c 12 Mar 2009 14:07:12 -0000
@@ -357,7 +357,8 @@ static int gather_capabilities(LibHalCon
goto failure;
}
- if (get_str_prop(ctx, udi, "info.subsystem", &bus_name) == 0) {
+ if (get_str_prop(ctx, udi, "info.subsystem", &bus_name) == 0 ||
+ get_str_prop(ctx, udi, "linux.subsystem", &bus_name) == 0) {
rv = gather_capability(ctx, udi, bus_name, &caps);
if (rv != 0)
goto failure;
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
15 years, 8 months
[libvirt] xen+ssh:// "ghost" connections
by Nick Moffitt
Many thanks to Daniel Veillard for the Xen storage patch that was ACKed
here yesterday! It does indeed seem to fix the crashing and lockup
problems I was seeingw hen performing many simultaneous operations.
At the moment, it may have exposed something else I find curious. I
have a set of twelve VMs across two hosts (seven on one, five on the
other). At night they're all paused, and in the morning they're all
resumed at once. For the past two evenings, the pause operation has
stalled for two of the VMs. The first time it was one per host, and
just yesterday it was both on the 7-domain host.
These connections are mostly harmless. The libvirtd still accepts new
connections, but I can see the stalled ssh/netcat processes still
running to forward the local socket.
I've attached (okay, pasted inline) a traceback of the daemon that had
two ghost connections, and from my inexperienced read-through it looks
as though libvirtd doesn't even know that anyone's trying to talk to it.
This isn't much to go on, but I felt it was better to post this than to
let it drop on the floor, since there does seem to be a pattern so far
(we'll see how things go tonight, and I'll be able to do more
destructive testing next week).
(gdb) thread apply all bt
Thread 6 (Thread 0x7f5ca3af7950 (LWP 889)):
#0 0x00007f5ca84dab99 in pthread_cond_wait@(a)GLIBC_2.3.2 ()
from /lib/libpthread.so.0
#1 0x00007f5ca9b43369 in virCondWait (c=0x65a63c, m=0x80)
at threads-pthread.c:81
#2 0x0000000000412ab5 in qemudWorker (data=<value optimized out>)
at qemud.c:1445
#3 0x00007f5ca84d63f7 in start_thread () from /lib/libpthread.so.0
#4 0x00007f5ca8245b3d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()
Thread 5 (Thread 0x7f5c9bfff950 (LWP 28425)):
#0 0x00007f5ca84dab99 in pthread_cond_wait@(a)GLIBC_2.3.2 ()
from /lib/libpthread.so.0
#1 0x00007f5ca9b43369 in virCondWait (c=0x65a63c, m=0x80)
at threads-pthread.c:81
#2 0x0000000000412ab5 in qemudWorker (data=<value optimized out>)
at qemud.c:1445
#3 0x00007f5ca84d63f7 in start_thread () from /lib/libpthread.so.0
#4 0x00007f5ca8245b3d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()
Thread 4 (Thread 0x7f5ca52fa950 (LWP 5493)):
#0 0x00007f5ca84dab99 in pthread_cond_wait@(a)GLIBC_2.3.2 ()
from /lib/libpthread.so.0
#1 0x00007f5ca9b43369 in virCondWait (c=0x65a63c, m=0x80)
at threads-pthread.c:81
#2 0x0000000000412ab5 in qemudWorker (data=<value optimized out>)
at qemud.c:1445
#3 0x00007f5ca84d63f7 in start_thread () from /lib/libpthread.so.0
#4 0x00007f5ca8245b3d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()
Thread 3 (Thread 0x7f5ca4af9950 (LWP 25795)):
#0 0x00007f5ca84dab99 in pthread_cond_wait@(a)GLIBC_2.3.2 ()
from /lib/libpthread.so.0
#1 0x00007f5ca9b43369 in virCondWait (c=0x65a63c, m=0x80)
at threads-pthread.c:81
#2 0x0000000000412ab5 in qemudWorker (data=<value optimized out>)
at qemud.c:1445
#3 0x00007f5ca84d63f7 in start_thread () from /lib/libpthread.so.0
#4 0x00007f5ca8245b3d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()
Thread 2 (Thread 0x7f5ca2af5950 (LWP 25810)):
#0 0x00007f5ca84dab99 in pthread_cond_wait@(a)GLIBC_2.3.2 ()
from /lib/libpthread.so.0
#1 0x00007f5ca9b43369 in virCondWait (c=0x65a63c, m=0x80)
at threads-pthread.c:81
#2 0x0000000000412ab5 in qemudWorker (data=<value optimized out>)
at qemud.c:1445
#3 0x00007f5ca84d63f7 in start_thread () from /lib/libpthread.so.0
#4 0x00007f5ca8245b3d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7f5caa853780 (LWP 864)):
#0 0x00007f5ca823cc86 in poll () from /lib/libc.so.6
#1 0x000000000040f1d6 in virEventRunOnce () at event.c:542
#2 0x00000000004116cd in qemudRunLoop (server=0x65a610) at qemud.c:2067
#3 0x0000000000414bbe in main (argc=4, argv=<value optimized out>)
at qemud.c:2921
#0 0x00007f5ca823cc86 in poll () from /lib/libc.so.6
--
BitKeeper, how quaint. Nick Moffitt
-- Alan Cox nick(a)zork.net
15 years, 8 months
[libvirt] Looking for good example API function(s)
by Laine Stump
To help with lutter's network configuration project, I'm looking at
adding API functions to libvirt which are essentially pass-throughs to
netcf library APIs called by libvirtd. Can someone point me to good
examples of APIs that are not hypervisor driver-dependent (and possibly
not host OS-dependent either - I believe the final intent is for netcf
to handle all host OS dependencies itself) to use as a basis for writing
these new APIs?
At a more detailed level, a quick trace through the code of some other
APIs got me as far as the call to the "call" function, with an RPC code,
but I didn't find where that call was caught (and the RPC code
interpreted, eg REMOTE_PROC_NETWORK_CREATE_XML - cscope couldn't find
any other reference to this value) on the libvirtd side. I'm about run
virsh and libvirtd under gdb to learn this by experimentation, but if
someone wants to take the fun out of it for me, hints would be gladly
accepted! ;-)
15 years, 8 months
[libvirt] PATCH: Support SASL auth for QEMU VNC servers
by Daniel P. Berrange
This patch adds a config option to /etc/libvirt/qemu.conf to allow the
enablement of SASL authentication of the QEMU VNC servers. The patches
to QEMU are posted upstream, and though their merge is delayed while the
QEMU release is sorted out, I expect them to be merged in a week or so.
I'm posting this patch for review now, though best not to commit it to
CVS until the QEMU stuff is finally merged.
Daniel
diff -r 961d4b1ca1d3 qemud/libvirtd_qemu.aug
--- a/qemud/libvirtd_qemu.aug Wed Mar 04 13:17:44 2009 +0000
+++ b/qemud/libvirtd_qemu.aug Thu Mar 05 14:22:50 2009 +0000
@@ -27,6 +27,8 @@ module Libvirtd_qemu =
| str_entry "vnc_tls_x509_cert_dir"
| bool_entry "vnc_tls_x509_verify"
| str_entry "vnc_password"
+ | bool_entry "vnc_sasl"
+ | str_entry "vnc_sasl_dir"
(* Each enty in the config is one of the following three ... *)
let entry = vnc_entry
diff -r 961d4b1ca1d3 qemud/test_libvirtd_qemu.aug
--- a/qemud/test_libvirtd_qemu.aug Wed Mar 04 13:17:44 2009 +0000
+++ b/qemud/test_libvirtd_qemu.aug Thu Mar 05 14:22:50 2009 +0000
@@ -60,6 +60,25 @@ vnc_tls_x509_verify = 1
# example here before you set this
#
vnc_password = \"XYZ12345\"
+
+
+# Enable use of SASL encryption on the VNC server. This requires
+# a VNC client which supports the SASL protocol extension.
+# Examples include vinagre, virt-viewer and virt-manager
+# itself. UltraVNC, RealVNC, TightVNC do not support this
+#
+# It is necessary to configure /etc/sasl2/qemu.conf to choose
+# the desired SASL plugin (eg, GSSPI for Kerberos)
+#
+vnc_sasl = 1
+
+
+# The default SASL configuration file is located in /etc/sasl2/
+# When running libvirtd unprivileged, it may be desirable to
+# override the configs in this location. Set this parameter to
+# point to the directory, and create a qemu.conf in that location
+#
+vnc_sasl_dir = \"/some/directory/sasl2\"
"
test Libvirtd_qemu.lns get conf =
@@ -123,3 +142,22 @@ vnc_password = \"XYZ12345\"
{ "#comment" = "example here before you set this" }
{ "#comment" = "" }
{ "vnc_password" = "XYZ12345" }
+{ "#empty" }
+{ "#empty" }
+{ "#comment" = "Enable use of SASL encryption on the VNC server. This requires" }
+{ "#comment" = "a VNC client which supports the SASL protocol extension." }
+{ "#comment" = "Examples include vinagre, virt-viewer and virt-manager" }
+{ "#comment" = "itself. UltraVNC, RealVNC, TightVNC do not support this" }
+{ "#comment" = "" }
+{ "#comment" = "It is necessary to configure /etc/sasl2/qemu.conf to choose" }
+{ "#comment" = "the desired SASL plugin (eg, GSSPI for Kerberos)" }
+{ "#comment" = "" }
+{ "vnc_sasl" = "1" }
+{ "#empty" }
+{ "#empty" }
+{ "#comment" = "The default SASL configuration file is located in /etc/sasl2/" }
+{ "#comment" = "When running libvirtd unprivileged, it may be desirable to" }
+{ "#comment" = "override the configs in this location. Set this parameter to" }
+{ "#comment" = "point to the directory, and create a qemu.conf in that location" }
+{ "#comment" = "" }
+{ "vnc_sasl_dir" = "/some/directory/sasl2" }
diff -r 961d4b1ca1d3 src/qemu.conf
--- a/src/qemu.conf Wed Mar 04 13:17:44 2009 +0000
+++ b/src/qemu.conf Thu Mar 05 14:22:50 2009 +0000
@@ -60,6 +60,27 @@
# vnc_password = "XYZ12345"
+# Enable use of SASL encryption on the VNC server. This requires
+# a VNC client which supports the SASL protocol extension.
+# Examples include vinagre, virt-viewer and virt-manager
+# itself. UltraVNC, RealVNC, TightVNC do not support this
+#
+# It is necessary to configure /etc/sasl2/qemu.conf to choose
+# the desired SASL plugin (eg, GSSPI for Kerberos)
+#
+# vnc_sasl = 1
+
+
+# The default SASL configuration file is located in /etc/sasl2/
+# When running libvirtd unprivileged, it may be desirable to
+# override the configs in this location. Set this parameter to
+# point to the directory, and create a qemu.conf in that location
+#
+# vnc_sasl_dir = "/some/directory/sasl2"
+
+
+
+
# The default security driver is SELinux. If SELinux is disabled
# on the host, then the security driver will automatically disable
# itself. If you wish to disable QEMU SELinux security driver while
diff -r 961d4b1ca1d3 src/qemu_conf.c
--- a/src/qemu_conf.c Wed Mar 04 13:17:44 2009 +0000
+++ b/src/qemu_conf.c Thu Mar 05 14:22:50 2009 +0000
@@ -161,6 +161,21 @@ int qemudLoadDriverConfig(struct qemud_d
}
}
+ p = virConfGetValue (conf, "vnc_sasl");
+ CHECK_TYPE ("vnc_sasl", VIR_CONF_LONG);
+ if (p) driver->vncSASL = p->l;
+
+ p = virConfGetValue (conf, "vnc_sasl_dir");
+ CHECK_TYPE ("vnc_sasl_dir", VIR_CONF_STRING);
+ if (p && p->str) {
+ VIR_FREE(driver->vncSASLdir);
+ if (!(driver->vncSASLdir = strdup(p->str))) {
+ virReportOOMError(NULL);
+ virConfFree(conf);
+ return -1;
+ }
+ }
+
virConfFree (conf);
return 0;
}
@@ -838,15 +853,20 @@ int qemudBuildCommandLine(virConnectPtr
goto no_memory; \
} while (0)
+#define ADD_ENV_PAIR(envname, val) \
+ do { \
+ char *envval; \
+ ADD_ENV_SPACE; \
+ if (virAsprintf(&envval, "%s=%s", envname, val) < 0) \
+ goto no_memory; \
+ qenv[qenvc++] = envval; \
+ } while (0)
+
#define ADD_ENV_COPY(envname) \
do { \
char *val = getenv(envname); \
- char *envval; \
- ADD_ENV_SPACE; \
if (val != NULL) { \
- if (virAsprintf(&envval, "%s=%s", envname, val) < 0) \
- goto no_memory; \
- qenv[qenvc++] = envval; \
+ ADD_ENV_PAIR(envname, val); \
} \
} while (0)
@@ -1295,6 +1315,15 @@ int qemudBuildCommandLine(virConnectPtr
driver->vncTLSx509certdir);
}
}
+
+ if (driver->vncSASL) {
+ virBufferAddLit(&opt, ",sasl");
+
+ if (driver->vncSASLdir)
+ ADD_ENV_PAIR("SASL_CONF_DIR", driver->vncSASLdir);
+
+ /* TODO: Support ACLs later */
+ }
} else {
virBufferVSprintf(&opt, "%d",
vm->def->graphics->data.vnc.port - 5900);
diff -r 961d4b1ca1d3 src/qemu_conf.h
--- a/src/qemu_conf.h Wed Mar 04 13:17:44 2009 +0000
+++ b/src/qemu_conf.h Thu Mar 05 14:22:50 2009 +0000
@@ -73,9 +73,11 @@ struct qemud_driver {
char *stateDir;
unsigned int vncTLS : 1;
unsigned int vncTLSx509verify : 1;
+ unsigned int vncSASL : 1;
char *vncTLSx509certdir;
char *vncListen;
char *vncPassword;
+ char *vncSASLdir;
virCapsPtr caps;
diff -r 961d4b1ca1d3 src/qemu_driver.c
--- a/src/qemu_driver.c Wed Mar 04 13:17:44 2009 +0000
+++ b/src/qemu_driver.c Thu Mar 05 14:22:50 2009 +0000
@@ -620,6 +620,7 @@ qemudShutdown(void) {
VIR_FREE(qemu_driver->vncTLSx509certdir);
VIR_FREE(qemu_driver->vncListen);
VIR_FREE(qemu_driver->vncPassword);
+ VIR_FREE(qemu_driver->vncSASLdir);
/* Free domain callback list */
virDomainEventCallbackListFree(qemu_driver->domainEventCallbacks);
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.args Thu Mar 05 14:22:50 2009 +0000
@@ -0,0 +1,1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test SASL_CONF_DIR=/root/.sasl2 /usr/bin/qemu -S -M pc -m 214 -smp 1 -monitor pty -pidfile /nowhere/QEMUGuest1.pid -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc 127.0.0.1:3,sasl
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-sasl.xml Thu Mar 05 14:22:50 2009 +0000
@@ -0,0 +1,24 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <input type='mouse' bus='ps2'/>
+ <graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
+ </devices>
+</domain>
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.args Thu Mar 05 14:22:50 2009 +0000
@@ -0,0 +1,1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test SASL_CONF_DIR=/root/.sasl2 /usr/bin/qemu -S -M pc -m 214 -smp 1 -monitor pty -pidfile /nowhere/QEMUGuest1.pid -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none -usb -vnc 127.0.0.1:3,tls,x509verify=/etc/pki/tls/qemu,sasl
diff -r 961d4b1ca1d3 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-tls.xml Thu Mar 05 14:22:50 2009 +0000
@@ -0,0 +1,24 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ </disk>
+ <input type='mouse' bus='ps2'/>
+ <graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
+ </devices>
+</domain>
diff -r 961d4b1ca1d3 tests/qemuxml2argvtest.c
--- a/tests/qemuxml2argvtest.c Wed Mar 04 13:17:44 2009 +0000
+++ b/tests/qemuxml2argvtest.c Thu Mar 05 14:22:50 2009 +0000
@@ -213,6 +213,19 @@ mymain(int argc, char **argv)
QEMUD_CMD_FLAG_DRIVE_CACHE_V2);
DO_TEST("disk-usb", 0);
DO_TEST("graphics-vnc", 0);
+
+ driver.vncSASL = 1;
+ driver.vncSASLdir = strdup("/root/.sasl2");
+ DO_TEST("graphics-vnc-sasl", 0);
+ driver.vncTLS = 1;
+ driver.vncTLSx509verify = 1;
+ driver.vncTLSx509certdir = strdup("/etc/pki/tls/qemu");
+ DO_TEST("graphics-vnc-tls", 0);
+ driver.vncSASL = driver.vncTLSx509verify = driver.vncTLS = 0;
+ free(driver.vncSASLdir);
+ free(driver.vncTLSx509certdir);
+ driver.vncSASLdir = driver.vncTLSx509certdir = NULL;
+
DO_TEST("graphics-sdl", 0);
DO_TEST("graphics-sdl-fullscreen", 0);
DO_TEST("input-usbmouse", 0);
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
15 years, 8 months
[libvirt] [patch 0/4] checkpoint functionality
by Matt McCowan
OK. Another run at producing a function that helps the likes of me
backup my kvm Windows servers.
'virsh checkpoint domain file [script]' is what the following patch set
(against cvs) enables. Modelled on the virDomainSave function it takes
an optional script which it will execute (and pass the name of the
domain as an argument) while the domain is paused, then resume the
domain.
By the by stability is coming along nicely since 0.6.0. Thanks!
Matt McCowan
15 years, 8 months
[libvirt] [PATCH] storage: fix disregarding specified owner/group permissions
by Ryota Ozaki
Hi,
storage_conf.c always sets owner/group permissions as 0, even if non-0 values
are specified in XML. Because XPaths in DefParsePerms functions are wrong and
XPath functions using the XPaths fail, as a result the values obtained
by getpid()/getgid()
are used instead.
This patch fixes this and also unifies duplicated functions,
virStoragePoolDefParsePerms
and virStorageVolDefParsePerms, as a common function virStorageDefParsePerms
to fix the bug prettily.
One concern I have is the default value of mode permission in
virStorageDefParsePerms
is now 0700 but that in virStorageVolDefParsePerms was 0600. Is this
considerable
change?
Thanks,
ozaki-r
15 years, 8 months