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(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/