On Jun 24, 2012, at 2:30 PM, Ata Bohra <ata.husain(a)hotmail.com> wrote:
Hi Everyone,
I am relatively new to libvirt community; have worked on it from last half year mostly
towards adding few missing APIs especially for ESX driver. One of the features I worked
was installing a domain (VM) using OVAs. It is been a long time OVA became defacto
standard for distributing and installing Virtual Machines, but surprisingly libvirt does
not provide support for it. I wanted to perform a quick sanity int the community so that I
am not stepping on anyone feet here. So far, I have working code, but to contribute
upstream would require a bit of a cleanup work.
One of the concern that I intend to get inputs on:
OVA is a tar format archive, the first pre-requisite is to parse OVA and get following
information:
1. XML descriptor.
2. VMDKs for transfer after domain is created on the hypervisor. (in ESX world that is
done by getting a lease object and then transmitting the disk bits to hypervisor)
I am wondering, where should I put the common code to parse OVA? My initial thought is to
enhance conf/domain_conf.* file, given it already provides parsing routines for XML
descriptor. Waiting for your feedback on this one.
As I am familiar with ESX libvirt interaction, so the immediate plan is to enhance ESX
driver, hopefully in near future will contribute the same feature to KVM/Xen etc.
Thanks!
Ata
Going off of pure memory here but I believe OVA and OVF are related somehow (one is a sub
or super set or one can have multiple machines) but there is already some lifting being
done by open-ovf. One of our guys at work used it to convert some VMWare OVA/OVF VMs to
qemu VMs and got them into libvirt. I know there were some really rough edges but it's
worth looking at their code as an option.
Basically this would involve not teaching libvirt to read OVA format but unpacking that
format and defining an appropriate domain in libvirt. Similiar to what virtinst does now.
The added flexibility is that you could migrate from VMWare to qemu or Xen at the same
time.
I'll try to dig up some scripts on Monday.
--
Doug