Do a 'ping' test when opening connection to verify XenD really is there & alive

This commit is contained in:
Daniel P. Berrange 2006-06-12 22:21:04 +00:00
parent e5bb0cb052
commit 1213bedf6d
2 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,10 @@
Mon Jun 12 17:22:24 EDT 2006 Daniel P. Berrange <berrange@redhat.com>
* src/xend_internal.c: Call 'xenDomainGetVersion' when trying
to open a connection, as a sort of "ping" test to verify the
Xen daemon connection - fail the open method, if the "ping" is
not successful.
Mon Jun 05 22:31:20 EDT 2006 Daniel P. Berrange <berrange@redhat.com>
* src/test.c, src/test.h: New 'mock' hypervisor driver providing

View File

@ -1651,6 +1651,7 @@ xenDaemonOpen(virConnectPtr conn, const char *name, int flags)
{
xmlURIPtr uri;
int ret;
unsigned long version;
if (name == NULL) {
name = "http://localhost:8000/";
@ -1663,8 +1664,17 @@ xenDaemonOpen(virConnectPtr conn, const char *name, int flags)
}
xmlFreeURI(uri);
return (xenDaemonOpen_tcp(conn, "localhost", 8000));
ret = xenDaemonOpen_tcp(conn, "localhost", 8000);
if (ret < 0) {
return ret;
}
/* A sort of "ping" to make sure the daemon is actually
alive & well, rather than just assuming it is */
if ((ret = xenDaemonGetVersion(conn, &version)) < 0) {
return ret;
}
/* return(xenDaemonOpen_unix(conn, "/var/lib/xend/xend-socket")); */