[openstack-dev] [oslo] eventlet 0.17.3 is now fully Python 3 compatible

Joe Gordon joe.gordon0 at gmail.com
Wed Apr 22 19:00:39 UTC 2015


On Wed, Apr 22, 2015 at 3:15 AM, Victor Stinner <vstinner at redhat.com> wrote:

> Hi,
>
> It's moving fast. I'm currently working on porting remaining libraries to
> prepare my spec for nova.
>

Great, I did't realize how close all the dependencies were.


>
> > oslo.db -- looks like it is almost there
>
> I don't know the status of oslo.db support of Python 3. I guess that it
> already works on Python 3, it's just a matter of running tests with MySQL
> (MySQL-Python blocks again here).
>
> > oslo.messaging -- same
>
> Two changes of my Python 3 changes were already merged last week. Three
> remaining Python 3 changes are almost there, they are mostly blocked by the
> freeze on requirements, but changes are already approved. The blocker is
> the bump of eventlet to 0.17.3:
> https://review.openstack.org/#/c/172132/
>
> > paste -- almost there
>
> I fixed that last night (!) with the release of Paste 2.0. It's the first
> Paste release since 2010. Paste 2.0 has an experimental support of Python
> 3. It should be enough for nova, according to my quick tests in my local
> nova repository where I fixed most obvious Python 3 issues. Ian Bicking
> allowed me to publish new versions of Paste.
>
> > sqlalchemy-migrate -- almost there
>
> It already supports Python 3, so it doesn't block.
>
> > suds -- with the suds fork shouldn't be too hard
>
> You should just switch to the fork. I contacted the author of suds-jurko:
> he plans to rename its component from "suds-jurko" to "suds". So his fork
> would be simple drop-in which would not require any change in OpenStack
> except of requirements.
>
> > websockify -- unknown
>
> It announces Python 3.3 and 3.4 support and has a py34 env in tox.ini. I
> didn't check yet if it supports Python 3, but since the project is active
> (last commit 12 hours ago), it's shouldn't be hard to fix them quickly.
>
> > libvirt-python -- unknown
>
> Oh, I missed this dependency. It's my next target :-)
>
> > mysql-python -- alternitive looks viable.
>
> Yes, it's possible to replace it with PyMySQL. Does anyone know the status
> of this switch?
>
> > Based on there being two unknowns, and a lot of dependencies that are
> just almost there, and a few we may want to migrate off of, I was assuming
> addressing those issues would make it hard for us to make nova python3
> compatible for Liberty.
>
> My plan for Liberty is not to support fully Python 3 in nova, but only
> start the port (well, continue to be exact). The idea is to fix syntax
> errors and obvious issues like dict.iteritems() => six.iteritems(dict),
> then more complex changes. Maybe it's possible to finish the port in a
> cycle, but it really depends on the time taken to merge patches.
>

How invasive would the port to python3 be? Would it be easier to have a
python3 migration sprint and rip the band aid off instead of dragging it
out and having partial python3 support for a whole cycle?

In general what is the least painful way to add python3 support for a very
large python project?


> I started to port nova in my local repository. Some unit tests already
> pass.
>
> nova already uses six in many places, so it's not like we really start
> from scratch, the port is already an ingoing process.
>
> Victor
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150422/10362ccb/attachment.html>


More information about the OpenStack-dev mailing list