[openstack-dev] OpenStack lagging behind 2 major python versions: we need a Python 3.7 gate

Thomas Goirand zigo at debian.org
Thu Jul 12 20:38:48 UTC 2018


Hi everyone!

It's yet another of these emails where I'm going to complain out of
frustration because of OpenStack having bugs when running with the
newest stuff... Sorry in advance ! :)

tl;dr: It's urgent, we need Python 3.7 uwsgi + SSL gate jobs.

Longer version:

When Python 3.6 reached Debian, i already forwarded a few patches. It
went quite ok, but still... When switching services to Python 3 for
Newton, I discover that many services still had issues with uwsgi /
mod_wsgi, and I spent a large amount of time trying to figure out ways
to fix the situation. Some patches are still not yet merged, even though
it was a community goal to have this support for Newton:

Neutron:
https://review.openstack.org/#/c/555608/
https://review.openstack.org/#/c/580049/

Neutron FWaaS:
https://review.openstack.org/#/c/580327/
https://review.openstack.org/#/c/579433/

Horizon tempest plugin:
https://review.openstack.org/#/c/575714/

Oslotet (clearly, the -1 is for someone considering only Devstack /
venv, not understanding packaging environment):
https://review.openstack.org/#/c/571962/

Designate:
As much as I know, it still doesn't support uwsgi / mod_wsgi (please let
me know if this changed recently).

There may be more, I didn't have much time investigating some projects
which are less important to me.

Now, both Debian and Ubuntu have Python 3.7. Every package which I
upload in Sid need to support that. Yet, OpenStack's CI is still lagging
with Python 3.5. And there's lots of things currently broken. We've
fixed most "async" stuff, though we are failing to rebuild
oslo.messaging (from Queens) with Python 3.7: unit tests are just
hanging doing nothing.

I'm very happy to do small contributions to each and every component
here and there whenever it's possible, but this time, it's becoming a
little bit frustrating. I sometimes even got replies like "hum ...
OpenStack only supports Python 3.5" a few times. That's not really
acceptable, unfortunately.

So moving forward, what I think needs to happen is:

- Get each and every project to actually gate using uwsgi for the API,
using both Python 3 and SSL (any other test environment is *NOT* a real
production environment).

- The gating has to happen with whatever is the latest Python 3 version
available. Best would even be if we could have that *BEFORE* it reaches
distributions like Debian and Ubuntu. I'm aware that there's been some
attempts in the OpenStack infra to have Debian Sid (which is probably
the distribution getting the updates the faster). This effort needs to
be restarted, and some (non-voting ?) gate jobs needs to be setup using
whatever the latest thing is. If it cannot happen with Sid, then I don't
know, choose another platform, and do the Python 3-latest gating...

The current situation with the gate still doing Python 3.5 only jobs is
just not sustainable anymore. Moving forward, Python 2.7 will die. When
this happens, moving faster with Python 3 versions will be mandatory for
everyone, not only for fools like me who made the switch early.

</end of ranting> :)

Cheers,

Thomas Goirand (zigo)

P.S: A big thanks to everyone who where helpful for making the switch to
Python 3 in Debian, especially Annp and the rest of the Neutron team.



More information about the OpenStack-dev mailing list