← Back to team overview

openstack team mailing list archive

Re: OpenStack Java API

 

Thanks Jorge for your comments:

On Tue, Feb 21, 2012 at 6:42 PM, Jorge Williams <
jorge.williams@xxxxxxxxxxxxx> wrote:

>  Some thoughts,
>
>  Using the binding to generate WADLs and XSDs would definitely be useful
> -- especially since a lot of the extensions are currently undocumented.
>  Certainly we can use these as a starting point for our documentation
> efforts.
>
>
That's fantastic. Currently, we have a rough binding that sources many
points python, openstack docs, http logs ... It will be prettyfied before
the release, the target here was collect as many parameter as possible and
try to tidy up
them.


>  Keep in mind, though, that extensions are optional and the extensions
> your binding will encounter will vary from one deployment to the next.  You
> should be making a call to /extensions to auto detect what extensions are
> available on the server side and adjust accordingly.
>

>  Don't make the assumption that because an auto generated schema
> validates against a stock OpenStack install, that it will validate against
> all OpenStack deployments.  Vendors may choose to remove and add features,
> only the core API is guaranteed.
>
>  The schemas that we're currently publishing in
>
>  https://github.com/openstack/compute-api
>
>  have forward compatibility rules that keep them ticking in the presence
> of new extensions. Any schema's you produce should have similar rules.  See
> the
>
>  @XmlAnyElement and @XmlAnyAttribute
>
>  as a means of capturing and exposing these extra attributes with JAXB.
>

Justin has done an excellent job in this part. It'll be supported on the
first alpha release.

>
>  Once you produce these XSDs/WADLs  would you mind sending them to our
> Docs team?
>

Definitly, we have planned to publish as soon as possible all the XSD and
WADL stuff. This is not published yet in order not to confuse the community
(extensions
part you commented before)

Thanks again Jorge


>  Things like:
>
>  http://api.openstack.org/    and
> http://docs.openstack.org/api/
>
>  are all driven by them.
>
>  Thanks,
>
>  -jOrGe W.
>
>  On Feb 16, 2012, at 9:16 AM, Luis Gervaso wrote:
>
> You can use schemagen to generate the XSD from the java classes. You can
> try, this it's working from now.
>
> We have not published yet because the schemas are unstable. I have planned
> to publish them starting with Essex release.
>
> We will not publish any WADL since we are on the client side. I'm
> evaluating to create extra services for the server side regarding to the
> billing part and they will have WADL.
>
> Regards
>
> On Thu, Feb 16, 2012 at 8:48 AM, Craig Vyvial <cp16net@xxxxxxxxx> wrote:
>
>> Once you have the API implemented in with Jersey you can get the XSD like
>> you said and also a valid up to date WADL. That could be very useful for
>> docs and/or other devs.
>>
>>  Great work!
>>
>>  -Craig Vyvial
>>
>>
>> On Wed, Feb 15, 2012 at 8:19 PM, Luis Gervaso <luis@xxxxxxxxx> wrote:
>>
>>> Hi Justin,
>>>
>>> Great!
>>>
>>> I have tried a variety of options to implement this in a clean way. As
>>> you can see Jersey afford it in the most clean way.
>>>
>>> My thoughts to make this are:
>>>
>>> 1. Start with a handcoded JAXB annotations, since the schemas are
>>> out-of-date and then we will create the XSD super easy.
>>> 2. I have seen than in servers endpoint the structure of XML and JSON
>>> are not the same (networks / addresses part). Then i decided
>>> to start the binding from XML in order to have as soon as posible the
>>> generated schemas and then apply any patch to make it work
>>> with JSON as well.
>>> 3. For my point of view HATEOAS is a must. The Client API must be easy
>>> integrated with any business process or workflow. I know that
>>> this will be funny since we are on the cutting edge, I think the next
>>> version of Jersey have an early support for this.
>>>
>>> Cheers!
>>>
>>> Luis
>>>
>>>
>>>
>>> On Thu, Feb 16, 2012 at 12:14 AM, Justin Santa Barbara <
>>> justin@xxxxxxxxxxxx> wrote:
>>>
>>>> This is awesome.  I was working on a binding myself, but your use of
>>>> jersey makes for much less code.
>>>>
>>>>  I've extended your work in a github fork.  I added a CLI so that I
>>>> could test it out; the few bits of functionality that I added work great
>>>> and I'm going to try using it as my primary interface and fixing/adding
>>>> things that aren't working.
>>>>
>>>>  One goal I have is to do extensions "right".  So we should allow
>>>> people to code extensions without changing the core API code (equivalently,
>>>> we shouldn't assume that we know all the extensions when we build the API).
>>>>  I have an example of how this can be done where extra XML attributes are
>>>> returned (which happens on an out-of-the-box server listing); I'm going to
>>>> do more work on more advanced scenarios (extra elements, extra REST
>>>> endpoints).  I would eventually like to use the (hand-coded) Java models to
>>>> generate valid XSD files.
>>>>
>>>>  My fork is here:  https://github.com/justinsb/openstack-java-sdk  I'd
>>>> like to work together on this!
>>>>
>>>>  Justin
>>>>
>>>> ---
>>>>
>>>> Justin Santa Barbara
>>>> Founder, FathomDB
>>>>
>>>>
>>>>
>>>>
>>>> On Mon, Feb 13, 2012 at 8:53 AM, Luis Gervaso <luis@xxxxxxxxx> wrote:
>>>>
>>>>> The Dasein Arch is great and the code is very clean. Congrats for it.
>>>>>
>>>>> I can't find a fully implementation of OS API.
>>>>>
>>>>> are using EC2 API to talk with OS?
>>>>>
>>>>> Cheers!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Feb 11, 2012 at 8:15 PM, George Reese <
>>>>> george.reese@xxxxxxxxxxxxx> wrote:
>>>>>
>>>>>> There's also Dasein Cloud if you are interested at
>>>>>> http://dasein-cloud.sf.net.
>>>>>>
>>>>>>  -George
>>>>>>
>>>>>>  On Feb 11, 2012, at 12:28 AM, Monty Taylor wrote:
>>>>>>
>>>>>>  Hi!
>>>>>>
>>>>>> Awesome, and thanks for the work!
>>>>>>
>>>>>> Just in case you didn't know about it:
>>>>>>
>>>>>> http://www.jclouds.org/
>>>>>>
>>>>>> Is a Java library with multi-cloud support, including OpenStack, which
>>>>>> might be a fun place for you to hack - and I know Adrian loves
>>>>>> contributors.
>>>>>>
>>>>>> On the other hand, any amount of Java story for OpenStack is good
>>>>>> news.
>>>>>>
>>>>>> Thanks!
>>>>>> Monty
>>>>>>
>>>>>> On 02/10/2012 12:08 PM, Luis Gervaso wrote:
>>>>>>
>>>>>> Till i know Nova 1.0 is deprecated, so it will not be implemented.
>>>>>>
>>>>>>
>>>>>>  Nova 1.1 is almost implemented (working now with extensions :
>>>>>> volumes /
>>>>>>
>>>>>> snapshots / storagearrays)
>>>>>>
>>>>>>
>>>>>>  Nova 2.0 is a must
>>>>>>
>>>>>>
>>>>>>  Glance (working now on it, this is the most easy to implement API)
>>>>>>
>>>>>>
>>>>>>  Swift Java API from Rackspace is stable enough, so I will integrate
>>>>>> at
>>>>>>
>>>>>> the end.
>>>>>>
>>>>>>
>>>>>>  Hope to hear about this roadmap.
>>>>>>
>>>>>>
>>>>>>  Luis
>>>>>>
>>>>>>
>>>>>>  On Fri, Feb 10, 2012 at 8:56 PM, Marton Kiss <marton.kiss@xxxxxxxxx
>>>>>>
>>>>>> <mailto:marton.kiss@xxxxxxxxx>> wrote:
>>>>>>
>>>>>>
>>>>>>     Hi,
>>>>>>
>>>>>>
>>>>>>     Nice start Luis. Do you have some plans to support different OS
>>>>>> API
>>>>>>
>>>>>>    versions? Anybody knows about a similar effort to write a PHP
>>>>>> client?
>>>>>>
>>>>>>
>>>>>>     Regards,
>>>>>>
>>>>>>     Márton Kiss, CTO
>>>>>>
>>>>>>     Xemeti
>>>>>>
>>>>>>
>>>>>>     2012/2/10 Luis Gervaso <luis@xxxxxxxxx <mailto:luis@xxxxxxxxx>>:
>>>>>>
>>>>>>  Hi,
>>>>>>
>>>>>>
>>>>>>   My name is Luis Gervaso. I just upload a developer preview of
>>>>>>
>>>>>>     OpenStack Java
>>>>>>
>>>>>>  SDK on
>>>>>>
>>>>>>
>>>>>>   https://github.com/woorea/openstack-java-sdk/
>>>>>>
>>>>>>
>>>>>>   I want to know if other development efforts have been done in this
>>>>>>
>>>>>>     way in
>>>>>>
>>>>>>  order to contribute.
>>>>>>
>>>>>>
>>>>>>   Regards
>>>>>>
>>>>>>
>>>>>>   --
>>>>>>
>>>>>>
>>>>>>   Luis Alberto Gervaso Martín
>>>>>>
>>>>>>  Java EE Architect & Instructor
>>>>>>
>>>>>>  C/ Cuenca 4A, 2ºB
>>>>>>
>>>>>>  Getafe (Madrid)
>>>>>>
>>>>>>  SPAIN
>>>>>>
>>>>>>  luis@xxxxxxxxx <mailto:luis@xxxxxxxxx>
>>>>>>
>>>>>>
>>>>>>   _______________________________________________
>>>>>>
>>>>>>  Mailing list: https://launchpad.net/~openstack
>>>>>>
>>>>>>  Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>>>>>
>>>>>>     <mailto:openstack@xxxxxxxxxxxxxxxxxxx>
>>>>>>
>>>>>>  Unsubscribe : https://launchpad.net/~openstack
>>>>>>
>>>>>>  More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>  --
>>>>>>
>>>>>>
>>>>>>  Luis Alberto Gervaso Martín
>>>>>>
>>>>>> Java EE Architect & Instructor
>>>>>>
>>>>>> C/ Cuenca 4A, 2ºB
>>>>>>
>>>>>> Getafe (Madrid)
>>>>>>
>>>>>> SPAIN
>>>>>>
>>>>>> mobile: (+34) 627983344
>>>>>>
>>>>>> luis@xxxxxxxxx <mailto:luis@xxxxxxxxx>
>>>>>>
>>>>>>
>>>>>>
>>>>>>  _______________________________________________
>>>>>>
>>>>>> Mailing list: https://launchpad.net/~openstack
>>>>>>
>>>>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>>>>>
>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>>
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~openstack
>>>>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>>
>>>>>>   --
>>>>>> George Reese - Chief Technology Officer, enStratus
>>>>>> e: george.reese@xxxxxxxxxxxxx    Skype: nspollution    t:
>>>>>> @GeorgeReese    p: +1.207.956.0217
>>>>>> enStratus: Enterprise Cloud Management - @enStratus -
>>>>>> http://www.enstratus.com
>>>>>> To schedule a meeting with me: http://tungle.me/GeorgeReese
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~openstack
>>>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~openstack
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openstack
>>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openstack
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>>
>>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>
>
>

References