On Sep 12, 2014, at 5:53 PM, Eichberger, German <german.eichber...@hp.com> 

> Hi,
> I think the “standard” threading library for OpenStack is eventlet – however, 
> it seems that Oslo is spearheading efforts to get to a more compatible one 
> (see http://techs.enovance.com/6562/asyncio-openstack-python3) I am now 
> wondering since we are starting fresh if we should embrace (a potential) 
> future or stick with eventlet and all its flaws?

the so-called “flaws” of implicit async are up for debate.    A “flaw” of 
asyncio is that it requires a full rewrite of code that uses it, as well as all 
libraries which it consumes that also happen to use IO.    This includes the 
particularly salient topic that none of the Python database APIs that exist, 
other than psycopg2, have any support for true non-blocking code at the IO 
level, without using monkeypatching.  the standard Python DBAPI (pep 249) has 
no support for explicit async, so any APIs that do so are ad-hoc (see 
http://initd.org/psycopg/docs/advanced.html#async-support for psycopg2’s very 
well done, but entirely non-standard API in this regard).

Once you’re on explicit async, simple imperative code that happens to make 
calls which imply IO is no longer possible.   This is kind of a blocker to 
end-to-end integration of asyncio in all of Openstack, rather than just making 
use of it in those areas where it is already directly applicable.

This has been discussed in depth at 

OpenStack-dev mailing list

Reply via email to