如何提交代码给openstack

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

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


流程

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

测试要求


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前面一行。

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是最新的,使用如下命令更新当前代码到最新版本:

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按钮附近有按钮


参考文档

社区:nova bugs | review.openstack.org | blueprint |

文档:GerritWorkflow | assign-commit-and-review | progit


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值