您的位置:首页 > 编程语言

如何提交代码给openstack

2015-10-30 19:02 344 查看
转载:http://blog.csdn.net/ffb/article/details/9625011

如果想为openstack做贡献,最好的方法就是帮助社区完成blueprint或者做bugfix。代码的提交需要遵循社区的一些基本要求,以下内容是去年对openstack社区的参与过程中的一些总结。

原文地址:http://blog.csdn.net/ffb/article/details/9625011


流程

注册一个openid
申请个人CLA证书

申请公司CLA证书(个人不需要做本步骤)
更新贡献者列表,公司栏写上所属公司的名字
加入OpenStack Contributors组(必须)和OpenStack组 https://launchpad.net/~openstack-cla/+join(必须) 设置SSH Keys(复制本地~/.ssh/id_rsa.pub的内容即可)
认领一个blueprint/bug(这步可以跳过)
git clone代码到本地,配置user.name和user.email和openid中登记的一致
在期限内修改,并通过所有测试(不通过测试一定会被拒)。代码的一个基本的要求是要符合 PEP8 规范。
|__如果超过期限,去界面上点击“Restored”按钮即可
用git review命令提交审核
等待评审结果
按照评审要求修改代码,用git commit …. -amend提交修改
再次git review直到成功


测试要求

[plain] view
plaincopy

import库的名称需要按照字母顺序排列

pep8检测:

sudo apt-get install pep8

~/nova$ pep8 .

nosetest:

sudo pip install nose

~/nova$ nosetests .

novatest:

~/nova$ sudo ./run_tests.sh [api/xxx/xxxx.py]

例如:./run_tests.sh test_db_api

tempest-devstack:

cd devstack; source exerciserc; ./exercise.sh


注释要求

格式分为三部分,最前面一行是本地修改的简述,后面空一行之后写本次修改的详细描述,后面再空一行写本次修改对应的bugid或者bpid,然后紧接着写changeid。 系统会根据注释中的Change-Id去判断这个提交是属于那个bp的,fixbug和implement blueprint要写在changeid前面一行。

[plain] view
plaincopy

Implement bp:efficient-limiting.

1.add limit param to db.instance_get_all_by_filters()

2.execute limit before sqlarchmy get_all()

Fixes: bug #1003373

Implements: blueprint xxxxxxxxxxx

Change-Id: Iea3eeb7b51194b6017d624506aafc6469d7338e4

参考文档:Summary_of_GIT_commit_message_structure |Information_in_commit_messages


更新要求

在执行git review之前,应该确保review是最新的,使用如下命令更新当前代码到最新版本:

[plain] view
plaincopy

git fetch origin master

git rebase FETCH_HEAD

git add .

git commit --amend

git review

如果rebase的时候发生冲突,应该手工解决冲突之后执行git rebase --continue


F.A.Q.

[Q]由于服务器的原因导致提交review后的代码测试失败。
[A]
对这个patch执行review,如果是SmokeStack,输入reverify,如果是Jenkins,输入recheck即可让其重新进行测试
[Q]如何在家继续修改
[A]
在公司提交patch去review后,在家继续进行修改,可以
1. 本地执行
git-review -d review_number
如,git-review -d 12859
这个步骤会校验ssh-key

或者
2. 将Jekins上的改动merge到本地。
在review按钮附近有按钮
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: