Want to be an OpenStack Contributor?
This 16 slide deck was originally presented at the SA OpenStackers April 2014 meetup, sponsored by Rackspace Hosting, INC. The deck provides a very high level introduction to OpenStack, the development process, the community, and the communication before providing information on why, how, and when to contribute. This presentation is aimed at more than just developers, encouraging everyone with interest to find a way to contribute that aligns with their talents and interests and get involved. Watch the high quality video recording of the original meetup presentation here: http://youtu.be/g-ohgmnIhY4?t=6m
SA OpenStackers April 2014 Meetup - OpenStack Contributors
1. Rainya Mosher, Software Dev Manager
Infrastructure Deployment Systems
Twitter: @rainyamosher | Email: rainya.mosher@rackspace.com
SA OpenStackers April ‘14
Meetup: So you want to be an
OpenStack contributor?
20 March 2014
2. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
• Name: Rainya Mosher
• Twitter: @rainyamosher
• IRC Freenode: rainya
• Email:
rainya.mosher@rackspace.com
Rainya is the software development manager for deployment
automation in the Product Infrastructure segment at
Rackspace Hosting, Inc.
2
Your Presenter
Want to be an OpenStack Contributor?
3. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
• View from 50,000 feet
– OpenStack Cloud Operating System
– OpenStack Development Process
– OpenStack Community
– OpenStack Communication
• OpenStack Contribution
– Why
– Where
– How
3
In This Presentation
Want to be an OpenStack Contributor?
4. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
“If computers of the kind I have advocated become the computers of the
future, then computing may someday be organized as a public utility just
as the telephone system is a public utility … The computer utility could
become the basis of a new and important industry.” - John McCarthy,
American Computer Scientist, MIT Centennial, 1961
4
Brief History of Computing
Want to be an OpenStack Contributor?
Mainframe
1960s
Virtualization
1990s
Cloud
2000s
Hybrid
2010s
5. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
5
OpenStack Cloud Operating System
Want to be an OpenStack Contributor?
“OpenStack is a cloud operating system that controls 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.” - http://www.openstack.org/software/
6. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
OpenStack Projects
Want to be an OpenStack Contributor?
6
• Compute (Nova)
• Object Storage (Swift)
• Image Service (Glance)
• Identity (Keystone)
• Dashboard (Horizon)
• Networking (Neutron)
• Block Storage (Cinder)
• Telemetry (Ceilometer)
• Orchestration (Heat)
• Database Service (Trove)
• Bare metal (Ironic)
• Queue service (Marconi)
• Data processing (Sahara)
• Key management (Barbican)
• Common Libraries (Oslo)
• Infrastructure
• Documentation
• Quality Assurance (QA)
• Deployment (TripleO)
• Devstack (DevStack)
• Release cycle management
• Product-ey Stuff @ Rackspace
7. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
7
OpenStack Development Process
Want to be an OpenStack Contributor?
Maintenance for Previous Releases
new features accepted feature freeze
Planning
community designs,
discusses, & targets
release cycle
Implementation
community makes changes
to OpenStack code &
creates new functionality
Pre-Release
community focuses
on bug fixes, docs,
& testing
Final
Release
6-Month OpenStack Release Cycle
Juno Design Summit
May 13 – 16, ’14
Atlanta, GA
Icehouse Release
4/17/2014 release date
8. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
OpenStack Community
Want to be an OpenStack Contributor?
8
• Not just open source software, a
growing community
• Frenemies and coopetion are fake
buzzwords I like to use
• A consortium of over 80 companies
AND a community of over a 1,000
individuals
• Individuals may work for some of the
companies or be completely
independent
Community Stats
73,759 commits
2,028 developers
36,560 tickets
51,937 mail msgs
http://activity.openstack.org/dash/releases/
9. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
• Mailing Lists >>
– 12 major list types (General, Announcements, Future Dev, Operators, QA, Foundation,
Security, Community, Translation, Sub-teams, User Committee, and Language-Specific)
– Sign up to as many as you want
– Lurk or participate– up to you
– Tip: Set up filters to manage the influx
• Internet Relay Chat (IRC) >>
– Centered on the Freenode network
– 42 different channels – join, lurk, participate
• Ask OpenStack >>
• Design Summit >>
• Meetups
• OpenStack Glossary >>
9
OpenStack Communition
Want to be an OpenStack Contributor?
10. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
• Be part of something BIG
• Build your expertise
• Work with amazingly smart people
• Influence change for good
• Build a new career path
• Unique social & technological challenge
• Change the world
10
Why to Contribute
Want to be an OpenStack Contributor?
11. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
Where to Contribute
Want to be an OpenStack Contributor?
11
What do you Like to Do?
• Use the Cloud
• Code OpenStack SDKs
• Code on OpenStack itself
• Operations & Engineering
• Community
• Documentation
What do you already know?
• Marketing
• Testing
• Triaging bugs
• Stabilizing
• Security
• Translating
12. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
How to Contribute
Want to be an OpenStack Contributor
12
1. Join - Prove You are You
• Create Launchpad account
• Upload SSH keys
• Join the Foundation (free)
• Verify it works on
review.openstack.org
2. Work Files - Get your Git On
• Clone an OpenStack Repo
• Setup git-review
• Edit, test locally
• Submit a patch
• Get it reviewed
3. Review – Extra Eyes
• Add inline comments
• Click Review - OR –
• Get local copy of the patch
• Patch your patch
• Run tests, edit
• Push it back to review.openstack.org
Just 3
simple
steps!
13. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
When Simple isn’t Easy – Git
Want to be an OpenStack Contributor?
13
• Git has a Learning Curve
• It may or may not make perfectly
intelligent people feel dumb
• You may or may not learn how to do
something, not use it for a week, and
feel like you’re starting over again
• Tutorials online may or may not
assume you already know basics of
version control and git branch
strategy
• It may or may not be hard when
you’re missing something “obvious”
to folks with git experience
14. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
When Simple isn’t Easy - Reviews
Want to be an OpenStack Contributor
14
• To merge, a patch must be reviewed
– Various voting and non-voting jobs
– +1 from two Project cores (+2)
• Those smart people you get to work
with? They have opinions. Usually
strong ones.
• Your Great Idea may not fit with the
release cycle goals or the direction
of the project.
• Your approach to content creation
(coding, writing, translation, etc) may
be different than someone else’s and
you may be blocked as a result
• Core Reviewers are an endangered
species who often don’t have time to
be “nice” in comments (but they are!)
Don’t give up! The review process is a
great way to learn python and
OpenStack from experienced
developers who want you to succeed.
15. RACKSPACE® HOSTING | WWW.RACKSPACE.COM
• Join in through launchpad and the Foundation
• Sign up for some mailing lists and join an IRC channel (or ten)
• Observe the community for a while and see where you are “pulled”
• Find a mentor to work with in your area of interest
• Ask LOTS of questions
“We may actually have enough developers right now. What we need are all those
other types of people.” Paraphrase of Russell B., former Nova PTL, from Mid-
Cycle Meetup in Utah
15
What’s Next
Want to be an OpenStack Contributor?
In the early 1960s, computer scientists working on mainframes envisioned a future where computing would be available using a utility model. The mainframe model evolved in the 90s to the modern data center. Individual servers began filling the old mainframe rooms as the growth of internet bought a surge of demand for computing. In the late 90s and early 2000s, virtualization became more common and easier to accomplish. Businesses realized they could extend a single dedicated server to provided multiple purposes for different projects and control costs and the time to acquire new hardware. In the mid- to late-2000s, the first cloud offerings began to enter the market. Now, more than 50 years since those early scientist's vision for computing, OpenStack provides open source software that enables more computing options than ever before.REF: http://siliconangle.com/blog/2014/03/05/the-evolution-of-the-data-center-timeline-from-the-mainframe-to-the-cloud-tc0114/
TheOpenStack Cloud Operating System is a collection of distinct services that are accessed through APIs. When installed on top of hardware, it creates a flexible and powerful cloud offering in which virtual servers can be created, modified, and deleted through a few clicks on the dashboard or through a direct call to the API.REF: http://www.openstack.org/software/