[openstack-dev] [oslo] Asyncio and oslo.messaging

Flavio Percoco flavio at redhat.com
Fri Jul 11 08:08:05 UTC 2014


On 07/10/2014 06:46 PM, Mark McLoughlin wrote:
> On Thu, 2014-07-03 at 16:27 +0100, Mark McLoughlin wrote:
>> Hey
>>
>> This is an attempt to summarize a really useful discussion that Victor,
>> Flavio and I have been having today. At the bottom are some background
>> links - basically what I have open in my browser right now thinking
>> through all of this.
>>
>> We're attempting to take baby-steps towards moving completely from
>> eventlet to asyncio/trollius. The thinking is for Ceilometer to be the
>> first victim.
> 
> I got a little behind on this thread, but maybe it'd be helpful to
> summarize some things from this good discussion:

Thanks for summarizing the thread up.


>    - "Is moving to asyncio really a priority compared to other things?"
> 
>      I think Victor has made a good case on "what's wrong with 
>      eventlet?"[1] and, personally, I'm excited about the prospect of 
>      the Python community more generally converging on asyncio. 
>      Understanding what OpenStack would need in order move to asyncio 
>      will help the asyncio effort more generally.
> 
>      Figuring through some of this stuff is a priority for Victor and
>      others, but no-one is saying it's an immediate priority for the 
>      whole project.

Agreed. Lets not underestimate the contributions OpenStack as a
community has done to Python and the fact that it can/should keep doing
them. Experimenting with asyncio will bring to light things that can be
contributed back to the community and it'll also help creating new
scenarios and use-cases around asyncio.

> 
>    - Moving from an implicitly async to an explicitly async programming
>      has enormous implications and we need to figure out what it means
>      for libraries like SQLalchemy and abstraction layers like ORMs. 
> 
>      I think that's well understood - the topic of this thread is 
>      merely how to make a small addition to oslo.messaging (the ability 
>      to dispatch asyncio co-routines on eventlet) so that we can move on
>      to figuring out the next piece of puzzle.

Lets take 1 step at a time. oslo.messaging is a core piece of OpenStack
but it's also a library that can be used outside OpenStack. Having
support for explicit async in oslo.messaging is a good thing for the
library itself regardless of whether it'll be adopted throughout
OpenStack in the long run.


>    - Taskflow vs asyncio - good discussion, plenty to figure out. 
>      They're mostly orthogonal concerns IMHO but *maybe* we decide
>      adopting both makes sense and that both should be adopted together.
>      I'd like to see more concrete examples showing taskflow vs asyncio
>      vs taskflow/asyncio to understand better.
>

+1

> So, tl;dr is that lots of work remains to even begin to understand how
> exactly asyncio could be adopted and whether that makes sense. The
> thread raises some interesting viewpoints, but I don't think it moves
> our understanding along all that much. The initial mail was simply about
> unlocking one very small piece of the puzzle.
> 

Agreed. I'm happy to help moving this effort forward and gather some
real-life results onto which we can base future plans and decisions.

Flavio.

-- 
@flaper87
Flavio Percoco



More information about the OpenStack-dev mailing list