如何成为OpenStack工程师

OpenStack Hacker

态度:开放、主动、沟通

影响力:能说、能写、能分享

四化:自动化、流程化、系统化、文档化

0级

掌握一些基本技能:python、c、linux、git、unittest、vim/emacs

python学习

书籍:

  • 《python参考手册》

  • 《python基础教程》

教程: codecademy

挑战: Python Challenge

文档: Python v2.7.3 documentation

高级: The Hitchhiker’s Guide to Python!

Linux环境学习

在线书籍: 鸟哥的Linux私房菜

Linux编程学习

书籍:

  • 《Unix环境高级编程》

  • 《UNIX系统编程》

Git学习

书籍:

  • 《版本控制之道》

在线书籍:

  • Pro Git

  • GotGitHub

教程:

  • tryGit

  • GitImmersion

进阶:

  • visual-git-guide

  • a-successful-git-branching-model

最常用的git命令:

  • Everyday GIT With 20 Commands Or So

Unittest学习

教程: python unittest

VIM学习

教程: vim-adventures

1级

学习openstack的基本概念

  • 介绍

  • Compute管理员手册

  • Network管理员手册

  • Object Storage管理员手册

  • OpenStack文档

  • OpenStack词汇表

使用openstack

  • 使用stacklab.org创建虚拟机

  • 使用界面管理openstack

  • 使用命令行管理openstack

  • 使用curl管理openstack

使用devstack安装openstack开发测试环境

  • 在stacklab.org上创建虚拟机

  • 在虚拟机上使用devstack安装

  • 阅读devstack.sh脚本

使用deb包安装openstack

  • 使用VirtualBox安装OpenStack

  • 在Ubuntu 12.04上安装OpenStack Folsom版(FlatDHCP+Multihost)

使用源码安装openstack

了解openstack的配置

  • 官方教程

  • 我们自己的教程:TODO

调试openstack

各种调试方法
* pdb

学习python的PEP8

  • PEP8规范

学习python的基本库

  • SQLAlchemy

  • pyzmq

  • libvirt

  • pylint

  • nosetest

  • TODO

学习测试

  • unit test

  • function test

  • integration test

学习数据库

  • mysql

写blog

2级

学习python的库和用法

理解python中optparse.OptionParser类。

  • http://docs.python.org/library/optparse.html

理解collections.Mapping类。

  • http://docs.python.org/library/collections.html

分析浅拷贝,深拷贝

  • http://blog.csdn.net/winterttr/article/details/2590741

  • http://longmans1985.blog.163.com/blog/static/70605475200991603624942/

  • http://book.51cto.com/art/200806/77233.htm

LoggerAdapter类

  • http://docs.python.org/howto/logging-cookbook.html#context-info中。

介绍rabbitmq

  • http://blog.ftofficer.com/2010/03/translation-rabbitmq-python-rabbits-and-warrens/

  • http://kombu.readthedocs.org/en/latest/introduction.html#synopsis

Python Decorators入门

  • http://blog.csdn.net/beckel/article/details/3585352

Python @classmethod @staticmethod的区别。

五分钟理解元类(Metaclasses)

  • http://www.cnblogs.com/coderzh/archive/2008/12/07/1349735.html

nova中用到的python知识

  • http://canx.me/2011/12/%E4%B8%80%E4%BA%9Bpython/

python中类的总结

  • http://ipseek.blog.51cto.com/1041109/802243

with的总结

  • http://effbot.org/zone/python-with-statement.htm

Pool类

  • http://nullege.com/codes/search/eventlet.pools.Pool

paste模块

  • http://pythonpaste.org/

python魔术方法

  • http://pycoders-weekly-chinese.readthedocs.org/en/latest/issue6/a-guide-to-pythons-magic-methods.html

Routes模块

  • http://routes.readthedocs.org/en/latest/index.html

2.5版yield之学习心得

学习OpenStack HACKING.rst

在nova目录下的HACKING.rst文件

学习nova的架构

  • nova的架构分析:TODO(rongze)

学习nova的代码

  • openstack的设计思想

  • nova的架构源码分析:TODO(rongze)

学习nova的各种机制

  • quota

  • policy

  • 其他:TODO(rongze)

学习nova的单元测试

  • 单元测试的原理: TODO(rongze)

  • nova单元测试架构: TODO(rongze)

学习CI

学习代码提交技能:git review、gerrit、launchpad。 TODO(rongze)

写blog,技术分享

3级

提交patch(自己的项目)

提交patch(openstack社区)

开发nova的扩展API

TODO(rongze)

  • 设计API

  • 编写nova/api

开发cinder的driver

学习开发driver:TODO(rongze)

写blog,技术分享

4级

Review别人的代码

TODO(rongze)

参加IRC meeting

  • 会议安排

参加邮件列表讨论

TODO(rongze)

跟踪openstack项目的发展

TODO(rongze)

写blog,技术分享

5级

OpenStack二次开发

熟悉openstack某个子项目,能够熟练进行二次开发:TODO(rongze)

OpenStack新项目

能够使用openstack的架构,开发新的项目:TODO(rongze)

写blog,技术分享

6级

TODO(rongze)

领域知识

虚拟化

网络

存储

对象存储

块存储

分布式存储

你可能感兴趣的:(云计算,openstack,工程师)