[libvirt] [PATCH 00/11] Misc fixes and changes related to virSocket APIs
by Daniel P. Berrange
In working on the DTrace patches I needed to be able to format
a struct sockaddr into a string easily. The virSocketFormatAddr
API was close to what I needed, but couldn't handle including
the port number, nor UNIX domain sockets.
This patch series addresses that limitation. Along the way it
fixes miscellaneous bugs with the virSocket APis, adds a test
suite, removes & bans all use of inet_* functions and replaces
the addrToString methods used in SASL code and simplifies
some nwfilter code using virSocket.
14 years, 1 month
[libvirt] Compiling libvirt for QEMU on OSX
by Justin Clift
Hi us,
It turns out that QEMU is available on OSX, and kept up to date. The
new QEMU release (0.13.0) is already on there.
When trying out compilation of libvirt for QEMU on OSX (--with-qemu),
configure gives this error:
configure: error: You must install kernel-headers in order to compile
libvirt with QEMU or LXC support
Looking in configure.ac, shows this:
dnl
dnl check for kernel headers required by src/bridge.c
dnl
if test "$with_qemu" = "yes" || test "$with_lxc" = "yes" ; then
AC_CHECK_HEADERS([linux/param.h linux/sockios.h linux/if_bridge.h
linux/if_tun.h],,
AC_MSG_ERROR([You must install kernel-headers in
order to compile libvirt with QEMU or LXC support]))
fi
(as a side note, there's no "src/bridge.c" only a "src/util/bridge.c"
so we should probably update that comment)
So it looks like we have a hard dependency at the moment, to use Linux
bridging if QEMU is enabled.
Does anyone know how practical it would be, to change that to allow
for QEMU to be used on OSX without needing the Linux bridge bits?
I'm kind of thinking that on OSX, QEMU is probably doing it's
connection to host networking in some other way instead. (haven't
checked)
Regards and best wishes,
Justin Clift
14 years, 1 month
[libvirt] [PATCH] daemon: exclude requirement for probes.h on systems without systemtap
by Justin Clift
This 1-liner was actually written by Eric Blake, over IRC. It
addresses a compilation failure in make dist and make rpm for
systems without the dtrace/systemtap development libraries
installed.
---
daemon/Makefile.am | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 0e254d4..d1ffd97 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -168,7 +168,7 @@ EXTRA_DIST += probes.d libvirtd.stp
if WITH_DTRACE
libvirtd_LDADD += probes.o
-libvirtd_SOURCES += probes.h
+libvirtd_nodist_SOURCES = probes.h
BUILT_SOURCES += probes.h
--
1.7.2.3
14 years, 1 month
[libvirt] [PATCH] esx: Add documentation about certificates and connection problems
by Matthias Bolte
---
docs/drvesx.html.in | 103 +++++++++++++++++++++++++++++++++++++++++++++++++-
docs/remote.html.in | 8 +++-
2 files changed, 107 insertions(+), 4 deletions(-)
diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in
index dfc91bb..a0f87c1 100644
--- a/docs/drvesx.html.in
+++ b/docs/drvesx.html.in
@@ -74,7 +74,7 @@ vpx://example-vcenter.com/dc1/cluster1/example-esx.com
</pre>
- <h4>Extra parameters</h4>
+ <h4><a name="extraparams">Extra parameters</h4>
<p>
Extra parameters can be added to a URI as part of the query string
(the part following <code>?</code>). A single parameter is formed by a
@@ -117,7 +117,7 @@ vpx://example-vcenter.com/dc1/cluster1/example-esx.com
In order to perform a migration the driver needs to know the
VMware vCenter for the ESX server. If set to <code>*</code>,
the driver connects to the vCenter known to the ESX server.
- This paramater in useful when connecting to an ESX server only.
+ This parameter in useful when connecting to an ESX server only.
</td>
</tr>
<tr>
@@ -129,7 +129,9 @@ vpx://example-vcenter.com/dc1/cluster1/example-esx.com
</td>
<td>
If set to 1, this disables libcurl client checks of the server's
- SSL certificate. The default value it 0.
+ SSL certificate. The default value it 0. See the
+ <a href="#certificates">Certificates for HTTPS</a> section for
+ details.
</td>
</tr>
<tr>
@@ -187,6 +189,101 @@ vpx://example-vcenter.com/dc1/cluster1/example-esx.com
</p>
+ <h3><a name="certificates">Certificates for HTTPS</a></h3>
+ <p>
+ By default the ESX driver uses HTTPS to communicate with an ESX server.
+ Proper HTTPS communication requires correctly configured SSL
+ certificates. This certificates are different from the ones libvirt
+ uses for <a href="remote.html">secure communication over TLS</a> to a
+ libvirtd one a remote server.
+ </p>
+ <p>
+ By default the driver tries to verify the server's SSL certificate
+ using the CA certificate pool installed on your client computer. With
+ an out-of-the-box installed ESX server this won't work, because a newly
+ installed ESX server uses auto-generated self-signed certificates.
+ Those are singed by a CA certificate that is typically not known to your
+ client computer and libvirt will report an error like this one:
+ </p>
+<pre>
+error: internal error curl_easy_perform() returned an error: Peer certificate cannot be authenticated with known CA certificates (60)
+</pre>
+ <p>
+ Where are two ways to solve this problem:
+ </p>
+ <ul>
+ <li>
+ Use the <code>no_verify=1</code> <a href="#extraparams">extra parameter</a>
+ to disable server certificate verification.
+ </li>
+ <li>
+ Generate new SSL certificates signed by a CA known to your client
+ computer and replace the original ones on your ESX server. See the
+ section <i>Replace a Default Certificate with a CA-Signed Certificate</i>
+ in the <a href="http://www.vmware.com/pdf/vsphere4/r40/vsp_40_esx_server_config.pdf">ESX Configuration Guide</a>
+ </li>
+ </ul>
+
+
+ <h3><a name="connproblems">Connection problems</a></h3>
+ <p>
+ There are also other causes for connection problems than the
+ <a href="#certificates">HTTPS certificate</a> related ones.
+ </p>
+ <ul>
+ <li>
+ As stated before the ESX driver doesn't need the
+ <a href="remote.html">remote transport mechanism</a>
+ provided by the remote driver and libvirtd, nor does the ESX driver
+ support it. Therefore, using an URI including a transport in the
+ scheme won't work. Only <a href="#uriformat">URIs as described</a>
+ are supported by the ESX driver. Here's a collection of possible
+ error messages:
+<pre>
+$ virsh -c esx+tcp://example.com/
+error: unable to connect to libvirtd at 'example.com': Connection refused
+</pre>
+<pre>
+$ virsh -c esx+tls://example.com/
+error: Cannot access CA certificate '/etc/pki/CA/cacert.pem': No such file or directory
+</pre>
+<pre>
+$ virsh -c esx+ssh://example.com/
+error: cannot recv data: ssh: connect to host example.com port 22: Connection refused
+</pre>
+<pre>
+$ virsh -c esx+ssh://example.com/
+error: cannot recv data: Resource temporarily unavailable
+</pre>
+ </li>
+ <li>
+ <span class="since">Since 0.7.0</span> libvirt contains the ESX
+ driver. Earlier versions of libvirt will report a misleading error
+ about missing certificates when you try to connect to an ESX server.
+<pre>
+$ virsh -c esx://example.com/
+error: Cannot access CA certificate '/etc/pki/CA/cacert.pem': No such file or directory
+</pre>
+ <p>
+ Don't let this error message confuse you. Setting up certificates
+ as described on the <a href="remote.html#Remote_certificates">remote transport mechanism</a> page
+ does not help, as this is not a certificate related problem.
+ </p>
+ <p>
+ To fix this problem you need to update your libvirt to 0.7.0 or newer.
+ You may also see this error when you use a libvirt version that
+ contains the ESX driver but you or your distro disabled the ESX
+ driver during compilation. <span class="since">Since 0.8.3</span>
+ the error message has been improved in this case:
+ </p>
+<pre>
+$ virsh -c esx://example.com/
+error: invalid argument in libvirt was built without the 'esx' driver
+</pre>
+ </li>
+ </ul>
+
+
<h2><a name="questions">Questions blocking tasks</a></h2>
<p>
Some methods of the VI API start tasks, for example
diff --git a/docs/remote.html.in b/docs/remote.html.in
index 37b019b..b0fdb7c 100644
--- a/docs/remote.html.in
+++ b/docs/remote.html.in
@@ -61,11 +61,17 @@ machines through authenticated and encrypted connections.
<a name="Remote_basic_usage">Basic usage</a>
</h3>
<p>
-On the remote machine, <code>libvirtd</code> should be running.
+On the remote machine, <code>libvirtd</code> should be running in general.
See <a href="#Remote_libvirtd_configuration">the section
on configuring libvirtd</a> for more information.
</p>
<p>
+ Not all hypervisors supported by libvirt require a running
+ <code>libvirtd</code>. If you want to connect to a VMware ESX/ESXi or
+ GSX server then <code>libvirtd</code> is not necessary. See the
+ <a href="drvesx.html">VMware ESX page</a> for details.
+ </p>
+ <p>
To tell libvirt that you want to access a remote resource,
you should supply a hostname in the normal <a href="uri.html">URI</a> that is passed
to <code>virConnectOpen</code> (or <code>virsh -c ...</code>).
--
1.7.0.4
14 years, 1 month
[libvirt] [PATCH] [TCK] Forgot to copy *.fwall.dat file
by Stefan Berger
Move to the format Eric suggested and copy the missing .fwall.dat file.
Signed-off-by: Stefan Berger <stefanb(a)us.ibm.com>
diff --git a/Build.PL b/Build.PL
index 2a4de43..97b4140 100644
--- a/Build.PL
+++ b/Build.PL
@@ -29,7 +29,7 @@ sub process_pkgdata_files {
my $name = $File::Find::name;
if (-d) {
$tck_dirs{$name} = [];
- } elsif (-f && (/\.t$/ || /\.sh$/ || /\.fwall$/ || /\.xml$/)) {
+ } elsif (-f && /\.(t|sh|fwall|xml|fwall\.dat)$/) {
push @{$tck_dirs{$dir}}, $name;
}
};
14 years, 1 month
[libvirt] [PATCH] tests: Silence qemuxml2argv test
by Jiri Denemark
---
tests/qemuxml2argvtest.c | 240 +++++++++++++++++++++++++---------------------
1 files changed, 132 insertions(+), 108 deletions(-)
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 551d6c4..4eb3cc6 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -4,6 +4,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
+#include <stdbool.h>
#include <sys/types.h>
#include <fcntl.h>
@@ -26,7 +27,8 @@ static struct qemud_driver driver;
static int testCompareXMLToArgvFiles(const char *xml,
const char *cmd,
unsigned long long extraFlags,
- const char *migrateFrom) {
+ const char *migrateFrom,
+ bool expectError) {
char argvData[MAX_FILE];
char *expectargv = &(argvData[0]);
char *actualargv = NULL;
@@ -38,6 +40,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
virDomainDefPtr vmdef = NULL;
virDomainChrDef monitor_chr;
virConnectPtr conn;
+ char *log = NULL;
if (!(conn = virGetConnect()))
goto fail;
@@ -80,12 +83,28 @@ static int testCompareXMLToArgvFiles(const char *xml,
}
+ free(virtTestLogContentAndReset());
+
if (qemudBuildCommandLine(conn, &driver,
vmdef, &monitor_chr, 0, flags,
&argv, &qenv,
NULL, NULL, migrateFrom, NULL) < 0)
goto fail;
+ if ((log = virtTestLogContentAndReset()) == NULL)
+ goto fail;
+
+ if (!!strstr(log, ": error :") != expectError) {
+ if (virTestGetDebug())
+ fprintf(stderr, "\n%s", log);
+ goto fail;
+ }
+
+ if (expectError) {
+ /* need to suppress the errors */
+ virResetLastError();
+ }
+
len = 1; /* for trailing newline */
tmp = qenv;
while (*tmp) {
@@ -125,6 +144,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
ret = 0;
fail:
+ free(log);
free(actualargv);
if (argv) {
tmp = argv;
@@ -152,6 +172,7 @@ struct testInfo {
const char *name;
unsigned long long extraFlags;
const char *migrateFrom;
+ bool expectError;
};
static int testCompareXMLToArgvHelper(const void *data) {
@@ -162,7 +183,8 @@ static int testCompareXMLToArgvHelper(const void *data) {
abs_srcdir, info->name);
snprintf(args, PATH_MAX, "%s/qemuxml2argvdata/qemuxml2argv-%s.args",
abs_srcdir, info->name);
- return testCompareXMLToArgvFiles(xml, args, info->extraFlags, info->migrateFrom);
+ return testCompareXMLToArgvFiles(xml, args, info->extraFlags,
+ info->migrateFrom, info->expectError);
}
@@ -193,16 +215,18 @@ mymain(int argc, char **argv)
if ((driver.hugepage_path = strdup("/dev/hugepages/libvirt/qemu")) == NULL)
return EXIT_FAILURE;
-# define DO_TEST_FULL(name, extraFlags, migrateFrom) \
+# define DO_TEST_FULL(name, extraFlags, migrateFrom, expectError) \
do { \
- const struct testInfo info = { name, extraFlags, migrateFrom }; \
+ const struct testInfo info = { \
+ name, extraFlags, migrateFrom, expectError \
+ }; \
if (virtTestRun("QEMU XML-2-ARGV " name, \
1, testCompareXMLToArgvHelper, &info) < 0) \
ret = -1; \
} while (0)
-# define DO_TEST(name, extraFlags) \
- DO_TEST_FULL(name, extraFlags, NULL)
+# define DO_TEST(name, extraFlags, expectError) \
+ DO_TEST_FULL(name, extraFlags, NULL, expectError)
/* Unset or set all envvars here that are copied in qemudBuildCommandLine
* using ADD_ENV_COPY, otherwise these tests may fail due to unexpected
@@ -217,175 +241,175 @@ mymain(int argc, char **argv)
unsetenv("QEMU_AUDIO_DRV");
unsetenv("SDL_AUDIODRIVER");
- DO_TEST("minimal", QEMUD_CMD_FLAG_NAME);
- DO_TEST("machine-aliases1", 0);
- DO_TEST("machine-aliases2", 0);
- DO_TEST("boot-cdrom", 0);
- DO_TEST("boot-network", 0);
- DO_TEST("boot-floppy", 0);
- DO_TEST("boot-multi", QEMUD_CMD_FLAG_BOOT_MENU);
- DO_TEST("boot-menu-disable", QEMUD_CMD_FLAG_BOOT_MENU);
- DO_TEST("bootloader", QEMUD_CMD_FLAG_DOMID);
- DO_TEST("clock-utc", 0);
- DO_TEST("clock-localtime", 0);
+ DO_TEST("minimal", QEMUD_CMD_FLAG_NAME, false);
+ DO_TEST("machine-aliases1", 0, false);
+ DO_TEST("machine-aliases2", 0, true);
+ DO_TEST("boot-cdrom", 0, false);
+ DO_TEST("boot-network", 0, false);
+ DO_TEST("boot-floppy", 0, false);
+ DO_TEST("boot-multi", QEMUD_CMD_FLAG_BOOT_MENU, false);
+ DO_TEST("boot-menu-disable", QEMUD_CMD_FLAG_BOOT_MENU, false);
+ DO_TEST("bootloader", QEMUD_CMD_FLAG_DOMID, true);
+ DO_TEST("clock-utc", 0, false);
+ DO_TEST("clock-localtime", 0, false);
/*
* Can't be enabled since the absolute timestamp changes every time
- DO_TEST("clock-variable", QEMUD_CMD_FLAG_RTC);
+ DO_TEST("clock-variable", QEMUD_CMD_FLAG_RTC, false);
*/
- DO_TEST("clock-france", QEMUD_CMD_FLAG_RTC);
+ DO_TEST("clock-france", QEMUD_CMD_FLAG_RTC, false);
- DO_TEST("hugepages", QEMUD_CMD_FLAG_MEM_PATH);
- DO_TEST("disk-cdrom", 0);
- DO_TEST("disk-cdrom-empty", QEMUD_CMD_FLAG_DRIVE);
- DO_TEST("disk-floppy", 0);
- DO_TEST("disk-many", 0);
+ DO_TEST("hugepages", QEMUD_CMD_FLAG_MEM_PATH, false);
+ DO_TEST("disk-cdrom", 0, false);
+ DO_TEST("disk-cdrom-empty", QEMUD_CMD_FLAG_DRIVE, false);
+ DO_TEST("disk-floppy", 0, false);
+ DO_TEST("disk-many", 0, false);
DO_TEST("disk-virtio", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_BOOT);
+ QEMUD_CMD_FLAG_DRIVE_BOOT, false);
DO_TEST("disk-xenvbd", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_BOOT);
+ QEMUD_CMD_FLAG_DRIVE_BOOT, false);
DO_TEST("disk-drive-boot-disk", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_BOOT);
+ QEMUD_CMD_FLAG_DRIVE_BOOT, false);
DO_TEST("disk-drive-boot-cdrom", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_BOOT);
+ QEMUD_CMD_FLAG_DRIVE_BOOT, false);
DO_TEST("floppy-drive-fat", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-fat", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-readonly-disk", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("disk-drive-fmt-qcow", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_BOOT | QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-shared", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_FORMAT | QEMUD_CMD_FLAG_DRIVE_SERIAL);
+ QEMUD_CMD_FLAG_DRIVE_FORMAT | QEMUD_CMD_FLAG_DRIVE_SERIAL, false);
DO_TEST("disk-drive-cache-v1-wt", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-cache-v1-wb", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-cache-v1-none", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-error-policy-stop", QEMUD_CMD_FLAG_DRIVE |
QEMUD_CMD_FLAG_MONITOR_JSON |
- QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-cache-v2-wt", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-cache-v2-wb", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT);
+ QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("disk-drive-cache-v2-none", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT);
- DO_TEST("disk-usb", 0);
+ QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
+ DO_TEST("disk-usb", 0, false);
DO_TEST("disk-usb-device", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("disk-scsi-device", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("disk-scsi-device-auto", QEMUD_CMD_FLAG_DRIVE |
- QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG);
- DO_TEST("graphics-vnc", 0);
+ QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG, false);
+ DO_TEST("graphics-vnc", 0, false);
driver.vncSASL = 1;
driver.vncSASLdir = strdup("/root/.sasl2");
- DO_TEST("graphics-vnc-sasl", QEMUD_CMD_FLAG_VGA);
+ DO_TEST("graphics-vnc-sasl", QEMUD_CMD_FLAG_VGA, false);
driver.vncTLS = 1;
driver.vncTLSx509verify = 1;
driver.vncTLSx509certdir = strdup("/etc/pki/tls/qemu");
- DO_TEST("graphics-vnc-tls", 0);
+ DO_TEST("graphics-vnc-tls", 0, false);
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("nographics-vga", QEMUD_CMD_FLAG_VGA);
- DO_TEST("input-usbmouse", 0);
- DO_TEST("input-usbtablet", 0);
- DO_TEST("input-xen", QEMUD_CMD_FLAG_DOMID);
- DO_TEST("misc-acpi", 0);
- DO_TEST("misc-no-reboot", 0);
+ DO_TEST("graphics-sdl", 0, false);
+ DO_TEST("graphics-sdl-fullscreen", 0, false);
+ DO_TEST("nographics-vga", QEMUD_CMD_FLAG_VGA, false);
+ DO_TEST("input-usbmouse", 0, false);
+ DO_TEST("input-usbtablet", 0, false);
+ DO_TEST("input-xen", QEMUD_CMD_FLAG_DOMID, true);
+ DO_TEST("misc-acpi", 0, false);
+ DO_TEST("misc-no-reboot", 0, false);
DO_TEST("misc-uuid", QEMUD_CMD_FLAG_NAME |
- QEMUD_CMD_FLAG_UUID);
- DO_TEST("net-user", 0);
- DO_TEST("net-virtio", 0);
+ QEMUD_CMD_FLAG_UUID, false);
+ DO_TEST("net-user", 0, false);
+ DO_TEST("net-virtio", 0, false);
DO_TEST("net-virtio-device", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("net-virtio-netdev", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NETDEV | QEMUD_CMD_FLAG_NODEFCONFIG);
- DO_TEST("net-eth", 0);
- DO_TEST("net-eth-ifname", 0);
- DO_TEST("net-eth-names", QEMUD_CMD_FLAG_NET_NAME);
-
- DO_TEST("serial-vc", 0);
- DO_TEST("serial-pty", 0);
- DO_TEST("serial-dev", 0);
- DO_TEST("serial-file", 0);
- DO_TEST("serial-unix", 0);
- DO_TEST("serial-tcp", 0);
- DO_TEST("serial-udp", 0);
- DO_TEST("serial-tcp-telnet", 0);
- DO_TEST("serial-many", 0);
- DO_TEST("parallel-tcp", 0);
- DO_TEST("console-compat", 0);
- DO_TEST("console-compat-auto", 0);
+ QEMUD_CMD_FLAG_NETDEV | QEMUD_CMD_FLAG_NODEFCONFIG, false);
+ DO_TEST("net-eth", 0, false);
+ DO_TEST("net-eth-ifname", 0, false);
+ DO_TEST("net-eth-names", QEMUD_CMD_FLAG_NET_NAME, false);
+
+ DO_TEST("serial-vc", 0, false);
+ DO_TEST("serial-pty", 0, false);
+ DO_TEST("serial-dev", 0, false);
+ DO_TEST("serial-file", 0, false);
+ DO_TEST("serial-unix", 0, false);
+ DO_TEST("serial-tcp", 0, false);
+ DO_TEST("serial-udp", 0, false);
+ DO_TEST("serial-tcp-telnet", 0, false);
+ DO_TEST("serial-many", 0, false);
+ DO_TEST("parallel-tcp", 0, false);
+ DO_TEST("console-compat", 0, false);
+ DO_TEST("console-compat-auto", 0, false);
DO_TEST("serial-vc-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-pty-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-dev-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-file-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-unix-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-tcp-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-udp-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-tcp-telnet-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("serial-many-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("parallel-tcp-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("console-compat-chardev", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("channel-guestfwd", QEMUD_CMD_FLAG_CHARDEV|QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("channel-virtio", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("channel-virtio-auto", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("console-virtio", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
- DO_TEST("watchdog", 0);
+ DO_TEST("watchdog", 0, false);
DO_TEST("watchdog-device", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("balloon-device", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("balloon-device-auto", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
- DO_TEST("sound", 0);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
+ DO_TEST("sound", 0, false);
DO_TEST("sound-device", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("fs9p", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG | QEMUD_CMD_FLAG_FSDEV);
+ QEMUD_CMD_FLAG_NODEFCONFIG | QEMUD_CMD_FLAG_FSDEV, false);
- DO_TEST("hostdev-usb-address", 0);
+ DO_TEST("hostdev-usb-address", 0, false);
DO_TEST("hostdev-usb-address-device", QEMUD_CMD_FLAG_DEVICE |
- QEMUD_CMD_FLAG_NODEFCONFIG);
- DO_TEST("hostdev-pci-address", QEMUD_CMD_FLAG_PCIDEVICE);
+ QEMUD_CMD_FLAG_NODEFCONFIG, false);
+ DO_TEST("hostdev-pci-address", QEMUD_CMD_FLAG_PCIDEVICE, false);
DO_TEST("hostdev-pci-address-device", QEMUD_CMD_FLAG_PCIDEVICE |
- QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG);
+ QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG, false);
- DO_TEST_FULL("restore-v1", QEMUD_CMD_FLAG_MIGRATE_KVM_STDIO, "stdio");
- DO_TEST_FULL("restore-v2", QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC, "stdio");
- DO_TEST_FULL("restore-v2", QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC, "exec:cat");
- DO_TEST_FULL("migrate", QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP, "tcp:10.0.0.1:5000");
+ DO_TEST_FULL("restore-v1", QEMUD_CMD_FLAG_MIGRATE_KVM_STDIO, "stdio", false);
+ DO_TEST_FULL("restore-v2", QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC, "stdio", false);
+ DO_TEST_FULL("restore-v2", QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC, "exec:cat", false);
+ DO_TEST_FULL("migrate", QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP, "tcp:10.0.0.1:5000", false);
- DO_TEST("qemu-ns", 0);
+ DO_TEST("qemu-ns", 0, false);
- DO_TEST("smp", QEMUD_CMD_FLAG_SMP_TOPOLOGY);
+ DO_TEST("smp", QEMUD_CMD_FLAG_SMP_TOPOLOGY, false);
free(driver.stateDir);
virCapabilitiesFree(driver.caps);
--
1.7.3.1
14 years, 1 month
[libvirt] [PATCH] maint: ignore new test executable
by Eric Blake
* tests/.gitignore: Sort, and add sockettest.
---
Pushing under the trivial rule, so that I don't accidentally add
a binary when I do 'git add .'.
tests/.gitignore | 47 +++++++++++++++++++++++------------------------
1 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/tests/.gitignore b/tests/.gitignore
index e7c74c5..8ad3e98 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -1,35 +1,34 @@
-Makefile
-Makefile.in
+*.exe
.deps
.libs
-sexpr2xmltest
-xml2sexprtest
-virshtest
conftest
-reconnect
-xmconfigtest
-xencapstest
-qemuxml2xmltest
-qemuxml2argvtest
-qemuargv2xmltest
-qemuhelptest
+esxutilstest
+eventtest
+interfacexml2xmltest
networkxml2xmltest
nodedevxml2xmltest
-interfacexml2xmltest
-storagevolxml2xmltest
-storagepoolxml2xmltest
nodeinfotest
-statstest
-qparamtest
-virbuftest
-seclabeltest
-eventtest
-*.exe
object-locking
+object-locking-files.txt
object-locking.cmi
object-locking.cmx
-object-locking-files.txt
-esxutilstest
+qemuargv2xmltest
+qemuhelptest
+qemuxml2argvtest
+qemuxml2xmltest
+qparamtest
+reconnect
+secaatest
+seclabeltest
+sexpr2xmltest
+sockettest
+statstest
+storagepoolxml2xmltest
+storagevolxml2xmltest
+virbuftest
+virshtest
vmx2xmltest
+xencapstest
+xmconfigtest
+xml2sexprtest
xml2vmxtest
-secaatest
--
1.7.2.3
14 years, 1 month
[libvirt] [PATCH 0/1] Convert network driver to use virSocketAddr
by Daniel P. Berrange
This is an experimental (read: completely untested) patch that
converts the network driver to use virSocketAddr everywhere.
The primary motivation for this is that it'll make it easier to
add IPv6 support, and lets us talk to OS level services easier
because they typically take a sockaddr struct.
14 years, 1 month
[libvirt] [PATCH] docs: added a table of contents to the new c sharp bindings page
by Justin Clift
---
docs/csharp.html.in | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/docs/csharp.html.in b/docs/csharp.html.in
index 3e15176..a32fbd2 100644
--- a/docs/csharp.html.in
+++ b/docs/csharp.html.in
@@ -3,7 +3,9 @@
<body>
<h1>C# API bindings</h1>
- <h2>Description</h2>
+ <ul id="toc"></ul>
+
+ <h2><a name="description">Description</a></h2>
<p>
The C# libvirt bindings are a class library. They use a Microsoft
@@ -18,7 +20,7 @@
<p> </p>
- <h2>Requirements</h2>
+ <h2><a name="requirements">Requirements</a></h2>
<p>
These bindings depend upon the libvirt libraries being installed.
@@ -29,7 +31,7 @@
<p> </p>
<!-- 2010-10-19 JC: Commented out until we have C# tarballs to download
- <h2>Getting them</h2>
+ <h2><a name="getting">Getting them</a></h2>
<p>
The latest versions of the libvirt C# bindings can be downloaded from:
@@ -41,7 +43,7 @@
</ul>
-->
- <h2>GIT source repository</h2>
+ <h2><a name="git">GIT source repository</a></h2>
<p>
The C# bindings source code is maintained in a <a
href="http://git-scm.com/">git</a> repository available on
@@ -62,7 +64,7 @@ git clone git://libvirt.org/libvirt-csharp.git
<p> </p>
- <h2>Usage</h2>
+ <h2><a name="usage">Usage</a></h2>
<p>
The class library exposes the <b>LibvirtBindings</b> namespace.
@@ -80,7 +82,7 @@ git clone git://libvirt.org/libvirt-csharp.git
<p> </p>
- <h2>Authors</h2>
+ <h2><a name="authors">Authors</a></h2>
<p>
The C# bindings are the work of Arnaud Champion
@@ -90,7 +92,7 @@ git clone git://libvirt.org/libvirt-csharp.git
<p> </p>
- <h2>Notes on testing</h2>
+ <h2><a name="notes">Notes on testing</a></h2>
<p>
Windows testing is performed on Windows 7, with .NET 4, Visual Studio 2010, and MonoDevelop 2.4.
@@ -101,7 +103,7 @@ git clone git://libvirt.org/libvirt-csharp.git
<p> </p>
- <h2>Type Coverage</h2>
+ <h2><a name="type">Type Coverage</a></h2>
<p>
Coverage of the libvirt types is:
@@ -178,7 +180,7 @@ git clone git://libvirt.org/libvirt-csharp.git
<p> </p>
- <h2>Function Coverage</h2>
+ <h2><a name="funccover">Function Coverage</a></h2>
<p>
Coverage of the libvirt functions is:
--
1.7.2.3
14 years, 1 month