surviving your first check-in: an engineers guide to...

Post on 30-Jul-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

www.Nexusis.com 877.286.3987 1

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

Colin McNamara – Chief Geek, Nexus IS CCIE #18233

@COLINMCNAMARA 1/9/2013

www.Nexusis.com 877.286.3987 2 2

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

www.Nexusis.com 877.286.3987 3 3

My Background

www.Nexusis.com 877.286.3987 4 4

My Perspective

§  Network Engineer first §  CCIE #18233

§  Systems/Storage Second §  IEEE, IETF, T11

§  Linux user since 98

§  Creator of “Sausage Code”

§  NOT A PROGRAMMER

www.Nexusis.com 877.286.3987 5 5

How this craziness started

www.Nexusis.com 877.286.3987 6 6

“A simple experiment”

§  Ewan Mellor – Citrix Xen

§  Simple feature, Deploy Storage QOS

§  Turned into a 4 month saga

§  Lots of lessons to be learned

www.Nexusis.com 877.286.3987 7 7

Leveraging the power of the Meetup

www.Nexusis.com 877.286.3987 8 8

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

www.Nexusis.com 877.286.3987 9 9

Background

www.Nexusis.com 877.286.3987 10 10

Talking to your employer about contributing

www.Nexusis.com 877.286.3987 11 11

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.

www.Nexusis.com 877.286.3987 12 12

Next steps – Executing your CLA

§  Join the OpenStack foundation

§  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)

www.Nexusis.com 877.286.3987 13 13

Setting up your Dev environment

www.Nexusis.com 877.286.3987 14 14

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

www.Nexusis.com 877.286.3987 15 15

Getting beyond Default Devstack

§  I like to run in a VMware environment §  (in home lab + instance on laptop) §  Working on cloning Rackspace’s nested setup

that cody_bunch is using

§  Spin up new instances easily

§  Quickly compare versions

§  Default install pushes QEMU

§  Puppet / Cobbler / Koan in your home lab will save you time / headaches

www.Nexusis.com 877.286.3987 16 16

Getting beyond Default Devstack - Stackrc

§  /devstack/stackrc

§  Adjust API’s / Services

§  Change git repos

www.Nexusis.com 877.286.3987 17 17

Getting beyond Default Devstack - Stackrc

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

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

www.Nexusis.com 877.286.3987 18 18

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

www.Nexusis.com 877.286.3987 19 19

“Getting Git” OpenStack Workflows

www.Nexusis.com 877.286.3987 20 20

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)

www.Nexusis.com 877.286.3987 21 21

Setting things up – Installing Git

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

www.Nexusis.com 877.286.3987 22 22

Setting things up – Installing DevStack

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

www.Nexusis.com 877.286.3987 23 23

Setting things up – Configuring Git

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

www.Nexusis.com 877.286.3987 24 24

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

www.Nexusis.com 877.286.3987 25 25

Setting things up – Cloning a project

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

www.Nexusis.com 877.286.3987 26 26

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…

www.Nexusis.com 877.286.3987 27 27

Setting things up – Generate your public key

Install Git

Install DevStack

Configure git

Install git-review

Clone a project

Verify gerrit works

www.Nexusis.com 877.286.3987 28 28

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

www.Nexusis.com 877.286.3987 29 29

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 -

www.Nexusis.com 877.286.3987 30 30

Making, Testing and submitting changes

www.Nexusis.com 877.286.3987 31 31

Pro Git – Well worth the price

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

§  It is on Safari Books Online

www.Nexusis.com 877.286.3987 32 32

Setting things up

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

www.Nexusis.com 877.286.3987 33 33

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

www.Nexusis.com 877.286.3987 34 34

./Run_tests.sh in each project

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

www.Nexusis.com 877.286.3987 35 35

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

www.Nexusis.com 877.286.3987 36 36

Submit it for review!!

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

www.Nexusis.com 877.286.3987 37 37

Track the reviews progress

Create a topic branch

Change code

Test Code

Commit Changes

Submit them for review

Monitor the review process

www.Nexusis.com 877.286.3987 38 38

Giving back Engaging the community

www.Nexusis.com 877.286.3987 39 39

Giving back

§  Start a meetup.com group in your area

§  Connect with other meetup organizers

§  Present to your peers

§  Share your experience with the world

www.Nexusis.com 877.286.3987 40 40

Open Blueprints Stuff to work on

www.Nexusis.com 877.286.3987 41 41

Vish – Nova PTL Open Blueprints

§  edit-default-quota - nova grizzly

§  nova-api-samples - nova grizzlylive-migration-scheduling

§  DHCPv6 Support – SFBay OpenStack

§  openstack-operations-manual - grizzly

www.Nexusis.com 877.286.3987 42

@colinmcnamara colin.mcnamara@nexusis.com

www.colinmcnamara.com

top related