[openstack-dev] [Solum] Choice of API infrastructure

Adrian Otto adrian.otto at rackspace.com
Sun Nov 3 15:37:50 UTC 2013


On Nov 3, 2013, at 6:54 AM, Jay Pipes <jaypipes at gmail.com> wrote:

> On 11/02/2013 11:26 PM, Russell Bryant wrote:
>> On 11/02/2013 11:54 AM, Adrian Otto wrote:
>>> Noorul,
>>> 
>>> I agree that key decisions should be tracked in blueprints. This is the
>>> one for this decision which was made in our 2013-10-18 public meeting.
>>> Jay's submission is consistent with the direction indicated by the team.
>>> 
>>> https://blueprints.launchpad.net/solum/+spec/rest-api-base
>>> 
>>> Transcript log:
>>> http://irclogs.solum.io/2013/solum.2013-10-08-16.01.log.html
>>> <http://irclogs.solum.io/2013/solum.2013-10-08-16.01.log.html>
>> 
>> Heh, not much discussion there.  :-)
> 
> Agreed. I actually didn't know anything about the discussion -- I wasn't at the meeting. I just figured I would throw some example code up to Gerrit that shows how Falcon can be used for the API plumbing. Like I mentioned in a previous email, I believe it's much easier to discuss things when there is sample code...
> 
>> Here's my take ... Pecan+WSME has been pushed as the thing to
>> standardize on across most OpenStack APIs.  Ceilometer (and maybe
>> others?) are already using it.  Others, such as Nova, are planning to
>> use it this cycle. [1][2]
> 
> I've used both actually, and I've come to prefer Falcon because of its simplicity and specifically because of the following things:
> 
> * It's lack of integration with WSME, which I don't care for. I don't care for WSME because I believe it tries to put the model at the view layer, instead of where it belongs, at the model layer.
> * It doesn't need a configuration file, specifically a configuration file that is a Python file as opposed to an .ini file.
> 
>> I care less about the particular choice and more about consistency.  It
>> brings a lot of value, such as making it a lot easier for developers to
>> jump around between the OpenStack projects.  Can we first at least agree
>> that there is value in standardizing on *something* for most OpenStack APIs?
> 
> I completely understand the need for consistency. I pushed my patch as an example of how to do things the Falcon way. While I would prefer Falcon over Pecan (and certainly over Pecan+WSME), I will respect the push towards consistency if that's what is most important.
> 
> That said, I also believe that the projects in Stackforge should be the "laboratories of experiment", and these projects may serve as a good playground for various implementations of things. I remind the reader that over time, the development community has standardized on various things, only to find a better implementation in an incubated project. Pecan+WSME is actually an example of that experimentation turned accepted standard.
> 
> Best,
> -jay
> 
>> I understand that there may be cases where the needs for an API justify
>> being different.  Marconi being more of a data-plane API vs
>> control-plane means that performance concerns are much higher, for example.
>> 
>> If we agree that consistency is good, does Solum have needs that make it
>> different than the majority of OpenStack APIs?  IMO, it does not.
>> 
>> Can someone lay out a case for why all OpenStack projects should be
>> using Falcon, if that's what you think Solum should use?
>> 
>> Also, is anyone willing to put up the equivalent of Jay's review [3],
>> but with Pecan+WSME, to help facilitate the discussion?
>> 
>> [1]
>> http://icehousedesignsummit.sched.org/event/b2680d411aa7f5d432438a435ac21fee
>> [2]
>> http://icehousedesignsummit.sched.org/event/4a7316a4f5c6f783e362cbba2644bae2
>> [3] https://review.openstack.org/#/c/55040/
>> 

I added this subject to our next meeting agenda: https://wiki.openstack.org/wiki/Meetings/Solum

Adrian


More information about the OpenStack-dev mailing list