[libvirt] How to add a new Hypervisor support

Daniel Veillard veillard at redhat.com
Wed May 28 13:10:18 UTC 2008


On Wed, May 28, 2008 at 07:01:59AM -0600, Amudhan Gunasekaran wrote:
> Hi,
> 
> I am investigating libvirt to find out whether adding a hypervisor support is possible. I went through libvirt.c and found that all the operations are done through the struct virConnect. But virConnect is not exposed to public. So, if I want to add a minimum support for VMWare and Hyper-V hypervisors, is it possible? If it is possible, how should I proceed. 

  Basically each kind of hypervisor is registered though a driver, an
non-public structure but acting as a separation between the generic 
part of the library and the specifics of each hypervisor.
  See the virDriver structure defined in driver.h and the file
test.c implementing one of the simplest drivers.
  The driver modules then export a single function to register the
driver (e.g. testRegister() in test.[ch]) which is then called
in virInitialize().

  Of course that means the hypervisor driver need to be compiled as
part of libvirt sources. 
  
  When you wrote "minimum support for VMWare", how did you expect to
achieve this, I have looked at this too, there is at least a couple
of options (VIX or SOAP rpc basically), i started looking at the SOAP
possibility. One of the interesting challenge is keeping the LGPL licencing
of the library.

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/




More information about the libvir-list mailing list