[openstack-dev] [ptl][all][python3] collecting current status of python 3 support in projects

Doug Hellmann doug at doughellmann.com
Sun Feb 25 19:30:35 UTC 2018


Excerpts from Thomas Goirand's message of 2018-02-24 21:56:43 +0100:
> On 02/23/2018 12:29 AM, Doug Hellmann wrote:
> > I am trying to update the wiki document with the current state of
> > support for Python 3 projects as part of preparing for a discussion
> > about moving from "Python 2 first, then 3" to "Python 3 first, then
> > 2" development.
> > 
> > I have added the missing libraries and services (at least those
> > managed by the release team) and done my best to figure out if there
> > are unit and functional/integration test jobs for each project.
> > 
> > I need your help to verify the information I have collected and fill in
> > any gaps.
> > 
> > Please look through the tables in [1] and if your projects' status
> > is out of date either update the page directly or email me (off
> > list) with the updates.
> > 
> > Thanks!
> > Doug
> > 
> > [1] https://wiki.openstack.org/wiki/Python3#Python_3_Status_of_OpenStack_projects
> 
> Hi Doug!
> 
> As I've been working over the course of this week on switching all of
> Debian OpenStack to Py3, I have a bit experience with it. Unfortunately,
> I can only tell about unit tests, as I haven't run functional tests yet.
> 
> Mostly, it's working well, and even in Python 3.6 in Sid.
> 
> Though what I've seen often, is the tooling, and especially the sphinx
> docs, expecting Python 2 to be there. For example (and that's just an
> example, I'm not pointing finger at any project here...) generating the
> sphinx doc of Cinder calls binaries in the "tools" folder (ie:
> tools/generate_driver_list.py) which has "#! /usr/bin/env python" as
> first line. Of course, under my Python 3 only environment, it just fails
> miserably, and I had to patch the files.
> 
> Another example would be Congress generating its lexer with some Python
> 2 type of exception (those with coma instead of "as"). I fixed that at
> build time with Victor's sixer tool (which really is awesome, thanks for
> it Victor!).
> 
> Then there's Nova which annoyed me when generating the doc because of
> seemingly a bug in the Python 3 version of blockdiag (I may be wrong,
> but I don't think Nova itself is at fault here).
> 
> I would have more details like this, but I guess you understand the
> general issue I'm raising: mostly we need to get rid of Python 2
> completely, because otherwise, it's expected to be the default. So I'm
> really looking forward it happens upstream.
> 
> LET'S KILL PYTHON 2 SUPPORT !!! :)
> 
> More seriously, it'd be nice if all the docs tooling were effectively
> switching to Python 3, otherwise other issues will be reported.
> 
> Also, it is annoying to see that manila-ui isn't Python 3 ready at all.
> I guess I'll simply skip manila-ui for this release (since all of
> Horizon is already switched to Python 3 on my side). I'm expecting to
> see more of these Horizon plugins to not be ready (I haven't completely
> finished that part...).
> 
> I hope this helps,
> Cheers,
> 
> Thomas Goirand (zigo)
> 

Thanks for bringing this up, Thomas. You make a good point about
addressing python 2 use outside of just our test jobs, and the issue
is easily actionable.

We do have the ability to specify a python 3 version of the doc
build job, so maybe we can take some time this cycle to move all
projects over to using it and resolve the issues you've spotted.

Does anyone want to volunteer to help with that migration? I'll bet a
lot of projects will just work, and the ones that don't shouldn't be
difficult if the unit tests run under the python 3.

Doug



More information about the OpenStack-dev mailing list