Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程

目录

  • 目录
  • 前文列表
  • 订阅邮件列表 Mailing Lists
  • 社区工作运作流程
  • Openstack 代码贡献流程
  • PEP8 Python编程风格
  • 查阅相关资源

前文列表

Openstack贡献者须知 — OpenPGP/SSH/CLA贡献者协议

订阅邮件列表 Mailing Lists

订阅邮件列表之后,你可以在邮件中提出问题并获得帮助。如果你有问题要提出可以直接发送邮件到相关版块的管理员那里去,社区的管理员会非常专业的回答你的问题。

订阅邮件列表点这里(使用Launchpad Account Login)

对开发者而言会更加关注下面两个 Mailing Lists
• General List: openstack@lists.openstack.org

• Future Development: openstack-dev@lists.openstack.org

除此之外还有
• Announcements: openstack-announce@lists.openstack.org

• OpenStack Operation: openstack-operations@lists.openstack.org

在订阅了邮件列表之后,你的邮箱会不定期的收到非常对象Openstack资讯邮件,对及时了解Openstack的动态非常有帮助:

社区工作运作流程

Launchpad 上 Openstack 项目工作的运作流程。
Step1. Bugs 的处理流程

There are 4 key tasks with regards to bugs that anyone can do:

  • Confirm new bugs: A “New” bug can be marked “Confirmed” once it has been reproduced and is thus confirmed as genuine.
  • Solve inconsistencies: Make sure bugs are Confirmed, and if assigned that they are marked “In Progress”
  • Review incomplete bugs: See if information that caused them to be marked “Incomplete” has been provided, determine if more information is required and provide reminders to the bug reporter if they haven’t responded after 2-4 weeks
  • Review stale In Progress bugs: Work with assignee of bugs to determine if the bug is still being worked on, if not, unassign them and mark them back to Confirmed or Triaged.

Step2. Blueprints 的处理流程
Many OpenStack projects teams have a -specs respository which is used to hold approved design specifications for additions and changes to the project team’s code repositories.

Step3. Spec + Blueprints 的生命周期
For projects using a -specs repository (like Nova, Neutron, Oslo, Ceilometer…), you should follow this process:

  • Register your blueprint in Launchpad
  • Upload a design specification in the “specs/” folder in $PROJECT-specs
  • Project drivers will approve blueprint by:
    • Setting priority
    • Setting a target milestone, based on the assignee proposal
  • Assignee sets implementation status to “Implemented”

Step4. Blueprints 独立的生命周期
Projects not using a -specs repository (Horizon, Trove…), you should follow this process:

  • Register your blueprint in Launchpad
    • Describe the feature summarily in the blueprint itself
    • Link to another document (using the specification link) if you have more
    • Set yourself as assignee
    • Set target milestone to indicate when you expect the work to land
  • Project drivers will approve blueprint by:
    • Setting priority
  • Assignee sets implementation status to “Implemented”

Openstack 代码贡献流程

Step1. 签署ICLA
点这里,注意一定要把信息填全,特别是https://review.openstack.org/#/settings/contact页面的信息。

Step2. 上传自己的SSH Key
需要通过 SSH 向 Gerrit push 代码

Step1 & Step2 看可以参考Openstack贡献者须知 — OpenPGP/SSH/CLA贡献者协议

Step3. 配置Git Bash(Ubuntu 16)

  • Install Git
sudo apt-get install git
  • Let git know your email address
git config --global user.name "guiju fan"
git config --global user.email "fan_guiju@xxx.com" #注意跟Gerrit账户一致
  • Check your Git Configuration
git config --list
  • Check your git config file)
cat $HOME/.gitconfig
  • Install git review)
apt-get install git-review

参考文档http://www.mediawiki.org/wiki/Gerrit/git-review

Step4. 下载 Project 代码
使用 git clone 将最新的代码 nova/master 从服务器上拉到local(以nova为例)

git clone git://github.com/openstack/nova.git

Step5. 让 Project 感知代码审核工具 Gerrit
需要先确保能使用你的 SSH key 登录Gerrit,建议使用上述进行配置的 git 环境变量的用户(EG. fan__guiju@xxx.com)来操作。否则,会提示输入Gerrit用户名.

cd nova
git review -s

成功后,会在 nova 目录下生成一个 .gitreview 目录

Step6. 确保下载的 Project 代码是最新

git checkout master
git pull

Step7. 新建 Projecy 分支
1. 如果操作类型是 blueprint,那分支名应该是bp/BP-NAME,其中 BP-NAME 是在launchpad 上 的 bp名称。
2. 如果操作类型是是修复 bug,那么分支名是bug/BUG-NUMBER,其中 BUG-NUMBER 应该可以在 Openstack Bugs 页面上找到:

新建分支后再使用 git brance 指令确定分支切换到了 BRANTCH-NAME

git brance
git checkout -b BRANTCH-NAME

Step8. 提交代码

  • 添加提交信息
    在单独的一行中填写 Summary(小于50个字符),空隔一行,然后在第二段进行详细的描述。如果是实现 blueprint 或修复了 bug,需注明:
    blueprint BP-NAME
    bug BUG-NUMBER
Adds some summary less than 50 characters   

...Long multiline description of the change...   

Implements: blueprint authentication
Fixes: bug #123456   
  • 通过进行代码的单元测试(Unit tests)后提交代码
git commit -a
  • 申请Gerrit review 代码
git review  #通过Gerrit审核提交的代码

Step9. Review code
申请 review 后,代码审核工程师就可以进行代码审核。你的提交会出现在https://review.openstack.org 页面上,可以查看提交的状态和信息。在Gerrit审核代码的过程中,还会调用 Jenkins 进行自动 Check Queue。

如果在 Jenkins 中报出了 failure,可以查看日志来进行排错。如果确认不是自己的 patch 导致,可以在 comment 里留 recheck no bug,重新让 Jenkins 进行自动化 Test 。

Step10. 修改
如果代码审核没有成功的话,Gerrit会返回并提示需要修改的代码,在修改完后再次提交时一定要直接使用已存在的Change-Id。

git commit -a --amend
git review

Step11. 最后
在 Gerrit 的代码审核和 Jenkins 的 Check Queue 通过之后,项目会交由 Jenkin s持续集成到代码库中。

PEP8 Python编程风格

Read http://www.python.org/dev/peps/pep-0008/

查阅相关资源

OpenStack Documents:
https://wiki.openstack.org/wiki/Document

Developer document:
https://docs.openstack.org/developer/<projectname>:

Release Progress
http://status.openstack.org/release/

OpenStack Blogs
http://planet.openstack.org/
Sebastien Han(eNovance)
http://www.sebastien-han.fr/blog/

时间: 2024-09-12 12:39:04

Openstack贡献者须知 2 — 社区工作运作 &amp; 代码贡献流程的相关文章

OpenStack Ocata版本国内代码贡献盘点

2017年2月23日,OpenStack迎来了它的第15个版本--Ocata版本的发布.为了更贴近用户需求,OpenStack基金会将新版本的发布时间从往年的4月份和10月份分别提前到2月份和8月份,而面向用户的OpenStack峰会则在5月份和11月份召开.这一策略调整给了OpenStack厂商更多时间来打磨自己的产品,做到快速升级和保证产品方案的成熟稳定并重,大幅度改善用户体验. 通过分析此次Ocata版本的全球贡献排名,我们欣喜地发现中国企业排名普遍提升,多个厂家贡献排名进入全球Top20

深度解读 OpenStack Liberty 国内代码贡献

又到了 OpenStack 新版本发布的季节,虽然秋意寒寒,但是仍然挡不住 OpenStack 再次掀起全球关注的热点.这是 OpenStack 第12个版本,与之前的沉稳低调相比,这次的 Release 中一口气多了 5 个新模块,也创下了 OpenStack 项目创建以来的最高纪录.由于天然的架构优势,让 OpenStack 在云计算横行天下的年代游刃有余,已经逐步成为了云平台的即成标准,从 OpenStack 对待 AWS 的 API 兼容的态度就能看出,OpenStack 变得越来越自信

OpenStack Newton发布 EasyStack核心代码贡献中国第一

本周,OpenStack正式发布了第14个版本Newton,使OpenStack成为虚拟化.裸机.容器的统一云平台,并在可扩展性.可靠性和用户体验方面均有显著提升. 同时,Newton全球社区代码贡献排名也新鲜出炉,全球共有181家企业和组织贡献代码.代码贡献是开源社区存在和发展的基础,也是OpenStack企业技术水平和综合实力的表现.中国有23家企业上榜,与上一个版本13家中国企业同比,增长高达77%,成为全球的OpenStack技术的中坚力量. 其中,EasyStack(北京易捷思达科技发

胡才勇:开源社区的认可来自于贡献

软博会2009开源软件发展论坛成功召开 2009年6月12日,第十三届中国国际软件博览会系列论坛之"2009开源软件发展论坛"在京成功召开.论坛聚集了来自各地的开源领袖.IT知名企业.专家学者和国内有影响的开源技术厂家,北京红旗贰仟软件技术有限公司(以下简称红旗2000)也应邀参加了此次论坛.红旗2000总经理胡才勇先生发表了题为<开源社区的认可来自于贡献>的主题演讲,就红旗2000的开源策略及与开源社区的互动等做了详细的论述. 本次论坛的主题为"创新应用促发展-

星辰天合:为云存储而生 Ceph社区代码贡献领先的国产企业

  OpenStack发展了这么多年,实际上已经成为云计算架构的标准之一.它为什么能够在短短几年内发生如此巨大的变化,并且快速得到用户的应用和部署呢?我认为这离不开众多传统IT厂商和初创厂商的支持,大家都在围绕OpenStack构建生态系统,所有的用户又得益于这个庞大的生态系统,从里面获得丰富的云计算管理.运维.设计和部署工具,进行整个云平台的打造. 正所谓有人的地方就有江湖,关注OpenStack的人多了,OpenStack的江湖也就自然形成了.最近, 51CTO联合戴尔一起举办<OpenSt

新手 问题 错误-为什么一运行.,exe就停止工作啊?代码如下,求大神赐教

问题描述 为什么一运行.,exe就停止工作啊?代码如下,求大神赐教 #include #include using namespace std; float x; float fun(int n) { int i; float P,t=1,a1,a2,Pn; srand((unsigned)time(NULL)); for(i=0;i<=n;i++) if(n=0) t=1; else t=t*x; a1=rand()%10; P=a1*t; a2=rand()%10; Pn=x*fun(n-1

我的 OpenStack 代码贡献初体验

OpenStack如今已成为开源云平台中的明星项目,得到广泛关注.OpenStack的优秀出众依赖于众多开发者的努力,在享受其带来的便利与快捷的同时,为其做一份贡献也是一个开发者的义务.在前段时间的OpenStack的测试过程中,我发现Nova项目中的一个Bug,于是向社区提交了Bug报告,并提交代码修复了该Bug,从提交报告到代码入库经历近一月,下面重现整个过程. 一.发现Bug: Nova中的虚拟机软删除(soft-delete)功能,是指在一段时间内,仅将数据库中的某虚拟机记录做一个标记

OpenStack代码贡献初体验

OpenStack如今已成为开源云平台中的明星项目,得到广泛关注.OpenStack的优秀出众依赖于众多开发者的努力,在享受其带来的便利与快捷的同时,为其做一份贡献也是一个开发者的义务.  在前段时间的OpenStack的测试过程中,我发现Nova项目中的一个Bug,于是向社区提交了Bug报告,并提交代码修复了该Bug,从提交报告到代码入库经历近一月,下面重现整个过程. 一.发现Bug:  Nova中的虚拟机软删除(soft-delete)功能,是指在一段时间内,仅将数据库中的某虚拟机记录做一个

HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)

4.hdfs的工作机制 (工作机制的学习主要是为加深对分布式系统的理解,以及增强遇到各种问题时的分析解决能力,形成一定的集群运维能力)   注:很多不是真正理解hadoop技术体系的人会常常觉得HDFS可用于网盘类应用,但实际并非如此.要想将技术准确用在恰当的地方,必须对技术有深刻的理解 4.1概述 1.        HDFS集群分为两大角色:NameNode.DataNode  (Secondary Namenode) 2.        NameNode负责管理整个文件系统的元数据 3.