On Mon, Jul 19, 2010 at 01:26:10AM +0200, Matthias Bolte wrote: > Add a pointer to the primary context of a connection and use it in all > driver functions that don't dependent on the context type. This includes > almost all functions that deal with a virDomianPtr. Therefore, using > a vpx:// connection allows you to perform all the usual domain related > actions like start, destroy, suspend, resume, dumpxml etc. > > Some functions that require an explicitly specified ESX server don't work > yet. This includes the host UUID, the hostname, the general node info, the > max vCPU count and the free memory. Also not working yet are migration and > defining new domains. > --- > docs/drvesx.html.in | 21 +- > src/esx/esx_driver.c | 931 ++++++++++++++++++++++++------------------ > src/esx/esx_private.h | 1 + > src/esx/esx_storage_driver.c | 33 +- > src/esx/esx_vmx.c | 2 + > src/libvirt.c | 1 + > 6 files changed, 562 insertions(+), 427 deletions(-) > > diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in > index e8cee77..1f2ae4e 100644 > --- a/docs/drvesx.html.in > +++ b/docs/drvesx.html.in > @@ -4,13 +4,14 @@ > <p> > The libvirt VMware ESX driver can manage VMware ESX/ESXi 3.5/4.0 and > VMware GSX 2.0, also called VMware Server 2.0, and possibly later > - versions. > + versions. <span class="since">Since 0.8.3</span> the driver can also > + connect to a VMware vCenter 2.5/4.0 (VPX). > </p> > > > <h2><a name="prereq">Deployment pre-requisites</a></h2> > <p> > - None. Any out-of-the-box installation of ESX/GSX should work. No > + None. Any out-of-the-box installation of VPX/ESX(i)/GSX should work. No > preparations are required on the server side, no libvirtd must be > installed on the ESX server. The driver uses version 2.5 of the remote, > SOAP based > @@ -27,10 +28,11 @@ > Some example remote connection URIs for the driver are: > </p> > <pre> > -esx://example.com (ESX over HTTPS) > -gsx://example.com (GSX over HTTPS) > -esx://example.com/?transport=http (ESX over HTTP) > -esx://example.com/?no_verify=1 (ESX over HTTPS, but doesn't verify the server's SSL certificate) > +vpx://example-vcenter.com (VPX over HTTPS) > +esx://example-esx.com (ESX over HTTPS) > +gsx://example-gsx.com (GSX over HTTPS) > +esx://example-esx.com/?transport=http (ESX over HTTP) > +esx://example-esx.com/?no_verify=1 (ESX over HTTPS, but doesn't verify the server's SSL certificate) > </pre> > <p> > <strong>Note</strong>: In contrast to other drivers, the ESX driver is > @@ -49,9 +51,9 @@ esx://example.com/?no_verify=1 (ESX over HTTPS, but doesn't verify the serve > type://[username@]hostname[:port]/[?extraparameters] May I suggest a small extra sentence here, explaining how to compose extraparameters ? User may find from lookuing above that they need to use: arg=value but there is no indication on how to separate multiple parameter. > </pre> > <p> [...] > diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c > index 33f421d..5922cb6 100644 > --- a/src/esx/esx_driver.c > +++ b/src/esx/esx_driver.c > @@ -67,6 +67,11 @@ esxSupportsLongMode(esxPrivate *priv) > return priv->supportsLongMode; > } > > + if (priv->host == NULL) { > + /* FIXME: Currently no host for a vpx:// connection */ > + return esxVI_Boolean_False; > + } > + What about emitting an error in those cases ? [...] > @@ -661,6 +729,11 @@ esxSupportsVMotion(esxPrivate *priv) > return priv->supportsVMotion; > } > > + if (priv->host == NULL) { > + /* FIXME: Currently no host for a vpx:// connection */ > + return esxVI_Boolean_False; > + } > + I feel ignorant here. I would assume that a vpx:// connection being to a vCenter vould allow to migrate, care to explain :-) ? [...] > @@ -2173,6 +2283,7 @@ esxDomainDumpXML(virDomainPtr domain, int flags) > } > > esxVI_String_Free(&propertyNameList); > + esxVI_ObjectContent_Free(&datacenter); > esxVI_ObjectContent_Free(&virtualMachine); > VIR_FREE(datastoreName); > VIR_FREE(directoryName); I'm a bit suspicious, I see no virFree(datacenterName) here ... normal ? Okay, overall a very large part of the patch is the change from priv->host to priv->primary, and there is still some TODOs without an error, I assume they will get fixed soon, based on this and after double checking the few points I raised, ACK :-) thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list