NazcaLines / Blog

1 stars 0 forks source link

OpenStack开源社区开发指南 #12

Open NazcaLines opened 8 years ago

NazcaLines commented 8 years ago

Openstack

贡献方式

  1. BP(BluePrint)
    如果你要新增一项特性,那么你首先需要撰写一个BP,写明为什么你要这么做,怎么做,以及后果。一旦这个BP被通过了,你就可以按照自己的意愿开始干活了。
  2. Fix bug
    https://bugs.launchpad.net/项目名 这个页面中会显示特定项目的bug列表。你可以从中选择bug进行修复。
  3. Review
    在gerrit中,会显示很多其他人提交的patch,你可以review他人的代码并且给出评分。一般用户最多只能+1分,core review成员有+2分的能力。 一个patch能否被用过,决定于是否达到2个+2分的review。当然,如果你觉得他人的代码写的不够,做法有些妥当,那么-1分也是可以的。

    与社区保持联系

  4. IRC
    IRC是常用的即时聊天工具。OpenStack使用freenode进行通信。建议下载Xchat,连接freenode,然后就可以加入任何一个channel。 一般来说都是 openstack-项目名 例如openstack-nova就是nova项目的讨论组。
  5. Meeting
    OpenStack各个项目都有属于自己的每周例会,在特定的频道中进行会议。一般是openstack-meeting-alt. 如果你有什么议题,可以在所在项目的wiki页面上的meeting agenda中添加,会议上会逐项审议,就可以讨论到你的议题了。比如,你写了一个BP,那么可能需要你在会议中提出来,由大家进行讨论,根据反馈结果进行修改,这样BP被通过的概率就会大大提高了。

    提交PATCH

  6. 注意commit信息
    commit信息的写法很有讲究。一般是第一行写概要,指出这个patch做了什么,然后空2行写具体内容。最后,如果是实现一个bp,那么需要在commit信息中加上Implements: blueprint bp名称 。 这样一旦这个patch被merge了, 那么你所提出的bp就会被系统自动标注为已经实现。
  7. git-review
    所有的code review都是在gerrit平台上进行的。所以,我们要先配置好git-review才可以向平台提交patch。

    OpenStack代码通用库

  8. Spinx
    这是一个文档生成工具,可以根据RST文档,自动生成HTML。Opentack大量使用了这个module.
  9. Pbr
    这是用于替代pathon setupuptools的 module。提供更加强大的功能:
    • 自动整合spinx进行文档处理
    • 自动安装dependency,只需要我们在requirements.txt中写上module的名字和版本号。
    • 在git中自动产生AUTHORS和ChangeLog
    • 与git整合 当然,Openstack采用它作为安装工具。
  10. tox
    tox是一个测试工具,你只需要写好测试用例,配置好tox(tox.ini)然后运行tox就好了。它会自动安装测试过程中需要的包,并且它是运行在干净的虚拟环境中。
abbshr commented 8 years ago

拜大openstack社区~~

NazcaLines commented 8 years ago

哇,第一个访客!!!

abbshr commented 8 years ago

你这是翻译的社区贡献流程嘛?

NazcaLines commented 8 years ago

我简单总结了一下。 说真的,我特别希望你能开一个开源计划,顺便把我拉进去~

abbshr commented 8 years ago

@NazcaLines 我暂时没想好要写什么, 先读点paper看看有没有什么能做的再说~

abbshr commented 8 years ago

@NazcaLines 但是我有翻译项目啊~~ :;)

abbshr commented 8 years ago

这两是讨论分布式事务的: https://trello-attachments.s3.amazonaws.com/560ceced9f7a784cd16c3776/564d977151043ebb7cd85069/7e7faaa679d3c809578cabd1664a9fd0/fit.pdf

https://trello-attachments.s3.amazonaws.com/560ceced9f7a784cd16c3776/564d977151043ebb7cd85069/51bdfe592cf437a6dd00ab7f015d418e/socc10-das.pdf

这个是设计网络应用架构的: https://trello-attachments.s3.amazonaws.com/560ceced9f7a784cd16c3776/564d977151043ebb7cd85069/bf6ae4eef83b1672ec1bd17f2f5a831c/fielding_dissertation.pdf

这个是讲CRDT数据类型的, 用于最终一致性解决方案: https://trello-attachments.s3.amazonaws.com/560ceced9f7a784cd16c3776/564d977151043ebb7cd85069/0a68ca9c15a394ce09790e0ee7580f59/a-comprehensive-study-of-convergent-and-communative-replicated-data-types.pdf

剩下两个关于缓存, 内存管理优化方面的:

https://trello-attachments.s3.amazonaws.com/560ceced9f7a784cd16c3776/564d977151043ebb7cd85069/e557f39d58105f96add86de00d56cad4/P439.PDF

https://trello-attachments.s3.amazonaws.com/560ceced9f7a784cd16c3776/564d977151043ebb7cd85069/d1a78e27b9308041fe08632e423b6a2b/leases-gray.pdf