introduction and hacking openstack, pycon india
DESCRIPTION
Slide provides information about overall OpenStack components and ends with how to contribute to OpenStack as a DeveloperTRANSCRIPT
![Page 1: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/1.jpg)
![Page 2: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/2.jpg)
![Page 3: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/3.jpg)
So lets begin
No bug is a minor bug & a patch is a patch.
Even if its one line FIXEven if its one line FIX
![Page 4: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/4.jpg)
![Page 5: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/5.jpg)
Agenda
● History● Components of OpenStack● Contributing to project as Developer● Q/A
![Page 6: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/6.jpg)
![Page 7: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/7.jpg)
In the beginning...
![Page 8: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/8.jpg)
http://www.openstack.org
![Page 9: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/9.jpg)
Now ..
![Page 10: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/10.jpg)
![Page 11: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/11.jpg)
Over 100+ others
Whom I cannot accomodate in my previous slide
![Page 12: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/12.jpg)
Also
VC have pumped in over > 80M USD Startups & EcoSystem
Developed by more than 330 contributors who implemented 185 different features
In current stable release name “Folsom”
![Page 13: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/13.jpg)
Release Cycle
June 2010 OpenStack Formed Austin 21 October 2010Bexar 3 February 2011Cactus 15 April 2011Diablo 22 September 2011Essex 5 April 2012Folsom 27 September 2012
![Page 14: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/14.jpg)
Some stats Ohloh ..
![Page 15: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/15.jpg)
Some stats Ohloh..
![Page 16: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/16.jpg)
Some stats Ohloh..
![Page 17: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/17.jpg)
And ..
On 4 April 2013
![Page 18: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/18.jpg)
Grizzly is coming out.
![Page 19: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/19.jpg)
Components
Compute (Nova)
provides virtual servers upon demand.
Object Store (Swift) allows you to store or retrieve files
Image (Glance) provides a catalog and repository for virtual disk images.
![Page 20: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/20.jpg)
Components
Identity (Keystone)
provides authentication and authorization for all the OpenStack services.
Dashboard (Horizon)
provides a modular webbased user interface for all the OpenStack services.
![Page 21: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/21.jpg)
Landed in Folsom
Network (Quantum)
provides "network connectivity as a service" between interface devices managed by other OpenStack services (most likely Nova).
Block Storage ( Cinder)
provides persistent block storage to guest VMs.
![Page 22: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/22.jpg)
Incubated Projects
Ceilometer metering project. it provides metering, it is not a billing project.
Heat provides a REST API to orchestrate multiple cloud applications implementing standards such as AWS CloudFormation.
![Page 23: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/23.jpg)
Comparison Against AWS
Nova is conceptually similar to EC2.
Swift is conceptually similar to S3.
Glance provides many of the same features as Amazon's AMI catalog.
Cinder provides block services similar to EBS.
![Page 24: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/24.jpg)
Components little deeper
![Page 25: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/25.jpg)
Nova (OpenStack Compute)
ReST based API Highly-modular framework Horizontally and massively scalable Hardware agnostic Hypervisor agnostic
![Page 26: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/26.jpg)
Object server
Nova components
RabbitMQAPI node
Scheduler node
Compute node
Database Datastore
![Page 27: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/27.jpg)
Swift (OpenStack Object Storage)
Object storage ReSTful interface Objects in containers in accounts No object size limit 3+ replication factor in separate Stable and deployed in production
![Page 28: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/28.jpg)
Swift main components
Proxy server
Account server
Container server
Object server
Swift API
![Page 29: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/29.jpg)
Glance (OpenStack Image service)
Disk images and associated metadata Discover, register and retrieve Multiple disk formats : raw, VHD, vmdk, vdi, qcow2, aki, ari, ami Multiple container formats : ovf, bare, aki, ari, ami
![Page 30: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/30.jpg)
Glance architecture
glance-apiGlance API
glanceCLI tool
glance.clientPython library
Reg
istry A
PI
glance-registry
...
...
SQL
S3
HTTP
Local FS
Swift
Images
Metadata
...
![Page 31: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/31.jpg)
Keystone (OpenStack Identity)
Keystone
Swift
Glance keystone-manage
...
SQL
NovaAPI servers
LDAP
Session API Admin API
Unified tenants / accounts for all services
![Page 32: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/32.jpg)
“Horizon” (OpenStack Web UI)
Django module to build web UIs
Swift
Glance
NovaAPI servers
Cinder
Quantum
![Page 33: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/33.jpg)
Did I Miss Something?
![Page 34: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/34.jpg)
![Page 35: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/35.jpg)
U See this boy!!
![Page 36: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/36.jpg)
Bake bake bake ..
![Page 37: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/37.jpg)
![Page 38: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/38.jpg)
![Page 39: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/39.jpg)
![Page 40: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/40.jpg)
![Page 41: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/41.jpg)
Development cycle 6
month
s
Design, blueprint creation
Design Summit, 3 days to discuss and brainstorm
PTLs define cycle targets
Feature milestones every 4 weeks
Last feature milestone, no more features allowed
Release branch is cut, next cycle starts
Final release
![Page 42: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/42.jpg)
Journey of a feature
trunk
feature branch
Design Write code
Code review
Milestone Release
Final Release
Pre-merge tests
Postmerge tests
![Page 43: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/43.jpg)
Lets bring back this boy.
![Page 44: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/44.jpg)
He saw a bug in the Code
Line 55 and 57 were duplicate lines.
![Page 45: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/45.jpg)
STEP 1(A). Sign the CLA, Every developer needs to sign the Individual Contributor License agreement.
(B) Create a Launchpad Account( https://launchpad.net/) if you don't have one. Its a must.
(C). Add yourself to the contributors wiki
(D). Request membership in the openstackcla group on Launchpad. Membership in this group is required in order to submit code changes.
![Page 46: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/46.jpg)
2. The Environment Setup
Bug was in Tempest● Get the source code of tempest project from the github
repo.● Install git on your local machine. Ex: On ubuntu just type
sudo aptget install gitcore
● Configure Your user name and password:git config global user.name "Firstname Lastname"git config global user.email "[email protected]"
● Install gitreview tool On ubuntu: sudo aptget install gitreview On other unix like systems: pip install gitreview
![Page 47: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/47.jpg)
STEP 3: Getting the Code
git clone git://github.com/openstack/tempest.git
![Page 48: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/48.jpg)
STEP 4: Fix the Bug● Enter in to tempest directory and let gitreview
tool to configure your project. Make sure your gerrit/launchpad user name is the same as the current running user. $ cd tempest $ git review s
● Get the latest upstream changes: $ git remote update $ git checkout master $ git pull origin master
$ git checkout b duplicate_line_in_base.py
●
![Page 49: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/49.jpg)
● Remove the duplicate line and save it.
● Now commit your change with a
commit message. You can read more
about commit messages on
http://wiki.openstack.org/GitCommitMessages
.
$git commit am “Removed the
duplicate line from base.py.”
● Finally send the code for review.
$ git review
![Page 50: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/50.jpg)
Any Openstack developer may propose or comment on a change (including voting +1/0/1 on it). Openstack projects have a policy requiring two positive reviews from core reviewers.
When a review has two +2 reviews and one of the core team believes it is ready to be merged.
Jenkins will run tests on the change, and if they pass, it will be merged.
After you submit a change
![Page 51: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/51.jpg)
Few links Gerrit Workflowhttp://wiki.openstack.org/GerritWorkflow
Gerrit, Jenkins, and GitHubhttp://wiki.openstack.org/GerritJenkinsGithub
How To Contributehttp://wiki.openstack.org/HowToContribute
![Page 52: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/52.jpg)
http://devstack.org/
![Page 53: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/53.jpg)
![Page 54: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/54.jpg)
OpenStack is... you, us
http://launchpad.net/openstackhttp://wiki.openstack.orghttp://planet.openstack.org
Twitter @OpenStack @OpenStackIndia
![Page 55: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/55.jpg)
Special Thanks...
Thierry Carrez, Syed Armani,Ken Pepple Tony Dk & Razique
![Page 56: Introduction and hacking OpenStack, Pycon India](https://reader036.vdocuments.us/reader036/viewer/2022081400/554c0b8ab4c905390b8b5735/html5/thumbnails/56.jpg)