Chicken or Checkin'? Rational Learning in Repeated Chess - Iza
Open stack summit surviving your first checkin
-
Upload
colin-mcnamara -
Category
Documents
-
view
2.241 -
download
0
description
Transcript of Open stack summit surviving your first checkin
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
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
www.Nexusis.com 877.286.398733
My Background
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
www.Nexusis.com 877.286.398755
How this craziness started
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
www.Nexusis.com 877.286.398777
Leveraging the power of the Meetup
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
www.Nexusis.com 877.286.39871010
Talking to your employer about contributing
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.
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)
www.Nexusis.com 877.286.39871313
Setting up your Dev environment
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
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
www.Nexusis.com 877.286.39871616
Getting beyond Default Devstack - Stackrc
/devstack/stackrc
Adjust API’s / Services
Change git repos
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
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
www.Nexusis.com 877.286.39871919
“Getting Git” OpenStack Workflows
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)
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
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
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
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
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
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…
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
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
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 -
www.Nexusis.com 877.286.39873030
Making, Testing and submitting changes
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
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
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
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
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
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
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
www.Nexusis.com 877.286.39873838
Giving back Engaging the community
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
www.Nexusis.com 877.286.398740
@colinmcnamarawww.colinmcnamara.com / www.nexusis.com