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

Mark McLoughlin markmc at redhat.com
Thu Jul 10 16:46:50 UTC 2014


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:

   - "Where/when was this decided?!?"

     Victor is working on prototyping how an OpenStack service would
     move to using asyncio. Whether a move to asyncio across the board
     makes sense - and what exactly it would look like - hasn't been
     *decided*. The idea is merely being explored at this point.

   - "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.

   - 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.

   - Some people are clearly skeptical about whether asyncio is the 
     right thing for Python generally, whether it's the right thing for 
     OpenStack, whatever. Personally, I'm optimistic but I don't find 
     the conversation all that interesting right now - I want to see 
     how the prototype efforts work out before making a call about 
     whether it's feasible and useful.

   - 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.

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.

Mark.

[1] - http://techs.enovance.com/6562/asyncio-openstack-python3




More information about the OpenStack-dev mailing list