39
www.Nexusis.com 877.286.3987 1 Surviving your first check-in: An engineers guide to contributing to OpenStack Colin McNamara – Director, DC Practice Nexus IS CCIE #18233 @COLINMCNAMARA 10/16//2012

OpenStack-Summit-Surviving-Your-First-Checkin.pptx

Embed Size (px)

DESCRIPTION

true

Citation preview

Page 1: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871

Surviving your first check-in: An engineers guide to contributing to OpenStack

Colin McNamara – Director, DC Practice Nexus ISCCIE #18233

@COLINMCNAMARA10/16//2012

Page 2: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398722

Agenda

How this all started – “a simple experiment”

The importance of community - Leveraging the power of the meetup

Talking your employer into supporting OpenStack and the CLA

Setting up your Dev environments - getting beyond Devstack

“Getting” git, using the git repository for those that don't code for a living

Testing your code - what do you mean it doesn't build?

How to give back, and get other people involved in the community

Page 3: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398733

My Background

Page 4: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398744

My Perspective

Network Engineer first

Systems/Storage Second IEEE, IETF, T11

Linux user since 98

Creator of “Sausage Code”

NOT A PROGRAMMER

Page 5: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398755

How this craziness started

Page 6: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398766

“A simple experiment”

Ewan Mellor – Citrix Xen

Simple feature, Deploy Storage QOS

Turned into a 4 month saga

Lots of lessons to be learned

Page 7: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398777

Leveraging the power of the Meetup

Page 8: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398788

Meetup.com – Community is your friend

Join a Meetup.com group http://www.meetup.com/

openstack/

If there is none in your area– Start One

Many eyes help in overcoming challenges

Page 9: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871010

Talking to your employer about contributing

Page 10: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871111

Talking to your employer about contributing

Notify your manager. If you don’t have a policy you have a chance to set one.

In Ca, you are only protected if your company isn’t in the line of biz your project is.

If you are contributing on behalf of a company, an authorized representative of your company should also sign a Corporate Contributor License Agreement.

Page 11: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871212

Next steps – Executing your CLA

Create your launchpad account *** don’t change your username after ***

Join the OpenStack team on launchpad

Sign the CLA electronically

Update the Contributors Wiki

Request openstack-cla membership on launchpad

Wait (or ping an op on #openstack-dev)

Page 12: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871313

Setting up your Dev environment

Page 13: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871414

10 minutes to Devstack

Best run on Ubuntu 12.04

Log in as a USER (not root)

Sudo apt-get install git

git clone https://github.com/openstack-dev/devstack.git

cd devstack && ./stack.sh

Page 14: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871515

Getting beyond Default Devstack

I like to run in a VMware environment

Spin up new instances easily

Quickly compare versions

Default install pushes QEMU

Page 15: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871616

Getting beyond Default Devstack - Stackrc

/devstack/stackrc

Adjust API’s / Services

Change git repos

Page 16: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871717

Getting beyond Default Devstack - Stackrc

~/devstack/stackrc updated to point to working development branch

Refs/changes/50/5050/1 is the review ID

Page 17: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871818

You’ve made a change, Now What?

./rejoin_stack.sh will attach you the screen with all the terminals for the various apps. There could be as many as 14 screens depending on how many services are enabled

“ctrl-c” and “ctrl-d” on each window to kill the process. “ctrl-a n” takes you to next terminal. Restart the process by using up-arrow key and entering return

Another easier way to kill all and restart is to do “screen -ls” and kill the process. Restart by ./rejoin_stack.sh

Page 18: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39871919

“Getting Git” OpenStack Workflows

Page 19: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872020

What is Git ?

Repository created for Linux Kernel Dev

Solves centralization problems – you can code at the lake, or in your isolated lab

Can be complex (multiple ways of doing things)

Page 20: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872121

Setting things up – Installing Git

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Page 21: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872222

Setting things up – Installing DevStack

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Page 22: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872323

Setting things up – Configuring Git

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Page 23: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872424

Setting things up – Configuring git-review

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Git review redirects a commit into a review and test process

Page 24: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872525

Setting things up – Cloning a project

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Page 25: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872626

Setting things up – Testing Gerrit

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

This error held us up for 2 weeks…

Page 26: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872727

Setting things up – Generate your public key

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Page 27: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872828

Setting things up – Add your key to review.openstack.org

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Page 28: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39872929

Setting things up – Add your key to review.openstack.org

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

Works -

Doesn’t Work -

Page 29: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873030

Making, Testing and submitting changes

Page 30: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873131

Pro Git – Well worth the price

I didn’t write it, but this book is great

It is on Safari Books Online

Page 31: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873232

Setting things up

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

Page 32: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873333

Edited v1_1 api to describe phys as well as virt CPU

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

Page 33: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873434

./Run_tests.sh in each project

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

Page 34: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873535

Commit your code

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

Be verbose, and be sure to call out whether a feature is blueprinted or a bugfix

Page 35: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873636

Submit it for review!!

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

Page 36: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873737

Track the reviews progress

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

Page 37: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873838

Giving back Engaging the community

Page 38: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.39873939

Giving back

Start a meetup.com group in your area

Attend Sean Roberts session on building community

Present to your peers

Share your experience with the world

Page 39: OpenStack-Summit-Surviving-Your-First-Checkin.pptx

www.Nexusis.com 877.286.398740

@colinmcnamarawww.colinmcnamara.com / www.nexusis.com