Python3/SprintPycon2014
Victor Stinner组织在2014年Pycon Montreal(加拿大蒙特利尔)期间为期4天的OpenStack端口迁移到Python 3的冲刺:从4月14日(星期一)到4月17日(星期四)。请参阅 Pycon Montreal 2014冲刺。
目录
What
最终目标是将整个OpenStack项目迁移到Python 3。本次冲刺的目标是将OpenStack组件和OpenStack依赖项迁移到Python 3,并发送补丁以尽可能多地移植代码。
如果您完全不了解OpenStack,请加入我们移植模块到Python 3:MySQL-python、boto(参见boto3)等。
或者来帮助我们用Trollius替换eventlet!
参与者
任何了解Python和OpenStack的人都可以参与!
时间
4月14日(星期一)和4月17日(星期四)。
OpenStack的下一个主要版本是“Icehouse”,计划于4月17日发布。
Where
蒙特利尔,在 Pycon Montreal 2014。
需求
- 良好的Python知识
- 携带笔记本电脑
- 在Launchpad上创建一个帐户:Launchpad:新帐户 -- Launchpad用作OpenID提供程序,至少需要编辑此wiki页面,用于本次冲刺
为OpenStack贡献
- 基本的OpenStack知识
- 安装DevStack(用于破解OpenStack的小型设置)
- 和OpenStack项目,签署CLA(可以在冲刺期间完成)
入门
我们将专注于 Oslo Incubator,所以从克隆仓库开始
git clone https://github.com/openstack/oslo-incubator.git
进入oslo-incubator目录,编辑requirements.txt以注释掉“eventlet”行。
cd oslo-incubator vim requirements.txt # comment eventlet line, save, exit
安装 tox
pip install tox==1.6.1
最后,使用 tox(pip install tox)运行单元测试
tox -e py33
如果您想运行特定的单元测试
$ . .tox/py33/bin/activate $ python -m testtools.run tests.unit.test_cliutils
或者您可以尝试
$ . .tox/py33/bin/activate $ nosetests tests/unit/test_cliutils.py
另请参阅 http://haypo-notes.readthedocs.org/openstack.html#tests
将OpenStack组件端口迁移到Python 3
首先,请参阅 Python3#OpenStack_clients 以获取最新状态。
- oslo incubator:请参阅 https://wiki.openstack.org/wiki/Python3#Oslo_Incubator
- oslo.messaging
- swiftclient 几乎完成了
- glanceclient
- neutronclient
- savannaclient
其他任务
- 用testr替换nose
- Horizon:将oslo.sphinx替换为oslosphinx(去掉点)
- 用trollius替换eventlet!(现在非常复杂)
将OpenStack依赖项端口迁移到Python 3
首先,请参阅 Python3#Dependencies 以获取最新状态。
- boto:https://github.com/boto/boto/pull/1156 - 我很久以前就发送了这个PR,但它还没有获得进展。我认为boto团队想完全重写boto(boto3)并在那里支持Python 3。我预计这会分裂社区并使维护工作加倍(就像Python 3;-))但我认为这是他倾向的方向。您可以考虑在那个PR或邮件列表中投票支持boto的纯Python 3支持...
- jsonrpclib
- mysql-python:2个待处理的pull请求
* https://github.com/farcepest/MySQLdb1/pull/31 * https://github.com/farcepest/MySQLdb1/pull/48
- oslosphinx:https://review.openstack.org/#/c/79311/
- pycadf
- python-ldap
- qpid-python
- rtslib-fb
- sphinxcontrib-docbookrestapi
- sphinxcontrib-httpdomain
- sphinxcontrib-pecanwsme
- sqlalchemy-migrate(正在进行中)
- suds
- thrift
- websockify
文档
- Python 3 wiki页面
- OpenStack 风格指南
- six模块的文档
- 将Python 2代码端口迁移到Python 3
- OpenStack端口迁移到Python 3的状态
- 在OpenStack中使用新的asyncio模块和Trollius
- 为什么OpenStack现在应该迁移到Python 3?
同步
IRC
IRC频道#openstack-pycon将在冲刺期间使用Freenode IRC服务器。
参与者
- Chmouel Boudjnah
- Cyril Roelandt(远程)
- Doug Hellman(将审核补丁,远程)
- Julien Danjou(有兴趣审核补丁,远程)
- Frederic Lepied
- Victor Stinner(组织者)
- Éric Araujo(星期三)
同步OpenStack组件上的工作
OpenStack中的任何更改都必须经过仔细审查。不要期望您的更改立即提交,您可能需要与每个项目的“核心开发人员”讨论以改进您的补丁,使其符合项目的编码风格。
如果您想在某个组件(例如:neutron、nova等)上工作,请在下方写下组件名称和您的姓名
- <组件>:<开发者姓名>
如果您发送补丁,请将其添加到下面的列表中。
- 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/
- swiftclient:https://review.openstack.org/#/c/88351/
同步OpenStack依赖项上的工作
如果您想在OpenStack依赖项上工作,请修改下面的列表
- <python项目>:<开发者姓名>
如果您发送补丁、pull请求或任何其他内容,请将其添加到下面的列表中
- <项目>:<补丁URL>