首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》第12章 OpenStack孵化项目简介

关灯直达底部

对于OpenStack项目,在OpenStack集成并随版本正式发布前,都需要经历至少两个开发周期的孵化。

技术委员会会根据项目技术成熟度、项目范围合理性、与已有项目的互补性等,对孵化项目请求进行全面评估。

1.项目范围

1)项目必须有确定且明确的范围。

2)项目范围必须符合OpenStack整体方向,并与当前OpenStack的技术阶段匹配。

3)项目不能与OpenStack其他项目功能有重叠。如果存在,那么需要有清晰的计划,保证项目不会长期重叠。

4)项目必须尽可能地利用OpenStack其他项目中已有功能。

2.成熟度

1)项目应该有一个活跃的开发团队,对项目持续贡献。

2)项目主体架构必须稳定,主体架构不应该重新设计和重写。

3.进程

1)项目必须托管在Stackforge,因此必须使用Git版本控制系统。

2)项目必须遵循OpenStack协调项目接口(如tox、pbr等)。

3)在合理的情况下,项目应该尽可能使用Oslo库或者Oslo-incubator库。

4)项目必须有明确的代码检查团队,应该由团队多人对代码进行检查,而不能仅由一人完成。

5)项目检查标准应该与其他OpenStack项目一致。

6)项目讨论应该使用OpenStack官方邮件列表。

4.接口(API)

1)项目API必须稳定合理。

2)项目接口必须遵循Rest原则,即提供Restful接口。

3)项目必须提供Rest API对应的Python客户端。

5.质量保证(QA)

项目必须建立基本的devstack-gate任务。

6.文档及用户支持

1)项目必须提供相应的文档给致力于贡献代码的开发者。

2)项目必须提供API文档。

7.法律要求

1)项目必须遵循Apache v2许可协议。

2)项目不可以采用可能限制项目分发或部署的依赖库。

3)所有项目贡献者必须签署CLA(Inpidual Contributor License Agreement),以避免可能的版权纠纷。

4)项目必须没有已知的商标侵权问题。

当项目形成了一个完善、活跃的代码贡献团队和代码review团队,项目各方面条件已日趋成熟时,OpenStack技术委员会会最终决策项目是否可以进入集成阶段,并最终随版本发布。

OpenStack K版本比较活跃的孵化项目如图12-1左侧所示。本章将对这5个项目进行介绍,需要强调的是:OpenStack发展迅速,本书对OpenStack孵化项目的描述仅限于K版本。