Victor Stinner organizes a sprint to Port OpenStack to Python 3 during 4 days at Montreal (Canada) during Pycon Montreal 2014: between April, 14 (Monday) and April, 17 (Thursday). See Pycon Montreal 2014 sprints.
The ultimate goal is to port the whole OpenStack project to Python 3. The goal of the sprint is to port OpenStack components and OpenStack dependencies to Python 3, send patches to port as much code as possible.
If you don't know OpenStack at all, please join us to port modules to Python 3: MySQL-python, boto (see boto3), etc.
Or come to help us replacing eventlet with Trollius!
Anyone knowing Python and OpenStack can participate!
April, 14 (Monday) and April, 17 (Thursday).
The next major release of OpenStack is "Icehouse", scheduled for April, 17.
Montreal, at Pycon Montreal 2014.
- Good knowledge of Python
- Bring a laptop
- Create an account on Launchpad: Launchpad: new account -- Launchpad is used as OpenID provider, it is at least needed to edit this wiki page, used for the sprint
To contribute to OpenStack:
- Basic knowledge of OpenStack
- Install DevStack (small setup of OpenStack written to hack OpenStack)
- and OpenStack projects, sign the CLA (can be done during the sprint)
We will focus on Oslo Incubator, so start by cloning the repository:
Enter oslo-incubator directory, edit requirements.txt to comment "eventlet" line.
cd oslo-incubator vim requirements.txt # comment eventlet line, save, exit
pip install tox==1.6.1
Finally, run unit tests using tox (pip install tox):
tox -e py33
If you would like to run a specific unit test:
$ . .tox/py33/bin/activate $ python -m testtools.run tests.unit.test_cliutils
Or you may try:
$ . .tox/py33/bin/activate $ nosetests tests/unit/test_cliutils.py
Port OpenStack components to Python 3
First, see Python3#OpenStack_clients for the latest status.
- oslo incubator: see https://wiki.openstack.org/wiki/Python3#Oslo_Incubator
- swiftclient is almost done
- Replace nose with testr
- Horizon: Replace oslo.sphinx with oslosphinx (drop the dot)
- Replace eventlet with trollius! (very complex right now)
Port OpenStack dependencies to Python 3
First, see Python3#Dependencies for the latest status.
- boto: https://github.com/boto/boto/pull/1156 - I sent this PR a long time ago but it hasn't gotten traction. I think the boto team wants to completely rewrite boto (boto3) and do Python 3 support there. i expect that to fracture the community and double the maintenance load (much like Python 3 ;-)) but I think that was what he was leaning towards. You might consider voting for Python 3 support in plain old boto in that PR or on the mailing list...
- mysql-python: 2 pending pull requests:
- oslosphinx: https://review.openstack.org/#/c/79311/
- sqlalchemy-migrate (in progress)
- Python 3 wiki page
- OpenStack Style Guidelines
- Documentation of the six module
- Port Python 2 code to Python 3
- Status of the OpenStack port to Python 3
- Use the new asyncio module and Trollius in OpenStack
- Why should OpenStack move to Python 3 right now?
The IRC channel #openstack-pycon of the IRC server Freenode will be used during the sprint.
- Chmouel Boudjnah
- Cyril Roelandt (remote)
- Doug Hellman (will review patches, remote)
- Julien Danjou (interested to review patches, remote)
- Frederic Lepied
- Victor Stinner (organizer)
- Éric Araujo (Wednesday)
Synchronize work on OpenStack components
Any change in OpenStack must be carefully reviewed. Don't expect to see your changes commited immediatly, you will probably have to discuss with the "core developers" of each project to enhance your patch, to make it fit the coding style of the project.
If you want to work on a component (ex: neutron, nova, etc.), please write the component name with your name below:
- <component>: <developer name>
If you send a patch, please add it to the list below.
- oslo-incubator: https://review.openstack.org/#/c/87336/
- oslo-incubator: https://review.openstack.org/#/c/87376/
- oslo-incubator: https://review.openstack.org/#/c/87404/
- oslo-incubator: https://review.openstack.org/#/c/87413/
- oslo-incubator: https://review.openstack.org/#/c/88087/
- oslo-incubator: https://review.openstack.org/#/c/87973/
- oslo-incubator: https://review.openstack.org/#/c/88124/
- oslo-incubator: https://review.openstack.org/#/c/74433/
- oslo-incubator: https://review.openstack.org/#/c/74728/
- swiftclient: https://review.openstack.org/#/c/87287/
- swiftclient: https://review.openstack.org/#/c/84104/
- swiftclient: https://review.openstack.org/#/c/84102/
- swiftclient: https://review.openstack.org/#/c/87772/
Synchronize work on OpenStack dependencies
If you want to work on an OpenStack dependency, please modify the list below:
- <python project>: <developer name>
If you send a patch, pull request, whatever, please add it to the list below:
- <project>: <url to patch>