![Page 1: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/1.jpg)
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
![Page 2: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/2.jpg)
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
![Page 3: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/3.jpg)
www.Nexusis.com 877.286.3987 3 3
My Background
![Page 4: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/4.jpg)
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
![Page 5: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/5.jpg)
www.Nexusis.com 877.286.3987 5 5
How this craziness started
![Page 6: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/6.jpg)
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
![Page 7: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/7.jpg)
www.Nexusis.com 877.286.3987 7 7
Leveraging the power of the Meetup
![Page 8: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/8.jpg)
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
![Page 9: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/9.jpg)
www.Nexusis.com 877.286.3987 9 9
Background
![Page 10: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/10.jpg)
www.Nexusis.com 877.286.3987 10 10
Talking to your employer about contributing
![Page 11: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/11.jpg)
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.
![Page 12: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/12.jpg)
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)
![Page 13: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/13.jpg)
www.Nexusis.com 877.286.3987 13 13
Setting up your Dev environment
![Page 14: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/14.jpg)
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
![Page 15: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/15.jpg)
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
![Page 16: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/16.jpg)
www.Nexusis.com 877.286.3987 16 16
Getting beyond Default Devstack - Stackrc
§ /devstack/stackrc
§ Adjust API’s / Services
§ Change git repos
![Page 17: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/17.jpg)
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
![Page 18: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/18.jpg)
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
![Page 19: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/19.jpg)
www.Nexusis.com 877.286.3987 19 19
“Getting Git” OpenStack Workflows
![Page 20: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/20.jpg)
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)
![Page 21: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/21.jpg)
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
![Page 22: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/22.jpg)
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
![Page 23: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/23.jpg)
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
![Page 24: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/24.jpg)
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
![Page 25: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/25.jpg)
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
![Page 26: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/26.jpg)
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…
![Page 27: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/27.jpg)
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
![Page 28: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/28.jpg)
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
![Page 29: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/29.jpg)
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 -
![Page 30: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/30.jpg)
www.Nexusis.com 877.286.3987 30 30
Making, Testing and submitting changes
![Page 31: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/31.jpg)
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
![Page 32: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/32.jpg)
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
![Page 33: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/33.jpg)
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
![Page 34: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/34.jpg)
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
![Page 35: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/35.jpg)
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
![Page 36: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/36.jpg)
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
![Page 37: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/37.jpg)
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
![Page 38: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/38.jpg)
www.Nexusis.com 877.286.3987 38 38
Giving back Engaging the community
![Page 39: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/39.jpg)
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
![Page 40: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/40.jpg)
www.Nexusis.com 877.286.3987 40 40
Open Blueprints Stuff to work on
![Page 41: Surviving your first check-in: An engineers guide to ...files.meetup.com/5799632/OpenStack-Summit-Surviving-Your-First-C… · to contributing to OpenStack Colin McNamara – Chief](https://reader034.vdocuments.mx/reader034/viewer/2022050402/5f8066a38475807022339f3b/html5/thumbnails/41.jpg)
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