[openstack-dev] [qa] Python 3.3 patches (using six)

Sean Dague sean at dague.net
Fri Mar 14 11:21:44 UTC 2014

On 03/14/2014 04:49 AM, victor stinner wrote:
> Hi,
> I'm working for eNovance and we are working on porting OpenStack to Python 3. Status of the port:
>   http://techs.enovance.com/6722/status-of-the-openstack-port-to-python-3-2
>   https://wiki.openstack.org/wiki/Python3
> I understand that it becomes late for Python 3 changes before Icehouse release, but I don't agree on the second part of your mail.
> David wrote:
>> (...) I'm not sure it makes sense to do this work piecemeal until
>> we are near ready to introduce a py3 gate job.
> I'm not sure that I understood correctly. You want first to see all Python 3 tests pass, and then accept changes to fix Python 3 issues? Adding a py33 gate is nice, but it is almost useless before it becomes voting if nobody reads failures. And I don't expect that anyone will care of the py33 gate before it becomes voting.
> It's not possible to fix all Python 3 issues at once. It requires many small changes which are carefully viewed and discussed. It is not possible to see all issues at once neither. For example, you have first to fix obvious syntax errors to see less trivial Python 3 issues. Changes are done incrementally, as other changes in OpenStack.
> Yes, it's possible to reintroduce Python 3 incompatible code, but I expect much fewer "regressions" compared to the number of fixed issues.
> Cyril Roelandt is improving the hacking tool to detect the most obvious cases of Python 3 incompatible code:
>   https://review.openstack.org/#/c/80171/
> We are working on clients and Olso Incubator first, but we are also preparing the port of servers.

The issue is this generates a lot of unrelated churn and merge conflicts
with actual feature code and bug fixes.

So what we need is a game plan, which goes as follows:

1. demonstrate all requirements.txt and test-requirements.txt are
python3 compatible
1.1 if they aren't work on a remediation plan to get us there

once completed
2. come up with an audit plan on the obvious python3 issues

3. designate a focused 2 week window to land all the python3 issues and
turn on gating, we'll make it a priority review topic during that period
of time.

That 2 week window needs to happen within milestone 1 or 2 of a cycle.
After that, it's a distraction. So if the python 3 team doesn't have the
ducks in a row by then, we punt to next release.

Because I think the one of patch model on changes like this just doesn't
work, and leaves us in this very weird state of code.


Sean Dague
Samsung Research America
sean at dague.net / sean.dague at samsung.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 482 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140314/4899ed66/attachment.pgp>

More information about the OpenStack-dev mailing list