DevQuickstart
目录
OpenStack Bug Fixing Step-by-Step
Step 1: Set Up Your Development Environment
- 1.1) 设置完整功能的开发环境最简单的方法是使用 DevStack。为了使用它,你需要一台运行 Ubuntu 11.10 的机器(或 Vagrant 盒子)。如果你已经准备好一台运行中的机器,请跳到步骤 1.4。否则,请继续阅读。
- 1.2) 在这一步,你需要创建一个运行 Ubuntu 11.10 的本地虚拟机。如果可以使用 VirtualBox,常用的方法是使用 Vagrant。请访问 https://github.com/openstack-dev/devstack-vagrant 获取更多说明。
- 1.3) 如果你无法运行 VirtualBox 或其他本地虚拟化应用程序,你需要考虑云服务!你可以在 Amazon EC2 或 Rackspace Cloud 上创建一个帐户来运行临时机器。
- 1.4) 按照 http://devstack.org 上的指南来启动并运行你的环境。
- 注意:如果你不想使用 devstack,你仍然可以签出源代码到你的本地机器并从那里进行开发。
Step 2: Sign the CLA and Sign in to LaunchPad
- 2.1) 访问 http://launchpad.net 并点击右上角的“Log in / Register”进行注册。创建帐户后,你还需要做一些其他事情
- 2.2) 签署 OpenStack CLA。你可以在 https://wiki.openstack.org/CLA 上在线签署。
- 2.3) 将自己添加到 Contributors wiki 页面。请参阅此页面的顶部说明:https://wiki.openstack.org/Contributors
- 2.4) 加入 openstack-cla launchpad 组。为此,请导航到 https://launchpad.net/~openstack-cla 并点击页面右侧的“Join the team”。你的请求将被转发给核心 OpenStack 开发者,他们可以批准你的请求。请记住,你的成员资格必须在完成前两个步骤后才能获得批准。提交加入团队的请求后,可以继续进行下一步。但请记住,在提交任何代码之前,你必须获得批准!
- 注意:此时,加入 Freenode 上的 #openstack-dev IRC 频道会很有帮助。总有开发者可以帮助进行代码审查或回答你可能遇到的任何其他问题。如果你发现从步骤 3 发起的加入 openstack-cla 团队的请求阻碍了你提交代码的能力,请随时在该聊天室中联系某人!
Step 3: Claim a Bug
- 3.1) OpenStack 项目将所有错误报告保存在 LaunchPad 上。按照以下链接查看每个特定项目的开放和未认领的错误列表
- 注意:如果你仍然是 OpenStack 的初学者,最好将错误筛选为“low-hanging-fruit”。在右侧查找此列表的链接。
- 3.2) 搜索列表并找到你想要处理的内容后,打开完整的错误报告,点击“Assigned to”列中的黄色编辑按钮,然后在弹出的框中点击“Assign me”。你还应该将状态设置为“In Progress”。
Step 4: Fix the Bug
现在你已经选定了要处理的内容,进入你的开发环境并尽情发挥!我们强烈建议你首先编写一个失败的测试来重现错误报告中详细描述的行为。核心开发者在代码审查步骤中最终会要求一个验证修复的测试,所以你最好提前处理好。要运行测试,请查找“run_test.sh” shell 脚本。它将运行你所在项目的全部测试并检查是否存在任何风格错误。
如果你发现无法从报告中的详细信息重现错误,请随时咨询。由于配置不当的环境或仅在极其特殊的情况下适用,因此会出现一些错误。
- Nova: https://launchpad.net/~nova-core/+members#active
- Glance: https://launchpad.net/~glance-core/+members#active
- Swift: https://launchpad.net/~swift-core/+members#active
- Keystone: https://launchpad.net/~keystone-core/+members#active
- Horizon: https://launchpad.net/~horizon-core/+members#active
Step 5: Propose the Fix
- 5.1) 在提出补丁之前,还需要做一些工作。你需要安装“git-review”。这个工具为 git 添加了一个“review”命令,可以帮助你启动你的仓库和单个补丁,使其与我们的代码审查工具一起工作。获取 git-review 最简单的方法是使用 pip
pip install git-review
- 5.2) 接下来,你需要确保你的修复包含在一个提交中,并且提交消息中包含指向错误的链接。为此,我们建议你运行“git rebase -i origin/master”。这将打开一个交互式编辑器,你可以在其中“squash”你的提交。此过程还允许你编辑将与审查一起发送的提交消息。如果你在提交消息中放置类似“Fixes bug XXXXXX”的字符串,你的修复可以自动链接回 Launchpad 上的错误。如果你在此步骤遇到问题,请访问 (https://wiki.openstack.org/GerritWorkflow) 或在 IRC 上联系某人。
- 5.3) 安装 git-review 并清理你的补丁后,可以运行“git review”。你的审查链接应该会打印到屏幕上。此时,你可以继续处理另一个错误修复!如果你收到任何需要解决的反馈,请继续下一步
- 5.4) 一旦你修复了所有与代码相关的问题,并且准备好重新提交你的审查,你需要再次将新的提交压缩成一个。确保不要从你的提交消息中删除“Change-Id: …”行,因为这是 Gerrit 用于将你后续的补丁绑定到单个审查中的信息。你可以运行相同的命令“git review”来推送更新后的代码。