So youwanttobeopenstackcontributor

21
Iccha Sethi @IcchaSethi Egle Sigler @eglute Angela Streeter @angelastreeter So You Want To Be an OpenStack Contributor?

description

OpenStack Conference, 2014 Speakers: Angela Streeter Egle Sigle Iccha Sethi

Transcript of So youwanttobeopenstackcontributor

Page 1: So youwanttobeopenstackcontributor

Iccha Sethi @IcchaSethiEgle Sigler @egluteAngela Streeter @angelastreeter

So You Want To Be an OpenStack Contributor?

Page 2: So youwanttobeopenstackcontributor

#rackstackatl

• Intro

• Who can contribute

• What it takes to be a contributor

• Finding something to contribute

• Life cycle of a patch

Outline

2

Page 3: So youwanttobeopenstackcontributor

#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM

What is OpenStack?Why Contribute to OpenStack?

Page 4: So youwanttobeopenstackcontributor

#rackstackatl

What is OpenStack?

4

Page 5: So youwanttobeopenstackcontributor

#rackstackatl

• Be part of growing community

• Build your expertise

• Work with some really great people

• Find a job: everyone is hiring!

• Learn new skills

• Come to the OpenStack Summit (Paris!)

• Join the rebel alliance to help build Planet Scale Cloud!

RACKSPACE® HOSTING | WWW.RACKSPACE.COM 5

Why Contribute?

Page 6: So youwanttobeopenstackcontributor

#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM

So You Want To Contribute?

Great!

Page 7: So youwanttobeopenstackcontributor

#rackstackatl

Total Contributions

7

76K Commits

2000 Developers

38K Tickets

55K Mail Messages

… and counting!

http://activity.openstack.org/dash/releases/index.html?data_dir=data/whole_project

Page 8: So youwanttobeopenstackcontributor

#rackstackatl

Who Can Contribute?

8

• Programmers: code

• Testers: test and break

• Writers: documentation

• Operators: cloud builders and maintainers

• Security People

• Designers

• Translators

• Gardeners: increasing comments in code, reducing pylint violations, increasing code coverage, etc.

• Reviewers!!!

Page 9: So youwanttobeopenstackcontributor

#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM

What It Takes To Contribute

Page 10: So youwanttobeopenstackcontributor

#rackstackatl

• Testing: – Report issues

– Triage issues: prioritize, confirm, review incomplete or stale bugs

• Security:– Join mailing lists, review code reviews, look for security issues, fix code

• Documentation:– Fix documentation bugs

– Write documentation

• Designers/UIX:– Review current features as a user,

– Design new features

• Developers:– Keep testing, security, documentation, designers, operators, and everyone else busy

Find Something To Contribute

Page 11: So youwanttobeopenstackcontributor

#rackstackatl

• Launchpad Account: https://login.launchpad.net/+new_account– Add SSH keys to Launchpad account

– Launchpad and Gerritt accounts are the same

• Join OpenStack Foundation: https://www.openstack.org/join/

• Sign Contributor’s License Agreement: https://review.openstack.org/#/settings/agreements – https://review.openstack.org/static/cla.html

• GitHub Account: https://github.com/– Install and configure git locally

– Install and configure git-review locally

• Use the same email address for all your accounts!

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

Do This Once

11

Page 12: So youwanttobeopenstackcontributor

#rackstackatl

• DevStack is awesome, try it.

Test Environment

12

Page 13: So youwanttobeopenstackcontributor

#rackstackatl

1. Find some work to do.

2. Create a local git branch based on master.

3. Work work work.

4. Create a single commit based on your local branch.

5. Make a patch using git review that’s pushed to gerrit (review.openstack.org).

6. Wait for reviews (work on other patches).

7. Address reviews (work work work).

8. Encourage two core members give it a +2 vote and click Approved (work on other patches).

Basic Workflow

13

Page 14: So youwanttobeopenstackcontributor

#rackstackatl

• Keep line length at 80

• No period at the end of the first line

• Insert special text:– Closes-Bug: nnnnnnn

– Partial-Bug: nnnnnnn

– Bp:<text-from-Launchpad-URL>

– DocImpact

– Co-Authored-By: <[email protected]>

Commit Messages Guidelines

14

Page 15: So youwanttobeopenstackcontributor

#rackstackatl

• Log in to http://review.openstack.org.

• Enter comments inline.

• Click Review button to publish comments.

Review Issues

15

Page 16: So youwanttobeopenstackcontributor

#rackstackatl

1. Get the six-digit patch number from review.openstack.org, copy it.

2. At the command line, change to the directory where the repo is stored.

3. Enter: $ git review -d nnnnn

Reviewing Locally

16

Page 17: So youwanttobeopenstackcontributor

#rackstackatl

• Mailing lists: – 12 major lists (General, Announcements, Operators, QA, Foundation, Security, Community, Translation, etc.

– Sign up to as many as you want to

– Lurk or participate, up to you

– Tip: setup filters

• IRC– Freenode

– 42 different channels

• Ask OpenStack: ask.openstack.org

• Design Summit

• Meetups

RACKSPACE® HOSTING | WWW.RACKSPACE.COM 17

Communications

Page 18: So youwanttobeopenstackcontributor

#rackstackatl

RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218

US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM

RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COMRACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN THE UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM

Page 19: So youwanttobeopenstackcontributor

#rackstackatl

• Low-hanging-fruit tag

• Triaged

• No one else is already assigned

Work on a Bug

19

Page 20: So youwanttobeopenstackcontributor

#rackstackatl

• Get a copy locally

git checkout master; git remote update; git pull origin master

git review –d nnnnnn

• Work work work edit edit

• Push back up to gerrit (review.openstack.org)

git commit -a --amend

git review -v

Demo Patching a Patch

20

Page 21: So youwanttobeopenstackcontributor

#rackstackatl

• In the Devstack-env Cloud Server:

git checkout master; git remote update; git pull origin master

git checkout -b bug-1188073

• (You’ll need to add a public key and install git review again.)

• Work work work work edit

git commit -agit commit -a --amend

git review -v

Demo Working on a Bug

21