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

Thomas Goirand zigo at debian.org
Sat Feb 24 20:56:43 UTC 2018


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)



More information about the OpenStack-dev mailing list