成为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学习
书籍:
《版本控制之道》
在线书籍:
教程:
进阶:
最常用的git命令:
Unittest学习
教程: python unittest
VIM学习
教程: vim-adventures
1级
学习openstack的基本概念
使用openstack
使用curl管理openstack
使用devstack安装openstack开发测试环境
使用deb包安装openstack
使用源码安装openstack
了解openstack的配置
我们自己的教程:TODO
调试openstack
各种调试方法 * pdb
学习python的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的代码
nova的架构源码分析:TODO(rongze)
学习nova的各种机制
学习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工程师的更多相关文章
- OpenStack Juno 版本发布——支持Spark和NFV[转]
作者:郑晨,OpenStack中国社区,转载请注明出处 美国时间2014年10月16日,OpenStack Juno版本正式发布,这是OpenStack开源云计算项目自2010年创立以来的第10个版本 ...
- 关于OpenStack的学习路线及相关资源汇总
首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...
- 写在最前面 - 每天5分钟玩转 OpenStack(1)
<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...
- 探索 OpenStack 之(7):Neutron 深入探索之 Open vSwitch (OVS) + GRE 之 Neutron节点篇
0. 测试环境 硬件环境:还是使用四节点OpenStack部署环境,参见 http://www.cnblogs.com/sammyliu/p/4190843.html OpenStack配置: ten ...
- 工具武装的前端开发工程师 Mac 软件清单
Awesome Mac 这个仓库主要是收集非常好用的Mac应用程序.软件以及工具,主要面向开发者和设计师.有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章<工具武装的前端开发工程 ...
- 深入理解Openstack自动化部署
前言 说实话,看到自己在博客园的排名感到惭愧,因为自己最近两年没有持续地在博客园上写技术博客了,有人私下问我是不是荒废了?翻翻15年和16年的博客,真的是少的可怜.一方面的确由于岗位的变化,导致了工作 ...
- Puppet Openstack Mitaka Design Summit小结
Puppet Openstack Design Summit小结 经过Puppet Openstack社区的不断努力,Puppet Openstack社区目前提供的Official Modules已经 ...
- 如何向Openstack社区提交一个新项目
前几天有个朋友问我:自己有一个idea不错的项目,也把基本的框架写好了,想贡献到Openstack社区,却不知道应该怎么做.正好之前我有过类似的经历,那么来分享一下我是如何向Openstack社区提交 ...
- 恒天云 3.0:打造基于OpenStack的私有云新模式
摘自恒天云官网:http://www.hengtianyun.com/download-show-id-17.html 云计算在当今IT世界中已发展地如火如荼,越来越多的企业利用云计算改造传统的数据中 ...
随机推荐
- mysql 数据库连接超时的问题 autoReconnect=true
最近在使用spring-jdbc数据库连接管理时,出现一个奇怪问题,当天部署运行没问题,第二天再试就报以下异常问题 org.springframework.dao.RecoverableDataAcc ...
- Python的方法解析顺序(MRO)
mro即method resolution order,主要用于在多继承时判断调的属性的路径(来自于哪个类). http://blog.csdn.net/imzoer/article/details/ ...
- 技术杂记-改造具有监控功能的数据库连接池阿里Druid,支持simple-jndi,kettle
kettle内置的jndi管理是simple-jndi,功能确实比较简单,我需要监控kettle性能,druid确实是很不错的选择,但没有提供对应的支持,我改进了druid源码,实现了simple-j ...
- PHP中计算时间段
在php中 strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳. 语法strtotime(time,now) time函数为需要转化为时间戳的时间点 now为返回值的 ...
- tp框架之留言板练习
登陆控制器与显示页面 <?php namespace Admin\Controller; use Think\Controller; class DengController extends C ...
- 与你相遇好幸运,制作自己的Yeoman Generator
使用别人写好的生成器: npm install -g yonpm install -g generator-angularyo angular 如何自己制作符合自己心仪的生成器呢: https://g ...
- python中list作为全局变量无需global声明的原因
发现一个问题. python中list变量作为全局变量时,在函数中可以直接修改. 而普通变量则需要先在函数中global声明,否则会报错. 例如: a = 1 def fun(): global a ...
- Javascript中数组的基本操作
删除数组指定的某个元素 via首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) ...
- Range Sum Query - Mutable
https://leetcode.com/problems/range-sum-query-mutable/ 因为数组会变动,所以缓存机制受到了挑战...每次更新数组意味着缓存失效,这样一更新一查找的 ...
- 【leetcode】Valid Sudoku
题目简述: Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board cou ...