[libvirt] vCenter behaviour

Matthias Bolte matthias.bolte at googlemail.com
Mon Nov 16 23:40:30 UTC 2009

2009/11/16 Glenn Bailey <gbailey at terremark.com>:
> Howdy,
> I was taking a look at libvirt for controlling a couple of vCenter clusters and noticed it will only let you login directly to an ESX host and not the vCenter server itself. You can pass the "vcenter=" command but this seems to just tell what vcenter server to use and doesn't directly access it. If you do a "list" it still just lists the devices on the given ESX host. For a quick test I modified the esx_driver.c and added the following (I am no c programmer BTW):
>    if (STRCASEEQ(conn->uri->scheme, "esx")) {
>        if (priv->host->productVersion != esxVI_ProductVersion_VPX25 &&
>            priv->host->productVersion != esxVI_ProductVersion_VPX40 &&
>            priv->host->productVersion != esxVI_ProductVersion_ESX35 &&
>            priv->host->productVersion != esxVI_ProductVersion_ESX40) {
> Which would then let me connect directly to the vCenter server and list all the vm's on it. Am I missing something? I'm new to libvirt, but all management of a ESX cluster is always done through vCenter, and not the host. Sorry if this message is redundant as I didn't see anything blaring in the archives ;-)
> glenn
> terremark

Well, the ESX driver was not designed to work that way. The current
design assumes virtual machines run on ESX hosts and a vCenter is some
higher management instance that is necessary for migration. But from
an API point-of-view a vCenter is like an ESX host, a compute resource
with virtual machines attached to it. So there is basically no problem
in handling a vCenter like a single ESX server. It'll need some tweaks
in the ESX driver, but most of its functions should work without
changes. I would like to introduce a vpx:// scheme beside esx:// and
gsx:// to refer to a vCenter.

I'll take care of this after I've finished some other pending patches
for the ESX driver.

Adding support for this doesn't seem to be very complicated, so stay tuned :-)


More information about the libvir-list mailing list