On 09/24/2012 05:24 PM, Daniel P. Berrange wrote:
On Mon, Sep 24, 2012 at 04:51:37PM +0200, Roy Golan wrote:
> Here's a draft wiki of the libosinfo integration with the engine
>
http://wiki.ovirt.org/wiki/Libosinfo
>
> please share your comments on this thread and I'll update the wiki
> accordingly.
As a libosinfo maintainer I strongly discourage you from writing a custom
API directly against the XML. While the format is stable from the POV
that vendors/users can create new XML docs for new/customized OS variants
they have, we do not consider it something for applications to be using
directly. The libosinfo library API includes alot of logic beyond simply
being an convenient way to process the XML. In particular dealing with
the inheritance of data across OS, searching for data across a variety
of data sources, relying on GIO for URI resolving, live update of the
database, and more.
We're also not really interested in maintaining manually written bindings
for any languages. Rather than putting effort into such bindings for Java,
time is better spent on finishing the GOBject introspection mapping layer
for Java. There was a proof of concept, which was never finished / updated
to the final introspection spec, which can be used as a basis for ongoing
development.
https://live.gnome.org/JGIR
This work will be applicable way beyond just libosinfo, to a wide
variety of useful APIs. Of possible interest to VDSM in the future will
be things like the new libvirt-designer & libvirt-builder APIs which
are going to provide a bridge between libvirt + libosinfo to simply
life for application developers constructing XML for provisioning
guests.
I think that the use of JGIR has already been discussed as a way to
interface the engine with libvdsm.so:
http://lists.ovirt.org/pipermail/arch/2012-August/000760.html
If I remember correctly the outcome of that discussion was that it
shouldn't be used because it is considered dangerous to use native
libraries from Java and because JGIR itself is very outdated. I don't
100% agree with the first part, but the second part is completely true.
Anyhow, as it seems to be the right way to interface with libosinfo and
future libvirt capabilities, we may want to rethink and put some effort
to bring it up to date.
--
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
3ºD, 28016 Madrid, Spain
Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.