[openstack-dev] [nova] Placement API WSGI code -- let's just use flask

Sylvain Bauza sbauza at redhat.com
Tue Jun 21 12:05:59 UTC 2016

Le 21/06/2016 14:00, Sean Dague a écrit :
> On 06/21/2016 07:39 AM, Jay Pipes wrote:
>> On 06/21/2016 05:43 AM, Sylvain Bauza wrote:
>>> Le 21/06/2016 10:04, Chris Dent a écrit :
>>>> On Mon, 20 Jun 2016, Jay Pipes wrote:
>>>>> Flask seems to be the most widely used and known WSGI framework so
>>>>> for consistency's sake, I'm recommending we just use it and not rock
>>>>> this boat. There are more important things to get hung up on than
>>>>> this battle right now.
>>>> That seems perfectly reasonable. My main goal in starting the
>>>> discussion was to ensure that we reach some kind of consensus,
>>>> whatever it might be[1]. It won't be too much of an ordeal to
>>>> turn the existing pure WSGI stuff into Flask stuff.
>>>>  From my standpoint doing the initial development in straight WSGI
>>>> was a win as it allowed for a lot of clarity from the inside out.
>>>> Now that that development has shown the shape of the API we can
>>>> do what we need to do to make it clear from outside in.
>>>> Next question: There's some support for not using Paste and
>>>> paste.ini. Is anyone opposed to that?
>>> Given Flask is not something we support yet in Nova, could we discuss on
>>> that during either a Nova meeting, or maybe wait for the midcycle ?
>> I really don't want to wait for the mid-cycle. Happy to discuss in the
>> Nova meeting, but my preference is to have Chris just modify his patch
>> series to use Flask now and review it.
>>> To be honest, Chris and you were saying that you don't like Flask, and
>>> I'm a bit agreeing with you. Why now it's a good possibility ?
>> Because Doug persuaded me that the benefits of being consistent with
>> what the community is using outweigh my (and Chris') personal misgivings
>> about the particular framework.
> Just to be clear....
> http://codesearch.openstack.org/?q=Flask%3E%3D0.10&i=nope&files=&repos=
> Flask is used by 2 (relatively new) projects in OpenStack

TBC, even Blazar (ex. Climate reservation system) no longer uses Flask 
for its API v2 (Pecan+WSME), just for the legacy v1.

> If we look at the iaas base layer:
> Keystone - custom WSGI with Routes / Paste
> Glance - WSME + Routes / Paste
> Cinder - custom WSGI with Routes / Paste
> Neutron - pecan + Routes / Paste
> Nova - custom WSGI with Routes / Paste
> I honestly don't think raw WSGI is a bad choice here. People are going
> to be pretty familiar with it in related projects at this level.
> Using selector instead of Routes makes things different for unclear
> gain. Sticking with Routes seems more prudent.

I tend to agree with you here. Also, tbc, the placement API is still in 
the Nova tree so that's why I wonder why we should have a different WSGI 

> Doing Flask is fine, but do it because we think that's the way things
> should be done, not because it's a common in our community, which it
> clearly is not. The common pattern is custom WSGI + Routes / Paste (at
> least at this layer in the stack).


> 	-Sean

More information about the OpenStack-dev mailing list