• 1. 漫谈OpenStack开发 陈 晓
  • 2. 目录content0102030405何为OpenStackWhat为何学习OpenStack开发如何做OpenStack开发企业中常见的二次开发融入OpenStack开源社区WhyHowUsageAchievement
  • 3. 01何为OpenStack一个云操作系统管理大量计算、存储、网络资源, 一堆项目的结合通过Dashboard管理资源!=虚拟化 (OpenStack虚拟化需要借助Hypervisor)
  • 4. OpenStack开发现状
  • 5. 为何学习OpenStack开发02
  • 6. 为何学习OpenStack开发快速定位和修复公司生产环境中的bugs,对应社区的bugfix。增加公司产品新功能,新模块 ,对应社区的 new project、blueprint。 简化开源版本的OpenStack,化繁为简。快速定位和修复生产环境Bug增加新功能、新模块优化OpenStack01020304跟进社区进度跟进社区进度,及时取patch为公司产品所用。
  • 7. 如何做OpenStack开发03
  • 8. 1、Linux基础 2、Python及相关库 (http://docs.openstack.org/developer/opensack-projects.html) 3、Git (git clone https://github.com/openstack/nova.git) 4、 网络、存储、虚拟化知识 5、开发工具 [Eclipse, Pydev, EGit]开发基础与工具
  • 9. OpenStack架构
  • 10. OpenStack架构
  • 11. OpenStack代码结构Cinder项目代码结构Cinder核心部分项目代码结构
  • 12. Monkey patch 通过在运行时替换名空间的方式实现测试 ./run_tests.sh单元测试0102Tempest 是基于 unittest2 和 nose 建立的灵活且易于扩展及维护的自动化测试框架 nosetest命令集成测试测 试
  • 13. pdb import pdb; pdb.set_trace() pprint 库写入print语句 查看logverbose=true debug=true 查看log 修复开发后遗症
  • 14. 当前企业 常见的基于OpenStack的二次开发04
  • 15. 针对各类型镜像设置root密码, 如windows、linux等 主机、硬盘备份改进 修改或增加调度器 安全组的改进, 修改默认安全组 修改api的接口, 增加扩展api 带宽限速, IO限速 当前企业常见的基于OpenStack的二次开发增量备份 优化改进Dashboard 编写新设备的driver 编写新的hypervisor的driver 编写计费和日志模块等 SDN相关的开发 监控开发
  • 16. 05OpenStack开发的乐趣 融入OpenStack开源社区
  • 17. 如何向社区提交代码
  • 18. 社区CI是怎样工作完成代码的merge?Gerrit触发事件到事件流中Zuul从事件流中 读取事件贡献者提交一个patch核心成员review代码Jenkins执行所有的jobs, 返回结果到事件流中Jenkins执行$project\$pipline中的所有jobsZuul匹配事件到相应的PiplineZuul从事件流中读取Zuul添加一个review到patch上, 告知结果
  • 19. 融入OpenStack开源社区
  • 20. 融入OpenStack开源社区
  • 21. https://github.com/openstack http://www.openstack.org/ https://review.openstack.org https://launchpad.net/ http://docs.openstack.org/developer/devstack/ http://stackalytics.com/ http://status.openstack.org/zuul/ Zuul http://webchat.freenode.net/ IRC 融入OpenStack开源社区
  • 22. Thanks!email: juvxiao@gmail.com
  • 23. 精品课程推荐 《MySQL DBA脱产班》 《MySQL DBA周末加强提高班》 《HTML5 零基础全日制班》 《互联网架构师班》 《云计算周末集训营》 《Linux运维零基础脱产班》 联系方式: 咨询QQ群:167605499 3w教育荣誉出品