[openstack-dev] [openstack-tc] Official Python 3 Policy

Flavio Percoco flavio at redhat.com
Tue Jun 11 19:09:30 UTC 2013


On 11/06/13 10:34 -0400, Doug Hellmann wrote:
>   On Tue, Jun 11, 2013 at 2:54 AM, Julien Danjou <[1]julien at danjou.info>
>   wrote:
>
>     On Tue, Jun 11 2013, Joe Gordon wrote:
>     [ Following up on -dev ]
>
>   > As many of you have probably seen, there has been a community effort
>   to
>   > begin the slow process to making OpenStack python 3 compatible. There
>   is
>   > even a weekly meeting discussion it (
>   > [2]http://eavesdrop.openstack.org/meetings/python3/2013/)
>   >
>   > As this is inherently a massive cross project effort, I was hoping
>   the TC
>   > would comment on the python 3 efforts.
>   >
>   > * What versions of python we want to compatible with
>   > * Do we *want* all projects to by python 3 compatible or should we
>   focus
>   > our efforts on oslo and client libraries etc?
>   > * Do we want to begin gating on some python 3 compatibility?
>   >
>   [3]https://github.com/openstack-dev/hacking/commit/e0ab03637da65bfc6035
>   091989b62fc70ae363a5
>   > * etc.
>
>     It kind of seems obvious to me that nobody in the TC is going to
>     object
>     to any effort bringing compatibility to Python 3. :-) I bless that
>     and
>     would love to help going into this direction actually.
>     All project should go to Python 3 at some point, but it seems
>     logical to
>     start by every dependency like Oslo, and as discussed during the
>     Python
>     3 session at the summit, starting with client libraries is going to
>     be
>     easier than porting whole projects. We're probably years from that
>     concerning projects like Nova for example.
>     Considering this timeframe, targetting latest Python 3 releases is
>     going
>     to be largely good enough.
>
>   The etherpad from that summit session that Eric led
>   is [4]https://etherpad.openstack.org/havana-python3
>   As Julien said, we agreed to start with clients and dependencies first.
>   The reliance on eventlet may make it difficult to port the existing
>   servers, and there is a lot of other code to work on, so we decided to
>   wait and see what happens with async libraries under Python 3 and start
>   with the "easy" stuff. It is also more likely that a client will want
>   Python 3 support than that a server will require it.


This sounds like a good plan. The port to anything away from eventlet
will take a long time and effort.

I'll take care of glanceclient if no one has signed up for it yet.
Lets take under consideration that most of the clients depend on
python-keystoneclient, we might want to port that one first.

>   We're targeting at least Python 3.3, with the idea that we'll be able
>   to use Tulip. That minimum version may change based on what's current
>   at the time the work makes enough progress for us to talk about
>   settling on a version. I can't imaging it going lower, though.

Python >= 3.3 makes total sense to me as well.

>   For testing we said we would set up a separate tox stanza for with the
>   test runner configured to run only the subset of tests for modules
>   expected to work with Python 3. That way in oslo-incubator, for
>   example, we don't have to port everything at once, we can just run a
>   subset of the tests and prevent regressions after we get a module
>   working with 3. That does imply that we want gating jobs for Python 3.3
>   for projects where the work has reached a point that it makes sense to
>   start enforcing compatibility.

+1

>   By the way, Chuck Short has been doing a lot of really good work on
>   Python 3 compatibility already, but I'm sure he would appreciate some
>   help.

Ditto. I can help with glanceclient and start doing the basic ports, I
still don't know how much of it can be ported right now, in terms of
libraries.


Cheers,
FF

-- 
@flaper87
Flavio Percoco



More information about the OpenStack-dev mailing list