0 阅读指南

  • 希望本文能够解开你心中萦绕已久的心结,假如是死结,请移步到 https://wiki.openstack.org/wiki/Main_Page
  • 学习OpenStack其实就是学习各种Python库的过程。
  • 把OpenStack的设计原则贴在你的墙上。 https://wiki.openstack.org/wiki/BasicDesignTenets

1 OpenStack Hacker

  • 态度:开放、主动、沟通
  • 影响力:能说、能写、能分享
  • 四化:自动化、流程化、系统化、文档化

2 基础技能

Python

  • 书籍:
    • 《python参考手册》
    • 《python基础教程》
  • 教程: Codecademy
  • 挑战: Python Challenge
  • 文档: Python v2.7.3 documentation
  • 高阶:
    • The Hitchhiker’s Guide to Python!
    • Python Module of the Week

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

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 基本概念

  • 介绍: https://www.openstack.org/software/
  • Compute管理员手册(必看):http://docs.openstack.org/trunk/openstack-compute/admin/content/ch_getting-started-with-openstack.html
  • OpenStack End User Guide(必看): http://docs.openstack.org/user-guide/content/
  • Network管理员手册:http://docs.openstack.org/folsom/openstack-network/admin/content/
  • Object Storage管理员手册:http://docs.openstack.org/folsom/openstack-object-storage/admin/content/
  • OpenStack文档:http://docs.openstack.org/
  • OpenStack词汇表:http://docs.openstack.org/glossary/content/glossary.html
  • 使用命令行管理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源。

  • 设置apt源:http://blog.ubuntusoft.com/ubuntu-update-source.html
  • 设置pypi源:http://www.v2ex.com/t/75316

你也可以搭建自己的apt源和pypi源:

  • 搭建apt源:
    • http://blog.ef.net/2012/10/26/unbutu-release-upgrade-with-local-apt-mirror.html
    • http://www.cnblogs.com/kulin/archive/2012/08/08/2628400.html
  • 搭建pypi源:
    • https://pypi.python.org/pypi/bandersnatch

devstack 安装

  • 使用devstack安装 http://devstack.org
  • 阅读devstack.sh脚本 http://devstack.org
  • screen的使用:http://www.9usb.net/201002/linux-screen-mingling.html

devstack使用screen管理OpenStack各个服务,所以你要用screen调试OpenStack。

packstack(RHEL,CentOS) 安装

  • git仓库: https://github.com/stackforge/packstack
  • quickstart: http://openstack.redhat.com/Quickstart

deb包安装

  • 使用VirtualBox安装OpenStack
  • 在Ubuntu 12.04上安装OpenStack Folsom版(FlatDHCP+Multihost)
  • Ubuntu12.04.2 OpenStack Grizzly 安装(Bridge)

调戏 OpenStack

  • pdb:
    • http://docs.python.org/2/library/pdb.html
    • http://blog.csdn.net/hackerain/article/details/8373597
    • http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/

Python基本库

WSGI

  • eventlet.wsgi: http://eventlet.net/doc/examples.html#wsgi-server
  • webob: http://webob.org/
  • pecan: http://pecanpy.org/
  • wsme: http://pythonhosted.org/WSME/
  • paste: http://pythonpaste.org/
  • routes: http://routes.readthedocs.org/en/latest/

重要的库

  • SQLAlchemy:http://www.sqlalchemy.org/
  • libvirt: http://libvirt.org/index.html
  • logging: http://docs.python.org/2/howto/logging-cookbook.html
  • greenlet: http://greenlet.readthedocs.org/en/latest/
  • eventlet: http://eventlet.net/
  • kombu: http://kombu.readthedocs.org/en/latest/
  • 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)
  • testtools:https://readthedocs.org/projects/testtools/
  • mox:http://code.google.com/p/pymox/wiki/MoxDocumentation
  • mock:http://www.voidspace.org.uk/python/mock/
  • tox:http://tox.readthedocs.org/en/latest/
  • fixtures:https://pypi.python.org/pypi/fixtures
  • testscenarios:https://pypi.python.org/pypi/testscenarios/
  • nose:https://nose.readthedocs.org/en/latest/
  • testrepository:https://testrepository.readthedocs.org/en/latest/MANUAL.html

OpenStack基础组件

在OpenStack中,有一个重要的项目叫做Oslo(原名是openstack-common),给OpenStack其他项目提供基础组件。

  • https://wiki.openstack.org/wiki/Oslo

RPC组件

  • RPC组件
  • http://blog.ftofficer.com/2010/03/translation-rabbitmq-python-rabbits-and-warrens/
  • http://www.rabbitmq.com/tutorials/tutorial-six-python.html
  • http://docs.openstack.org/developer/nova/devref/rpc.html

WSGI

  • http://archimedeanco.com/wsgi-tutorial/

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/

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

yield学习

  • http://www.pythonclub.org/python-basic/yield
  • http://blog.donews.com/limodou/archive/2006/09/04/1028747.aspx
  • http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/
  • http://www.jeffknupp.com/blog/2013/04/07/improve-your-python-yield-and-generators-explained/

4 OpenStack 整体架构

架构图

必看:

  • http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/
  • http://www.solinea.com/2013/06/15/openstack-grizzly-architecture-revisited/
  • http://www.slideshare.net/mirantis/open-stack-architecture-overviewmeetup662013

OpenStack架构图,你可以点击放大。

工作流

Keystone Workflow

必看:

  • https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_keystone_workflow_token_scoping?lang=zh
  • http://docs.openstack.org/trunk/openstack-compute/admin/content/keystone-concepts.html

点击可看大图。

Nova Workflow

必看:

  • https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_nova_api?lang=en
  • http://ilearnstack.com/2013/04/26/request-flow-for-provisioning-instance-in-openstack/comment-page-1/

nova-api处理 REST 请求。

nova创建虚拟机的工作流。

OpenStack 核心项目

对各个项目简要分析:http://www.slideshare.net/randybias/state-of-the-stack-april-2013

核心项目的分析:

  • Keystone:
    • http://docs.openstack.org/developer/keystone/
    • http://www.slideshare.net/openstackindia/openstack-keystone-identity-service
  • Glance:
    • http://docs.openstack.org/developer/glance/
  • Nova:
    • http://docs.openstack.org/developer/nova/
    • https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_nova_scheduler_and_its_algorithm27?lang=en
  • Cinder:
    • http://docs.openstack.org/developer/cinder/
    • Cinder grizzly deep dive pub
  • Neutron:
    • http://docs.openstack.org/developer/neutron/
    • http://www.slideshare.net/openstackindia/openstack-quantum-16710792
    • http://www.slideshare.net/lewtucker/openstack-quantum-network-service
    • http://www.slideshare.net/openstackindia/openstack-quantum-18418306
  • Horizon:
    • http://docs.openstack.org/developer/horizon/
  • Swift:
    • http://docs.openstack.org/developer/swift/
    • http://blog.csdn.net/alex890714/article/details/7314780
    • Swift架构与实践
  • Oslo:

通用机制的分析:

  • quota: http://blog.csdn.net/hackerain/article/details/8223125
  • policy: http://blog.csdn.net/hackerain/article/details/8241691

5 OpenStack 部署/管理

OpenStack 自动化部署

Puppet:

  • https://wiki.openstack.org/wiki/Puppet-openstack
  • https://github.com/stackforge/puppet-openstack
  • https://puppetlabs.com/solutions/openstack/

Fule: Mirantis出品的部署工具,从裸机到OpenStack组件再到HA全部搞定

  • https://fuel.mirantis.com/

OpenStack 监控

  • OpenStack 监控: http://www.mirantis.com/blog/openstack-monitoring/

6 参与 OpenStack 社区

都在这里:https://wiki.openstack.org/wiki/Main_Page

  • 山头: https://review.openstack.org/#/admin/groups
  • 向社区提交Patch:https://wiki.openstack.org/wiki/How_To_Contribute
  • gerrit的使用:https://wiki.openstack.org/wiki/Gerrit_Workflow
  • Review别人的Patch:https://review.openstack.org
  • 参与IRC Meeting:
    • https://wiki.openstack.org/wiki/Meetings
    • https://wiki.openstack.org/wiki/Mailing_Lists
    • https://wiki.openstack.org/wiki/People
  • 参与邮件列表讨论:https://wiki.openstack.org/wiki/Mailing_Lists
  • 跟踪OpenStack项目的发展:
    • http://www.openstack.org/blog/
    • http://planet.openstack.org/
    • https://wiki.openstack.org/wiki/Special:RecentChanges
    • http://github.com/openstack
    • https://github.com/stackforge/ (You will like it)
    • https://github.com/openstack-dev/
    • https://github.com/openstack-infra
  • 学习CI:http://ci.openstack.org/

7 OpenStack 二次开发

  • 开发Nova的扩展API:
    • https://www.ibm.com/developerworks/community/blogs/e93514d3-c4f0-4aa0-8844-497f370090f5/entry/openstack_nova_api?lang=zh
    • https://wiki.openstack.org/wiki/WritingRequestExtensions
    • http://stephanfr.com/2013/04/07/creating-an-openstack-keystone-helloworld-extension/
    • http://www.cnblogs.com/willier/archive/2013/05/22/3092961.html
  • 开发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

转载于:https://www.cnblogs.com/heidsoft/p/3526969.html

OpenStack Hacker养成指南相关推荐

  1. 大牛养成指南(3):天天写业务代码,如何成为技术大牛?

    2019独角兽企业重金招聘Python工程师标准>>> 几个典型的误区 拜大牛为师 知乎上有人认为想成为技术大牛最简单直接.快速有效的方式是"拜团队技术大牛为师" ...

  2. 2023年中高级前端养成指南-需要关注和学习的13大类80余个前端技术栈与前端趋势-看这篇就够了系列

    今天是兔年开工的第一个星期一,我们又要投入到忙碌的工作了. 以下是imqdcn研究整理的2023年中高级前端养成指南,收藏起来,从开工第一天起,立下全新的计划和目标,愿你在兔年大展宏兔,扬眉兔气. 文 ...

  3. 多节点OpenStack Charms 部署指南0.0.1.dev303--21--控制器备份和还原

    目录: 第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南 第二节 多节点OpenStack Charms 部署指南0. ...

  4. 《技术大牛养成指南》

    转自:  https://mp.weixin.qq.com/s/92Cr_kE1djVDvB24N_kCvA <技术大牛养成指南> 2017-03-02  李运华  StuQ 作者|李运华 ...

  5. Openstack 安装部署指南翻译系列 之 概况

      上面左边是我的个人微信,如需进一步沟通,请加微信.  右边是我的公众号"Openstack私有云",如有兴趣,请关注. 概况 Openstack项目是支持所有类型的云环境的一个 ...

  6. openstack安装指南_6种管理OpenStack的新指南

    openstack安装指南 是否在寻找指导以指导您完成运行OpenStack的开源云的创建,维护和保养? 我们在一个地方收集了过去一个月中我们最喜欢的一些教程和技术指南. 如果您需要进一步的指导,请确 ...

  7. 多节点OpenStack Charms 部署指南0.0.1.dev--42--部署bundle openstack-base-78,单网口openstack网络,及注意:千万不能以数字开头命名主机名

    参考文档: OpenStack Charms Deployment Guide-001dev416 Openstack Base #78 最近在看新的openstack-base-78,顺手点开了Op ...

  8. 技术大牛养成指南,一篇不鸡汤的成功学实践

    作者李运华,阿里游戏资深软件工程师 有的人想成为大牛,却不曾为此努力.有的人辛苦耕耘,却收获寥寥.很多时候,你跟成功的差距并不是能力,也不是运气,或许只是正确的方法?这是一篇不鸡汤的成功学指南,如果你 ...

  9. Openstack入坑指南

    什么是云计算 概念 云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息,可以按需求提供给计算机和其他设备.用户不需要了解"云"中的基础设施细节,不必具有相应的专 ...

最新文章

  1. Oracle数据文件、用户、schema、实例
  2. Metasploit设置HttpTrace参数技巧
  3. python微型web框架flask介绍
  4. Ubuntu18.04中Anaconda启动 Navigator
  5. pandas mysql index_Pandas从入门到精通(3)- Pandas多级索引MultiIndex
  6. python是开源工具吗_微软最强 Python 自动化工具开源了!不用写一行代码
  7. linux shell中实现字符串反转的几种简单方法
  8. 泛微oa系统什么框架_泛微OA ecology 二次开发实例 开发完整说明
  9. 从TPCC看DM8常见集群架构开销
  10. 这是我见过最好的唐诗,而且通俗易懂
  11. 办公:office办公软件Excel表格的打印技巧
  12. 我买了一辆奥迪,然后……
  13. ISP——坏点矫正(Defective Pixel Correction,DPC)
  14. 巨人java生鲜app下载_Java生鲜电商平台-生鲜电商商品中心系统设计与数据库架构(生鲜小程序/APP)...
  15. 怎样恢复被删除的文件
  16. firefox添加百度搜索引擎
  17. 约瑟夫环问题【数组】标记法
  18. View的实现和优化相关面试题
  19. Koch Curve
  20. WebEx网络视频会议

热门文章

  1. ❤️程序员国企太安逸想辞职,又嫌私企大厂压力大996我该如何选择?(高级全栈自动化之路)
  2. 访问服务器显示无法访问目标主机,发送4接收4无法访问目标主机
  3. Robust Quasistatic Finite Elements and Flesh Simulation
  4. MATLAB中的三维图形等值线
  5. MATLAB关于Mesh的相关命令
  6. pytorch制作test和train下面还有类别的文件(从一个图片文件中复制)
  7. OpenCv色彩通道分离与融合
  8. oracle rac防护,Oracle RAC日常基本维护命令
  9. python创建虚拟环境jupyter_创建 python 虚拟环境以及对应的 jupyter notebook kernel
  10. python pdfplumber 打开文件失败_喜大普奔 | 如何在Win10下利用Python打开grib文件