[Engine-devel] VDSM REST API

Adam Litke agl at us.ibm.com
Tue Apr 3 22:03:26 UTC 2012


Hi all,

At the oVirt Workshop in Beijing I learned about how the ovirt-shell dynamically
discovers: the collections, resource schemas, and allowed actions based on an
RSDL file and API xsd schema.  I am working on a REST API for vdsm and would
like to make my API compatible with the ovirt-engine api such that the same
ovirt-shell program could work with either the engine api or the vdsm api.

There are many differences between ovirt-engine and vdsm (namely that one is
implemented in Java and the other in Python).  I think the easiest way to test
whether this is possible is to try and create a new, minimalist REST service with
python Cherrypy.  Such a service would have a root URL with no collections or
actions.  From my understanding I will need to write the following files:

/api	    - A basic XML representation of the API root resource
/api?schema - An xsd that describes the simple API
/api?rsdl   - An rsdl (XML file) that describes the available links

for /api, I want to start with something dead-simple:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<api>
  <messages>
    <message id='foo' href='bar'>
      Hello from vdsm!
    </message>
  </messages>
</api>

Once I can use ovirt-shell to list messages and show messages I will be happy to
build on it.  Can anyone help me figure out the minimal xsd and rsdl that would
be needed for such an API to be consumable by ovirt-shell?  Thanks for your
help!

-- 
Adam Litke <agl at us.ibm.com>
IBM Linux Technology Center




More information about the Devel mailing list