Hi,

During the last OpenStack Summit at Paris, we discussed how we can port 
OpenStack to Python 3, because eventlet was not compatible with Python 3. There 
are multiple approaches: port eventlet to Python 3, replace eventlet with 
asyncio, replace eventlet with threads, etc. We decided to not take a decision 
and instead investigate all options.

I fixed 4 issues with monkey-patching in Python 3 (importlib, os.open(), 
threading.RLock, threading.Thread). Good news: the just released eventlet 
0.17.3 includes these fixes and it is now fully compatible with Python 3! For 
example, the Oslo Messaging test suite now pass with this eventlet version! 
Currently, eventlet is disabled in Oslo Messaging on Python 3 (eventlet tests 
are skipped).

I just sent a patch for requirements and Oslo Messaging to bump to eventlet 
0.17.3, but it will have to wait until everyone has master as Liberty.

   https://review.openstack.org/#/c/172132/
   https://review.openstack.org/#/c/172135/

It becomes possible to port more projects depending on eventlet to Python 3!

Liberty cycle will be a good opportunity to port more OpenStack components to 
Python 3. Most OpenStack clients and Common Libraries are *already* Python 3 
compatible, see the wiki page:

   https://wiki.openstack.org/wiki/Python3

--

To replace eventlet, I wrote a spec to replace it with asyncio:

   https://review.openstack.org/#/c/153298/

Joshua Harlow wrote a spec to replace eventlet with threads:

   https://review.openstack.org/#/c/156711/

But then he wrote a single spec "Replace eventlet + monkey-patching with ??" 
which covers threads and asyncio:

   https://review.openstack.org/#/c/164035/

Victor

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to