[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