[openstack-dev] [trove] Start to port Trove to Python 3 in Mitaka cycle?

Amrith Kumar amrith at tesora.com
Thu Feb 18 13:15:18 UTC 2016

Victor, thanks for the changes and the patch sets.

TL;DR: We've discussed this a couple of times already, once at a Trove meeting[1], once at length at the midcycle, and concluded that post-Mitaka is the right time to merge changes relative to Python 3. Once you have all the changes that you feel should be merged for Mitaka relative to Python 3, let us revisit for sure.

-- Longer version --

At this point in the development cycle, the intent is that we work on and submit code for accepted and committed projects for the Mitaka cycle, and bug fixes. Python 3 was not an accepted and committed project for Trove in the Mitaka cycle.

This is not the first time when a "low risk" change set for a project will be proposed and someone will want to have it included in the release even at this stage, and I don't believe that it will be the last time. For those who would like to work on the Python 3 port, I believe that like other multi-commit projects, they can cherry pick your code, or make their patches dependent on your changes. I don't believe that a failure to merge these into Mitaka would obstruct their ongoing development.

And while your changes may be "low risk", it does mean that if they merge now, the large feature sets that we have committed for this release will have to go through the cycle of merge conflicts, rebasing, code review, gate ... and so on.

We discussed this matter at some length at a Trove meeting [1], and we discussed it again at the mid-cycle. The comment you reference is the result of that discussion at the mid-cycle.

If I had my way, I'd rather hold any spare cycles available to get the project that we wanted in Mitaka (backup to Ceph [2]), which is currently in jeopardy of not making the Mitaka deadlines.

Let's definitely discuss this again once you have all the changes that you feel should be merged for Mitaka ready. What I would like to avoid is a dribble of changes where we don't know how much more we have coming down the pike. Once the committed projects for Mitaka have been merged, it may be reasonable to take all of these changes in one set.


Amrith Kumar, CTO                   | amrith at tesora.com
Tesora, Inc                         | @amrithkumar
125 CambridgePark Drive, Suite 400  | http://www.tesora.com
Cambridge, MA. 02140                | GPG: 0x5e48849a9d21a29b 

[1] https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Meeting.2C_Jan_20.2C_2016
[2] https://review.openstack.org/#/c/256057/

> -----Original Message-----
> From: Victor Stinner [mailto:vstinner at redhat.com]
> Sent: Thursday, February 18, 2016 7:20 AM
> To: OpenStack Development Mailing List (not for usage questions)
> <openstack-dev at lists.openstack.org>
> Subject: [openstack-dev] [trove] Start to port Trove to Python 3 in Mitaka
> cycle?
> Hi,
> When I began to work on porting Trove to Python 3, I was blocked by MySQL-
> Python which is not compatible with Python 3. I tried a big change
> replacing MySQL-Python with PyMySQL, since other OpenStack services also
> moved to PyMySQL. But tests fail and I'm unable to fix them :-/
> https://review.openstack.org/#/c/225915/
> Recently, I noticed that the dependency is now skipped on Python 3 (thanks
> to env markers in requirements.txt), and so "tox -e py34" is able to
> create the test environment.
> So I abandoned my PyMySQL change (I will reopen it later) and started new
> simpler patches following the plan of my Python 3 blueprint for Trove:
> https://blueprints.launchpad.net/trove/+spec/trove-python3
> In short:
> (1) fix the Python 3 gate
> (2) make the Python 3 gate voting
> (3) port more and more unit tests
> My patches:
> trove: "Add a minimal py34 test environment"
> https://review.openstack.org/#/c/279098/
> => fix "tox -e py34", start with a whitelist of the 3 most basic unit
> tests
> trove: "Port test_template unit test to Python 3"
> https://review.openstack.org/#/c/279119/
> => port another unit test
> openstack-infra/project-config: "Add non-voting gate-trove-python34 check"
> https://review.openstack.org/#/c/279108/
> IMHO these changes are simple and the risk of regression is low, but
> amrith wrote me "thanks for your change set but per last trove meeting, I
> think this should wait till mitaka is done, and we can pick it up early in
> newton."
> I discussed with some Trove developers who are interested to start the
> Python 3 port right now. What do you think?
> Maybe we can discuss that in the next Trove meeting?
> https://wiki.openstack.org/wiki/Meetings/TroveMeeting
> (Wednesdays at 18:00 UTC in #openstack-meeting-alt)
> Oops, I just missed the meeting yesterday. I was too slow to write this
> email :-)
> 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

More information about the OpenStack-dev mailing list