如何学习 openstack

22
OpenStack 如如如如 OpenStack OpenStack 献献献献献献献献献献献献 献献献献 OpenStack 献献献献献献献献献献

Upload: konala

Post on 16-Jan-2016

217 views

Category:

Documents


0 download

DESCRIPTION

OpenStack. 如何学习 OpenStack. 献给那些有云计算背景知识,准备投身 OpenStack 学习和研究的开发者们. 开源社区. 开源社区不仅仅是一种生产模式,同时也是一种基于项目活动之上的交流模式。社区不会强制成员该怎么做,它只会鼓励成员该怎么做。 本质:一群技术人员 开源精神:开放、互助、参与、分享 对项目有兴趣:乐于参与项目的运作、开发、测试、维护等 主要来源:与项目利益相关的企业 / 组织、个人开发者、科研机构 开源项目核心成员的主要特征 开发能力强,经验丰富 对项目所在领域的产品或者类似项目的理解和参与经验,对项目所在领域核心技术的掌握 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 如何学习 OpenStack

如何学习 OpenStack

OpenStack

献给那些有云计算背景知识,准备投身 OpenStack 学习和研究的开发者们

Page 2: 如何学习 OpenStack

OpenStack

开源社区

• 开源社区不仅仅是一种生产模式,同时也是一种基于项目活动之上的交流模式。社区不会强制成员该怎么做,它只会鼓励成员该怎么做。

• 本质:一群技术人员– 开源精神:开放、互助、参与、分享– 对项目有兴趣:乐于参与项目的运作、开发、测试、维护等– 主要来源:与项目利益相关的企业 / 组织、个人开发者、科研机构

• 开源项目核心成员的主要特征– 开发能力强,经验丰富

• 对项目所在领域的产品或者类似项目的理解和参与经验,对项目所在领域核心技术的掌握• 对项目的设计思想、架构演进、关键特性实现等方面的理解• 较高的代码质量

– 长期跟踪项目,并作出个人贡献• 参与设计,实现 feature ,修正 bug , review 代码等等

– 项目的核心负责人• 具备项目经理和产品经理的双重技能• 从项目创始初期即作为核心贡献者参与项目

Page 3: 如何学习 OpenStack

OpenStack

背景知识和必备技能

• ReST• 虚拟化 (libvirt, kvm, openvswitch, lvm, ceph...)• 数据库 (Mysql, PostgreSQL)• 消息队列服务 (RabbitMQ, ZeroMQ, Qpid)• 技多不压身 ...

1 背景知识

2 必备技能

• 英文• Python• Google

Page 4: 如何学习 OpenStack

OpenStack

参考和求助

• 上策– http://ask.openstack.org/– OpenStack General mailing list ([email protected])– OpenStack Development mailing list ([email protected])– IRC (https://wiki.openstack.org/wiki/IRC)

• 中策– 找同事咨询– 在 QQ 群、微信群、博客或微博公开求助

• 清晰描述问题出现的版本、相关配置、日志、初步的排错过程等

• 下策– 自己憋着

• 上策– OpenStac 官方文档 , OpenStack Wiki, Google doc, README

• 中策– 国内外大牛的技术博客

• 下策 A: 你那儿有没有 OpenStack 的资料,给我发一下,我学习学习? 我: ...

参考 – 权威、不过时√

求助 – 要想得到一个好答案,先从一个好问题开始√

Page 5: 如何学习 OpenStack

OpenStack

Step1 架构

Page 6: 如何学习 OpenStack

OpenStack

Step2 实际部署

• 操作系统– Ubuntu, Red Hat Enterprise Linux, SUSE...

• 手动安装– http://docs.openstack.org/icehouse/install-guide/install/apt/content/– 交换机配置

• 自动安装– DevStack (http://devstack.org/)– Fuel from Mirantis (https://wiki.openstack.org/wiki/Fuel)– Compass from Huawei (https://wiki.openstack.org/wiki/Compass)– 离线 all-in-one ISO from Huawei (

http://lingxiankong.github.io/blog/2014/04/29/openstack-icehouse-allinone)– ...

Page 7: 如何学习 OpenStack

OpenStack

Step3 使用 OpenStack

• Horizon

Page 8: 如何学习 OpenStack

OpenStack

Step3 使用 OpenStack

• cURL

root@openstack:~# $ curl -i 'http://127.0.0.1:5000/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "devstack"}}}'

• Postman

Page 9: 如何学习 OpenStack

OpenStack

Step3 使用 OpenStack

• OpenStack command-line clients– http://docs.openstack.org/cli-reference/content/

• OpenStack Python SDK (http://developer.openstack.org/)

from os import environ as envimport novaclient.v1_1.client as nvclientnova = nvclient.Client(auth_url=env['OS_AUTH_URL'],

username=env['OS_USERNAME'], api_key=env['OS_PASSWORD'], project_id=env['OS_TENANT_NAME'], region_name=env['OS_REGION_NAME'])

print(nova_client.servers.list())

Page 10: 如何学习 OpenStack

OpenStack

Step4 Under the hood

Page 11: 如何学习 OpenStack

OpenStack

Step5 Contribution

• 文档的 bug 修复• 带有 low-hanging-fruit 标签的 bug• 参与代码 review• Tempest 门槛用例,大牛们都很忙• bug 提交和修复• blueprint 的提交和实现• 为社区撰写文档

Page 12: 如何学习 OpenStack

OpenStack

Step5 Contribution

Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review & Merge

Congratuations

Page 13: 如何学习 OpenStack

OpenStack

Step5 Contribution

https://launchpad.net/+login, 同时可以登录 Gerrit , Jenkins注意:邮件地址很重要,后面还会用到Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review & Merge

Congratuations

Page 14: 如何学习 OpenStack

OpenStack

Step5 Contribution

https://www.openstack.org/join/Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review & Merge

Congratuations

Page 15: 如何学习 OpenStack

OpenStack

Step5 Contribution

https://review.openstack.org/#/settings/agreementsCorporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review & Merge

Congratuations

Page 16: 如何学习 OpenStack

OpenStack

Step5 Contribution

Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review & Merge

Congratuations

Page 17: 如何学习 OpenStack

OpenStack

Step5 Contribution

Step 1: Check for SSH keys

Step 2: Generate a new SSH key

Step 3: Add your SSH key to Gerrit

Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review & Merge

Congratuations

Page 18: 如何学习 OpenStack

OpenStack

Step5 Contribution

Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review & Merge

Congratuations

http://docs.openstack.org/api/openstack-network/2.0/content

Page 19: 如何学习 OpenStack

OpenStack

Step5 Contribution

Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review

Congratuations

api-site/api-ref/src/wadls/netconn-api/src/os-subnets.wadl

commit message:

review:

Page 20: 如何学习 OpenStack

OpenStack

Step5 Contribution

Corporate Contributor License Agreement

Create launchpad account

Join OpenStack Foundation

Sign the CLA

Setup&Config Git

Upload SSH

Find a Bug

Fix & Commit & Review

Congratuations

Page 21: 如何学习 OpenStack

OpenStack

2011至今就职于华为 IT 产品线 Cloud OS 产品部 领域:弹性服务控制, OpenStack ,团队 / 项目管理 Email : [email protected]

Page 22: 如何学习 OpenStack

OpenStack

Thanks!Stay hungry, Stay foolish, and Keep Healthy.....