Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Surviving your first check-in: An engineers guide              to contributing to OpenStack                               ...
Agenda       How this all started – “a simple experiment”       The importance of community - Leveraging the power of th...
My Background3   www.Nexusis.com   877.286.3987
My Perspective                                      Network Engineer first                                      Systems/...
How this craziness started5   www.Nexusis.com   877.286.3987
“A simple experiment”                                      Ewan Mellor – Citrix Xen                                     ...
Leveraging the power of the Meetup7   www.Nexusis.com   877.286.3987
Meetup.com – Community is your friend                                      Join a Meetup.com group                       ...
Talking to your employer about contributing10   www.Nexusis.com   877.286.3987
Talking to your employer about contributing                                       Notify your manager. If you don’t have ...
Next steps – Executing your CLA                                       Create your launchpad account                      ...
Setting up your Dev environment13   www.Nexusis.com   877.286.3987
10 minutes to Devstack                                       Best run on Ubuntu 12.04                                    ...
Getting beyond Default Devstack                                       I like to run in a VMware environment              ...
Getting beyond Default Devstack - Stackrc                                                    /devstack/stack             ...
Getting beyond Default Devstack - Stackrc       ~/devstack/stackrc updated to point to working development        branch ...
You’ve made a change, Now What?        ./rejoin_stack.sh will attach you the screen with all the         terminals for th...
“Getting Git”                  OpenStack Workflows19   www.Nexusis.com   877.286.3987
What is Git ?                                       Repository created for Linux Kernel Dev                              ...
Setting things up – Installing GitInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit w...
Setting things up – Installing DevStackInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify ger...
Setting things up – Configuring GitInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit ...
Setting things up – Configuring git-reviewInstall GitInstall DevStack                      Git review redirects a commit i...
Setting things up – Cloning a projectInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerri...
Setting things up – Testing GerritInstall GitInstall DevStack                                      This error held us up f...
Setting things up – Generate your public keyInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerif...
Setting things up – Add your key to review.openstack.orgInstall GitInstall DevStackConfigure gitInstall git-reviewClone a ...
Setting things up – Add your key to review.openstack.orgInstall Git                                      Doesn’t Work -Ins...
Making, Testing and submitting changes30   www.Nexusis.com   877.286.3987
Pro Git – Well worth the price                                         I didn’t write it, but this                       ...
Setting things upCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review process32...
Edited v1_1 api to describe phys as well as virt CPUCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for...
./Run_tests.sh in each projectCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the rev...
Commit your codeCreate a topic branchChange codeTest Code                                      Be verbose, and be sure to ...
Submit it for review!!Create a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review proc...
Track the reviews progressCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review ...
Giving back                    Engaging the community38   www.Nexusis.com   877.286.3987
Giving back                                       Start a meetup.com group in your area                                  ...
@colinmcnamara                                      www.colinmcnamara.com / www.nexusis.com40   www.Nexusis.com   877.286....
Upcoming SlideShare
Loading in …5
×

Open stack summit surviving your first checkin

3,028 views

Published on

Whether you want to build the software, run it, grow the community or just learn more about it, there will be content, workshops and design sessions for you to attend at the OpenStack Summit, Oct 15-18 in San Diego. Stick around Friday for the first OpenStack service day, a 1/2 day beach cleanup.

Register now! openstacksummitfall2012.eventbrite.com

Schedule
Speakers
Attendees
Share on twitter
Share on facebook


Tuesday, October 16

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

Let me tell you a dirty little secret. While OpenStack is a great project, it is extremely complicated for and indivdual with an engineering/operations focus vs a programming focus to get to their first code contribution.

My name is Colin, I am and engineer. Although I initially got involved with OpenStack in the context of operations, I quickly was drawn into actually contributing code to the project. What I found is that many of the tools and workflows used to contribute to OpenStack are completely foreign to those (like me) with an operations focus.

In this session I will go over the biggest challenges that I faced as an engineer contributing. And review the tools and techniques to that I used to get past them. This information will be presented with the goal of arming engineers just getting involved with the knowledge tools necessary to get to their first successful contribution and beyond.

Learning objectives

1. The importance of community - Leveraging the power of the meeting

2. Talking your employeer into supporting OpenStack and the CLA

3. Setting up your dev environments - getting beyond Devstack

4. Getting git, using the git repository for those that don't code for a living

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

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

  • Be the first to comment

Open stack summit surviving your first checkin

  1. 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//20121 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 dont code for a living  Testing your code - what do you mean it doesnt build?  How to give back, and get other people involved in the community2 www.Nexusis.com 877.286.3987
  3. 3. My Background3 www.Nexusis.com 877.286.3987
  4. 4. My Perspective  Network Engineer first  Systems/Storage Second  IEEE, IETF, T11  Linux user since 98  Creator of “Sausage Code”  NOT A PROGRAMMER4 www.Nexusis.com 877.286.3987
  5. 5. How this craziness started5 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 learned6 www.Nexusis.com 877.286.3987
  7. 7. Leveraging the power of the Meetup7 www.Nexusis.com 877.286.3987
  8. 8. Meetup.com – Community is your friend  Join a Meetup.com group  http://www.meetup.com/openst ack/  If there is none in your area– Start One  Many eyes help in overcoming challenges8 www.Nexusis.com 877.286.3987
  9. 9. Talking to your employer about contributing10 www.Nexusis.com 877.286.3987
  10. 10. 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.11 www.Nexusis.com 877.286.3987
  11. 11. 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)12 www.Nexusis.com 877.286.3987
  12. 12. Setting up your Dev environment13 www.Nexusis.com 877.286.3987
  13. 13. 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.sh14 www.Nexusis.com 877.286.3987
  14. 14. Getting beyond Default Devstack  I like to run in a VMware environment  Spin up new instances easily  Quickly compare versions  Default install pushes QEMU15 www.Nexusis.com 877.286.3987
  15. 15. Getting beyond Default Devstack - Stackrc  /devstack/stack rc  Adjust API’s / Services  Change git repos16 www.Nexusis.com 877.286.3987
  16. 16. Getting beyond Default Devstack - Stackrc  ~/devstack/stackrc updated to point to working development branch  Refs/changes/50/5050/1 is the review ID17 www.Nexusis.com 877.286.3987
  17. 17. 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.sh18 www.Nexusis.com 877.286.3987
  18. 18. “Getting Git” OpenStack Workflows19 www.Nexusis.com 877.286.3987
  19. 19. 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)20 www.Nexusis.com 877.286.3987
  20. 20. Setting things up – Installing GitInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit works21 www.Nexusis.com 877.286.3987
  21. 21. Setting things up – Installing DevStackInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit works22 www.Nexusis.com 877.286.3987
  22. 22. Setting things up – Configuring GitInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit works23 www.Nexusis.com 877.286.3987
  23. 23. Setting things up – Configuring git-reviewInstall GitInstall DevStack Git review redirects a commit into a review and test processConfigure gitInstall git-reviewClone a projectVerify gerrit works24 www.Nexusis.com 877.286.3987
  24. 24. Setting things up – Cloning a projectInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit works25 www.Nexusis.com 877.286.3987
  25. 25. Setting things up – Testing GerritInstall GitInstall DevStack This error held us up for 2 weeks…Configure gitInstall git-reviewClone a projectVerify gerrit works26 www.Nexusis.com 877.286.3987
  26. 26. Setting things up – Generate your public keyInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit works27 www.Nexusis.com 877.286.3987
  27. 27. Setting things up – Add your key to review.openstack.orgInstall GitInstall DevStackConfigure gitInstall git-reviewClone a projectVerify gerrit works28 www.Nexusis.com 877.286.3987
  28. 28. Setting things up – Add your key to review.openstack.orgInstall Git Doesn’t Work -Install DevStackConfigure gitInstall git-reviewClone a project Works -Verify gerrit works29 www.Nexusis.com 877.286.3987
  29. 29. Making, Testing and submitting changes30 www.Nexusis.com 877.286.3987
  30. 30. Pro Git – Well worth the price  I didn’t write it, but this book is great  It is on Safari Books Online31 www.Nexusis.com 877.286.3987
  31. 31. Setting things upCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review process32 www.Nexusis.com 877.286.3987
  32. 32. Edited v1_1 api to describe phys as well as virt CPUCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review process33 www.Nexusis.com 877.286.3987
  33. 33. ./Run_tests.sh in each projectCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review process34 www.Nexusis.com 877.286.3987
  34. 34. Commit your codeCreate a topic branchChange codeTest Code Be verbose, and be sure to call out whether a feature isCommit Changes blueprinted or a bugfixSubmit them for reviewMonitor the review process35 www.Nexusis.com 877.286.3987
  35. 35. Submit it for review!!Create a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review process36 www.Nexusis.com 877.286.3987
  36. 36. Track the reviews progressCreate a topic branchChange codeTest CodeCommit ChangesSubmit them for reviewMonitor the review process37 www.Nexusis.com 877.286.3987
  37. 37. Giving back Engaging the community38 www.Nexusis.com 877.286.3987
  38. 38. 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 world39 www.Nexusis.com 877.286.3987
  39. 39. @colinmcnamara www.colinmcnamara.com / www.nexusis.com40 www.Nexusis.com 877.286.3987

×