OpenStack Hacker养成指南
0 阅读指南
- 希望本文能够解开你心中萦绕已久的心结,假如是死结,请移步到 https://wiki.openstack.org/wiki/Main_Page
- 学习OpenStack其实就是学习各种Python库的过程。
- 把OpenStack的设计原则贴在你的墙上。 https://wiki.openstack.org/wiki/BasicDesignTenets
1 OpenStack Hacker
- 态度:开放、主动、沟通
- 影响力:能说、能写、能分享
- 四化:自动化、流程化、系统化、文档化
2 基础技能
Python
- 书籍:
- 教程: Codecademy
- 挑战: Python Challenge
- 高阶:
Linux
Git
- 书籍:
- 教程:
- 进阶:
- 最常用的git命令:Everyday GIT With 20 Commands Or So
Unittest
3 OpenStack 基础
The 5-minute Overview
OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds. The project aims to deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich. The technology consists of a series of interrelated projects delivering various components for a cloud infrastructure solution. OpenStackcontrols large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
OpenStack 基本概念
- OpenStack End User Guide(必看): http://docs.openstack.org/user-guide/content/
- Object Storage管理员手册:http://docs.openstack.org/folsom/openstack-object-storage/admin/content/
- OpenStack文档:http://docs.openstack.org/
- 使用命令行管理openstack: http://docs.openstack.org/cli/quick-start/content/index.html
- OpenStack Wiki: https://wiki.openstack.org/wiki/Main_Page
简单安装 OpenStack
环境设置
为了快速安装OpenStack,你要设置最快的apt源(或者设置yum源)和pypi源。
- 设置pypi源:http://www.v2ex.com/t/75316
你也可以搭建自己的apt源和pypi源:
- 搭建apt源:
- 搭建pypi源:
devstack 安装
- 使用devstack安装 http://devstack.org
- 阅读devstack.sh脚本 http://devstack.org
devstack使用screen管理OpenStack各个服务,所以你要用screen调试OpenStack。
packstack(RHEL,CentOS) 安装
- quickstart: http://openstack.redhat.com/Quickstart
deb包安装
调戏 OpenStack
- pdb:
Python基本库
WSGI
- eventlet.wsgi: http://eventlet.net/doc/examples.html#wsgi-server
- webob: http://webob.org/
- pecan: http://pecanpy.org/
- paste: http://pythonpaste.org/
重要的库
- SQLAlchemy:http://www.sqlalchemy.org/
- libvirt: http://libvirt.org/index.html
- eventlet: http://eventlet.net/
- oslo.config: https://wiki.openstack.org/wiki/Oslo#oslo.config
- stevedore: http://stevedore.readthedocs.org/en/latest/
TESTING
- PythonTestingToolsTaxonomy: http://wiki.python.org/moin/PythonTestingToolsTaxonomy (all in one)
- testscenarios:https://pypi.python.org/pypi/testscenarios/
- testrepository:https://testrepository.readthedocs.org/en/latest/MANUAL.html
OpenStack基础组件
在OpenStack中,有一个重要的项目叫做Oslo(原名是openstack-common),给OpenStack其他项目提供基础组件。
RPC组件
WSGI
OpenStack 代码规范
- Python PEP8 规范: http://www.python.org/dev/peps/pep-0008/
- OpenStack HACKING 规范: https://github.com/openstack-dev/hacking/blob/master/HACKING.rst
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的区别。
http://www.libaoyin.com/2013/08/06/pyhton-staticmethod-classmethod/
五分钟理解元类(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/
Routes模块
http://routes.readthedocs.org/en/latest/index.html
yield学习
4 OpenStack 整体架构
架构图
必看:
OpenStack架构图,你可以点击放大。
工作流
Keystone Workflow
必看:
点击可看大图。
Nova Workflow
必看:
nova-api处理 REST 请求。
nova创建虚拟机的工作流。
OpenStack 核心项目
5 OpenStack 部署/管理
OpenStack 自动化部署
Puppet:
Fule: Mirantis出品的部署工具,从裸机到OpenStack组件再到HA全部搞定
OpenStack 监控
- OpenStack 监控: http://www.mirantis.com/blog/openstack-monitoring/
6 参与 OpenStack 社区
都在这里:https://wiki.openstack.org/wiki/Main_Page
- Review别人的Patch:https://review.openstack.org
- 参与IRC Meeting:
- 跟踪OpenStack项目的发展:
- https://github.com/stackforge/ (You will like it)
7 OpenStack 二次开发
- 开发Nova的扩展API:
- 开发Cinder的driver:
- 新的driver必须满足 Minimum Features,参考同类型的driver,依葫芦画瓢。
8 OpenStack 生态圈
- OpenStack幕后的公司:http://www.chenshake.com/behind-the-openstack-company
- State of The Stack:http://www.slideshare.net/randybias/state-of-the-stack-april-2013 (一针见血)
- OpenStack贡献排行榜:http://stackalytics.com/
- OpenStack实践分享:http://www.mirantis.com/blog/ (mirantis是目前最成功的OpenStack系统集成商)
- 来自:http://www.ustack.com/blog/openstack_hacker/#1_OpenStack_Hacker
最新文章
- js中的等值运算符(抽象相等==与严格相等===的区别)
- openstack虚拟机启动过程
- hadoop中NameNode、DataNode和Client三者之间协作关系及通信方式介绍
- 看看 JDK 8 给我们带来什么(转)
- 有关EL表达式的一些笔记
- 修改oracle数据库为归档模式
- [置顶] Java Web开发教程来袭
- SQL点滴7—使用SQL Server的attach功能出现错误及解决方法
- [solr] - solr5.2.1环境搭建 - 使用tomcat做为容器
- 获取camera截屏图片
- 【算法系列学习】[kuangbin带你飞]专题二 搜索进阶 D - Escape (BFS)
- [BZOJ3460] Jc的宿舍
- Redis——主从同步原理
- JAVAEE——Mybatis第一天:入门、jdbc存在的问题、架构介绍、入门程序、Dao的开发方法、接口的动态代理方式、SqlMapConfig.xml文件说明
- MySQL升级教程(CentOS)
- 2017/2/24:Maven的pom jar war的区别
- 谈谈Java引用和Threadlocal的那些事
- Solr4.4入门,介绍Solr的安装、IK分词器的配置及高亮查询结果(转)
- bat脚本禁用和开启本地连接
- iOS - 解决Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named