OpenStack Upstream Training Report

1,435
-1

Published on

This is a report of OpenStack Upstream Training at OpenStack Atlanta Summit (May 10-11 2014).

Published in: Technology, Business
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,435
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
33
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

OpenStack Upstream Training Report

  1. 1. OpenStack Upstream Training Report June/19/2014 Shuichiro Makigaki Datastore Platform Group, System Platform Development Section, Global Infrastructure Development Department
  2. 2. 2 Agenda 1. Self Introduction 2. What is Upstream Training? • Objectives • Schedule 3. Training Report 4. Thoughts 5. Short QA
  3. 3. 3 Self Introduction History [1987 March 9th] Born in Nagano [2012 April 1st ~] Join Rakuten [2014 April ~] Join OpenStack Project Current Job • Datastore Admin/Architect (Clustrix) • Infra web tool development (RoR) • OpenStack 座右の銘: 原理は単純を、構造は複雑を極め、人は最も人らしく 長所: 考える・悩む・調べる・本を読む・黙る 短所: 喋らない・喋ることが無い・喋ることが思いつかない Frequently Asked Questions: Q1. 休日何してるんですか? Q2. 私も本好きです!何読まれるんですか? Q3. 趣味グラミングいいですね!何してるんですか? Q4. でもなぜインフラなんかに? APPLESEED Masamune Shirow
  4. 4. 4 What is Upstream Training?
  5. 5. 5 Upstream Training Conference In Atlanta Design Summit What is Upstream Training? Upstream (software development) In software development, upstream refers to a direction toward the original authors or maintainers of software that is distributed as source code, and is a qualification of either a bug or a patch. From Wikipedia, the free encyclopedia
  6. 6. 6 Where is Atlanta? Georgia World Congress Center
  7. 7. 7 Objectives  Faster integration of the companies product roadmap into the OpenStack release cycle  Successfully contribute one real world patch to an OpenStack component  Master the technical tools  Understand the OpenStack contribution workflow and social norms In addition, • Make connection • Introduce the training to your boss! • Leaded by developers, not sales person.
  8. 8. 8 Objectives × Learn architecture of OpenStack components × Learn source code structure × Learn hidden parameters × Learn actual operation know-how × Learn the best management practice
  9. 9. 9 Training Schedule Online mentoring 1A week before Day 1 • Choice of a contribution, via email, with each participant How OpenStack is madeDay 1 • Learn and practice git, gerrit, IRC The theory of contributionDay 2 • Lego contribution simulation • Individual presentation of the contribution plan Online mentoring 2A week after Day 2
  10. 10. 10 Training Report
  11. 11. 11 A week before Training Day 1 Training Day 2 Conference A week after Day 2 A week before Day 1 Pick a few (3 or so) bugs from the low hanging fruit list or elsewhere (it is up to you) look like good candidates for you to work on during the training • Mentor will help you pick one. It is best to chose a contribution that looks easy. • The goal of the training will be to get your work accepted upstream. • Even the simplest work is an opportunity to learn.
  12. 12. 12 A week before Training Day 1 Training Day 2 Conference A week after Day 2 Day 1 (Morning) How OpenStack is made (3h including 1h30 exercises) 1. Release cycle 2. Relevant actors 3. Technical Committee 4. Program ecosystem 5. Design summits 6. IRC meetings
  13. 13. 13 A week before Training Day 1 Training Day 2 Conference A week after Day 2 Day 1 (Afternoon) Workflow of an OpenStack contribution and tools (3h including 2h exercises) 1. devstack 2. How to contribute 3. launchpad 4. gerrit workflow 5. Branching model 6. reviewing 7. writing a commit message 8. jenkins
  14. 14. 14 A week before Training Day 1 Training Day 2 Conference A week after Day 2 Day 2 1. The Contribution Process (3 hours) 2. Agile for Contributors (15 min) 3. Contribution Simulation (1 hour) 4. Contribution Planning (2 hours)
  15. 15. 15 A week before Training Day 1 Training Day 2 Conference A week after Day 2 Day2 - The Contribution Process Philosophy of open source contribution Project pulse Who's behind ? Project social groups Assess your approach Engage immediately Play with your network Smaller tasks Choosing a question Code of conduct Disagree Understanding the Conventions Explain what you do Prepare the backport Local and upstream Good workflow Bad workflow Quantify the delta Speeding the acceptance Timeframe Building karma Parallelizing From easy to difficult Archive and collect
  16. 16. 16 A week before Training Day 1 Training Day 2 Conference A week after Day 2 Day 2 - Lego: What agile is. Upstream project : a Lego town Company deadline : Lego exhibition Epic : become a major contributor and demonstrate the company skills during the exhibition • planning (5 min) → building (15 min) → reviewing (5 min) Actor • Upstream (Board, Technical Committee, Core) • Company (CEO, Product owner, Scrum Master, Team members) • Free Software contributors (Distracted, Controversial, Agreeable…)
  17. 17. 17 References Training materials are available at: https://wiki.openstack.org/wiki/OpenStack_Upstream_Training/Info You can re-experience the training by reading them all.
  18. 18. 18 Thoughts
  19. 19. 19 Language barrier Contribution is not just about being technically savvy. It's also about cooperation and you will get an opportunity to practice from day one :-) For instance, the language barrier is a handicap and an opportunity to help or receive help. Native english speakers already noticed I'm not a native english speaker and kindly refrained from criticizing me. I acknowledge this problem and from time to time I'll ask for help to clarify an explanation. If it turns out that my english is better than someone else, I'll return the favor and gladly help rewrite a mail or rephrase a sentence. From mentor’s email
  20. 20. 20 Language barrier Lack of English listening ability Can not understand lecture completely • Mottainai! Can not understand Exercise completely However, can not ask a question! But, anyone is kind basically even if you speak slowly. • Keep accuracy, honesty and professionalism Nervous is not a problem, but don’t hesitate.
  21. 21. 21 Import the training to Japan! Required • All! • including free drink & lunch Should be considered • Lego: Alternative agile training • Exercise: Make it clear. Sometimes vague… Wanted • Choose bugs carefully that will be fixed • How to write better emails to community mailing list • How to dive source code (gnu global, IDE, call graph…) • How about other opensouce community style? (Linux kernel, …, Github, bugzilla) • How about other contribution way? (documentation, infra)
  22. 22. 22 Others Communication • Don’t depend on Launchpad and mailing list • Instead, use IRC! • Push codes to gerrit, as well as discussing • Try other contribution ways • Documentation, code review, comments… • Keep accuracy, honesty and professionalism Don’t hesitate • Everyone is kind  , and never give up • recheck no bug, recheck bug,… • Ignored? Say “Hello, again!” on IRC http://openstackreactions.enovance.com/2014/01/keep-hitting-recheck-no-bug-in-reviews/
  23. 23. 23 A week before Training Day 1 Training Day 2 Conference A week after Day 2 Online Meeting after Day2
  24. 24. 24 Let’s start contribution!
  25. 25. 25 Searching bug…
  26. 26. 26 But, incomplete… (already fixed)
  27. 27. 27 np. searching bug again…
  28. 28. 28 Communicate well
  29. 29. 29 OK, Push!
  30. 30. 30 Reviewed! but “-1”… OK, what should I fix..?
  31. 31. 31 ……?!
  32. 32. 32
  33. 33. 33 Never give up!
  34. 34. 34 And, push!
  35. 35. 35 Wow! Quick review!
  36. 36. 36 Recheck
  37. 37. 37 Recheck!
  38. 38. 38 Recheck!!
  39. 39. 39 Recheck!!!
  40. 40. 40 Recheck!!!!
  41. 41. 41 Review +2!
  42. 42. 42 Thank you for listening.

×