SlideShare a Scribd company logo
1 of 42
Download to read offline
OpenStack Upstream Training Report
June/19/2014
Shuichiro Makigaki
Datastore Platform Group,
System Platform Development Section,
Global Infrastructure Development Department
2
Agenda
1. Self Introduction
2. What is Upstream Training?
• Objectives
• Schedule
3. Training Report
4. Thoughts
5. Short QA
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
What is Upstream Training?
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
Where is Atlanta?
Georgia World Congress Center
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
Objectives
× Learn architecture of OpenStack components
× Learn source code structure
× Learn hidden parameters
× Learn actual operation know-how
× Learn the best management practice
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
Training Report
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
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
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
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
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
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
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
Thoughts
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
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
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
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
A week before
Training
Day 1
Training
Day 2
Conference
A week
after Day 2
Online Meeting after Day2
24
Let’s start contribution!
25
Searching bug…
26
But, incomplete… (already fixed)
27
np. searching bug again…
28
Communicate well
29
OK, Push!
30
Reviewed!
but “-1”… OK, what should I fix..?
31
……?!
32
33
Never give up!
34
And, push!
35
Wow! Quick review!
36
Recheck
37
Recheck!
38
Recheck!!
39
Recheck!!!
40
Recheck!!!!
41
Review +2!
42
Thank you for listening.

More Related Content

Viewers also liked

Working With Upstream OpenStack Deadlines and Internal Deadlines
 Working With Upstream OpenStack Deadlines and Internal Deadlines Working With Upstream OpenStack Deadlines and Internal Deadlines
Working With Upstream OpenStack Deadlines and Internal DeadlinesJohn Garbutt
 
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...OpenCity Community
 
The OpenStack Contribution Workflow
The OpenStack Contribution WorkflowThe OpenStack Contribution Workflow
The OpenStack Contribution Workflowopenstackindia
 
[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...
[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...
[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...DevDay.org
 
OpenStack: Upstream First
OpenStack: Upstream FirstOpenStack: Upstream First
OpenStack: Upstream FirstTesora
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...Linaro
 

Viewers also liked (6)

Working With Upstream OpenStack Deadlines and Internal Deadlines
 Working With Upstream OpenStack Deadlines and Internal Deadlines Working With Upstream OpenStack Deadlines and Internal Deadlines
Working With Upstream OpenStack Deadlines and Internal Deadlines
 
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
Assign, commit, and review - A developer’s guide to OpenStack contribution-20...
 
The OpenStack Contribution Workflow
The OpenStack Contribution WorkflowThe OpenStack Contribution Workflow
The OpenStack Contribution Workflow
 
[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...
[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...
[DevDay 2016] OpenStack and approaches for new users - Speaker: Chi Le – Head...
 
OpenStack: Upstream First
OpenStack: Upstream FirstOpenStack: Upstream First
OpenStack: Upstream First
 
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
LAS16-301: OpenStack on Aarch64, running in production, upstream improvements...
 

Similar to OpenStack Upstream Training Report

TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)Nacho Cougil
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)ssusercaf6c1
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)Nacho Cougil
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekNacho Cougil
 
DevCoach - Solid Foundations for the New Wave of Software Developers
DevCoach - Solid Foundations for the New Wave of Software DevelopersDevCoach - Solid Foundations for the New Wave of Software Developers
DevCoach - Solid Foundations for the New Wave of Software DevelopersGabriel Tudorica
 
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...Derek Allard
 
Improve performance of developer - Khodak
Improve performance of developer  - KhodakImprove performance of developer  - Khodak
Improve performance of developer - KhodakIgor Bronovskyy
 
Class One: The Computer
Class One: The ComputerClass One: The Computer
Class One: The ComputerIan Kane
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeNacho Cougil
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupChris Aniszczyk
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupBen VanEvery
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Hannes Lowette
 
We Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps CodeWe Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps CodeDocker, Inc.
 
Technical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaTechnical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaMargaret Fero
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to CodeMattan Griffel
 
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architects
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architectsRex Sprint 0 - how build the data model with 2 BA and 3 IT architects
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architectsJean-François Nguyen
 
Pair Programming Styles
Pair Programming StylesPair Programming Styles
Pair Programming StylesAttila Bertók
 
Lessons learned after 190M lessons served
Lessons learned after 190M lessons servedLessons learned after 190M lessons served
Lessons learned after 190M lessons servedRicardo Bánffy
 

Similar to OpenStack Upstream Training Report (20)

TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
DevCoach - Solid Foundations for the New Wave of Software Developers
DevCoach - Solid Foundations for the New Wave of Software DevelopersDevCoach - Solid Foundations for the New Wave of Software Developers
DevCoach - Solid Foundations for the New Wave of Software Developers
 
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
Standing on the Shoulders of Giants: How Community Shapes Development in Elli...
 
Improve performance of developer - Khodak
Improve performance of developer  - KhodakImprove performance of developer  - Khodak
Improve performance of developer - Khodak
 
Class One: The Computer
Class One: The ComputerClass One: The Computer
Class One: The Computer
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - Opensouthcode
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
We Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps CodeWe Need to Talk: How Communication Helps Code
We Need to Talk: How Communication Helps Code
 
Technical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaTechnical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD Nigeria
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to Code
 
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architects
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architectsRex Sprint 0 - how build the data model with 2 BA and 3 IT architects
Rex Sprint 0 - how build the data model with 2 BA and 3 IT architects
 
Pair Programming Styles
Pair Programming StylesPair Programming Styles
Pair Programming Styles
 
SlideShare culture
SlideShare cultureSlideShare culture
SlideShare culture
 
Lessons learned after 190M lessons served
Lessons learned after 190M lessons servedLessons learned after 190M lessons served
Lessons learned after 190M lessons served
 

More from Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

More from Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Recently uploaded

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

OpenStack Upstream Training Report

  • 1. OpenStack Upstream Training Report June/19/2014 Shuichiro Makigaki Datastore Platform Group, System Platform Development Section, Global Infrastructure Development Department
  • 2. 2 Agenda 1. Self Introduction 2. What is Upstream Training? • Objectives • Schedule 3. Training Report 4. Thoughts 5. Short QA
  • 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 What is Upstream Training?
  • 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 Where is Atlanta? Georgia World Congress Center
  • 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 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 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
  • 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 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 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 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 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 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 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.
  • 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 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 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 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 A week before Training Day 1 Training Day 2 Conference A week after Day 2 Online Meeting after Day2
  • 30. 30 Reviewed! but “-1”… OK, what should I fix..?
  • 32. 32
  • 42. 42 Thank you for listening.