[one-users] API analysis regarding monitoring purposes

Javier Fontan jfontan at gmail.com
Thu Sep 24 10:18:10 PDT 2009


Hello,

On Thu, Sep 24, 2009 at 2:16 PM, Wolf David <wolf at hs-furtwangen.de> wrote:
> My first target is to give an overview of OpenNebulas APIs to provide a
> entry point for everybody. The last weeks I tried to get the big picture out
> of the documentation, previous work and the mailing lists archive. Are there
> more places you'd look for information? Which approach would you chose to
> develop a monitoring application?

http://opennebula.org/documentation is the main source of information
on how OpenNebula works and its API. You can also check the libraries
we use to talk to OpenNebula daemon. Right now we only support ruby
API but probably other languages will be added in the future. Anyway,
the communication with OpenNebula daemon is done using xmlrpc so it is
fairly easy to use it in any other language. We have uploaded
documentation for the ruby xmlrpc (OCA) API to
http://opennebula.org/doc/oca/ and you have the description of xmlrpc
methods in http://opennebula.org/doku.php?id=documentation:rel1.4:api.

What kind of monitorization do you want to do? OpenNebula takes care
of getting information about virtual machines (done inside the virtual
machine manager drivers) and also about the physical hosts where the
VMs are going to run (in the information manager). The information
manager is configured to copy and execute a series of script in the
physical hosts that will collect information and just print that out
to stdout. This information is then added to the database and used for
VM placement.

> At this point I'm having following assumptions:
>
> -libvirt delivers the largest API, even if ONE doesnt support everything

And also not all the features of ONE can be accessed using libvirt.
You have to take into account that the version of drivers included in
libvirt distribution are meant to be used with ONE 1.2.x and will not
work with 1.4 series. We have changed quite a bit the xmlrpc interface
so all the information can be retrieved using this method and direct
database access is not necessary.

> -xml-rpc is rather thin, maybe insufficient

We have not found any reason to use other protocol for our needs. Can
you elaborate on the insufficiencies of this protocol?

> -OCCI is mapping your virtual infrastructure in xml, managable through
> get/put etc
> -OCA, ruby xmlrpc adaptor?

ruby libraries that talk using xmlrpc to OpenNebula daemon. This is
the library used by ONE command line interface.

> I will write some test apps for libvirt and xmlrpc to get a better feeling
> for the output/capabilities.

I would go for the xmlrpc interface as it is the one that supports all
ONE features.

> I'd appreciate any kind of comments, support, ideas or suggestions.
>
> Best regards,

Bye

-- 
Javier Fontan, Grid & Virtualization Technology Engineer/Researcher
DSA Research Group: http://dsa-research.org
Globus GridWay Metascheduler: http://www.GridWay.org
OpenNebula Virtual Infrastructure Engine: http://www.OpenNebula.org



More information about the Users mailing list