【OpenStack】OpenStack原理(二)——开发基础

  1. OpenStack开发技术基础
     OpenStack开发首先要具备以下基础知识:
  • Python编程
     Python是OpenStack的主要开发语言,自然也是每一个OpenStack开发者的必备语言基础。
  • Linux环境编程
     目前为止,OpenStack仍只被部署在Linux系统上,开发环境自然也基本Linux。
  • 网络基础
     参与云计算平台的开源项目,网络基础知识是必须的要求。
  • 虚拟化
     虚拟化是云计算的基石,理解虚拟化对学习OpenStack非常有帮助。
  • 版本管理工具(Git)
  1. 浏览代码的工具
  • Vim+各种插件
  • Eclipse+PyDev插件
  • Spyder
  1. OpenStack代码质量保证体系
  • 代码静态检查
     对于OpenStack息息相关的Python代码静态检查来说,目前的工具主要有Pylint、Pep8、Pyflakes、Flake8等。OpenStack使用的代码静态检查工具是Flake8,并实现了一组扩展的Flake8插件来满足OpenStack的特殊需求,这组插件被单独作为一个子项目而存在,就是Hacking。
  • 代码评审
     Android在Git的使用上有两个重要的创新:一个为多版本库协同而引入的repo(对git使用的封装),另一个就是Gerrit——代码审核服务器。Gerrit基于SSH协议实现了一套自己的Git服务器,这样就可以基于自己的需求对Git数据传递进行更为精确的控制。Gerrit的Git服务器,只允许用户向特殊的引用refs/for/<branch-name>下执行推送,其中<branch-name>即为开发者的工作分支。
  • 单元测试
     OpenStack的单元测试追求的是速度、隔离以及可移植。对于速度,需要测试代码不和数据库、文件系统交互,也不能进行网络通信;单元测试的粒度要足够小,确保一旦测试失败,能够很容易迅速找到问题的根源;可移植是指测试代码不依赖于特定的硬件资源,能够让任何开发者区运行。
     执行单元测试的途径有两种:Tox或者项目源代码树根目录下的run_tests.sh脚本。通常我们使用的都是Tox。Tox是个标准的virtualenv(Virtual Python Environment builder)管理器和命令行测试工具。
  • 持续集成Jenkins
     OpenStack使用Jenkins搭建自己的持续集成服务器。Jenkins背后需要依托大量的单元测试以及集成测试代码,单元测试的代码位于各个项目自身的源码树里,而OpenStack的集成测试则是使用Tempest作为框架。

参考文献:
  1. OpenStack设计与实现    英特尔开源技术中心 著【OpenStack】OpenStack原理(二)——开发基础_第1张图片

你可能感兴趣的:(【OpenStack】OpenStack原理(二)——开发基础)