如何提交代码给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
如果想为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] viewplaincopy
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按钮附近有按钮
相关文章推荐
- CF 460B Little Dima and Equation
- C# 生成二维码并且在中间加Logo
- 深入JVM字节码执行引擎
- C++求积分代码
- c++电话本程序
- c++任意数循环赛另一种递归实现方…
- 51单片机电子琴C代码
- Python练习册,第 0005 题
- 向 OpenStack 贡献您的代码
- 通过代码区分是否为推送启动应用
- 我的第一篇博客,谈谈java的值传递
- 把txt文件转换为tsv文件的python脚本
- (java)leetcode Longest Common Prefix
- JAVA设计模式之工厂设计模式
- python学习笔记(05)
- 如何向OpenStack社区贡献代码
- (java)leetcode Excel Sheet Column Number
- spring DelegatingFilterProxy 过滤器 的原理及运用
- c#,if 分支语句,条件运算符
- JDK内置工具使用介绍推荐