Difference between revisions of "OpenStack Upstream Training/Info/ja"
(Created page with "日本におけるトレーニング環境は未定です。") |
(Created page with "= コース概要 =") |
||
Line 34: | Line 34: | ||
日本におけるトレーニング環境は未定です。 | 日本におけるトレーニング環境は未定です。 | ||
− | = | + | = コース概要 = |
== First day == | == First day == |
Revision as of 04:46, 17 December 2014
概要
OpenStack は、最も巨大なコラボレーション型ソフトウェア開発プロジェクトの 1 つです。世界中の 80 か国以上から 2000 人を超える開発者が参加しています。その規模によりもたらされる、社会規範や技術的な習慣における多様性が特徴的です。新規参入者が自身のロードマップと OpenStack プロジェクトとの統合を成功するまでに、かなり時間がかかってしまう可能性があります。
プロフェッショナル開発者がこのハードルを乗り越える支援をするために、トレーニングプログラムを用意しました。バグ修正や機能追加ができる限り早く OpenStack プロジェクトにきちんと取り込まれるための方法を説明します。この教育プログラムは、受講者が、2日間の集合教育とオンラインのメンタリングを通して、OpenStack に取り込まれるまで、実際にバグ修正や新機能追加に取り組む必要があります。プロジェクトの技術的なツールやコミュニティとの関わりの複雑さについて、2日間の集合教育で説明します。フォローアップセッションでは、受講者が何か疑問に感じた点を解決するために、個々のオンラインセッションを受けられます。
Contents
目的
- 商用製品のロードマップと OpenStack のリリースサイクルを迅速に統合する
- 実際に OpenStack コンポーネントにパッチを一つ貢献する
- 技術ツールをマスターする
- OpenStack 貢献のワークフローと社会規範を理解する
対象読者
- 開発者
- システム管理者
前提
- 技術レベルの英語の読み書きできること
- コード貢献の場合、プロジェクトのバグ修正を実行できる技術的に習熟していること
- ドキュメント貢献の場合、プロジェクトが使用している環境でドキュメントを作成できること
- 少なくとも週 8 時間は、プログラミングやコミュニティとのコミュニケーションのために、プロジェクトに専念できること
期間
- 集合実習: 2 日間
- オンライン実習: 4 ~ 10 週間にわたる 10 回の 1 時間メンタリング
トレーニング環境
日本におけるトレーニング環境は未定です。
コース概要
First day
Introduction
- A week before Day 1: choice of a contribution, via email, with each participant
- Day 1: How OpenStack is made
- Day 1: Learn and practice git, gerrit, IRC
- Day 2: The theory of contribution
- Day 2: Lego contribution simulation
- Day 2: Individual presentation of the contribution plan
- Day 2: Online mentoring
How OpenStack is made (3h including 1h30 exercises)
- Release cycle ( slides )
- Planning (Design, Discuss and Target)
- Implementation (Milestone iterations)
- Pre-release (Release Candidates dance)
- Exercise: based on the Juno release schedule find the URL of a document or a patch that belongs to each of the above steps.
- Relevant actors ( slides )
- Technical Committee ( slides )
- Decide what is an OpenStack Program
- meetings
- Exercise: read archived and briefly comment on keystone document
- PTLs
- APC
- ATC
- Exercise: each APC / ATC in the class add a URL to the etherpad proving it
- Program ecosystem ( slides )
- Incubated
- Integrated
- Core
- Stackforge
- Exercise: What kind of Program do you contribute to ?
- Design summits ( slides )
- propose sessions
- attend or lead a session
- Kilo Summit Etherpads
- Exercise: Add a session proposal regarding your contribution in an etherpad, review two proposals
- IRC meetings ( slides )
- modified meetbot
- #info - Add an info item to the minutes. People should liberally use this for important things they say, so that they can be logged in the minutes.
- #action - Document an action item in the minutes. Include any nicknames in the line, and the item will be assigned to them. (nicknames are case-sensitive)
- #help - Add a "Call for Help" to the minutes. Use this command when you need to recruit someone to do a task. (Counter-intuitively, this doesn't provide help on the bot)
- Exercise: lunch menu online meeting
Workflow of an OpenStack contribution and tools (3h including 2h exercises)
- devstack ( slides )
- Ubuntu or Fedora
- git clone https://github.com/openstack-dev/devstack.git
- minimal configuration
- cd devstack; ./stack.sh
- Exercise: get the code for the targeted contribution
- HOW to contribute URL ( slides )
- puppet stackforge
- documentation
- training guides
- Excercise: Apply for individual membership and sign the CLA
- launchpad ( slides )
- blueprints
- bugs
- Exercise: review other launchpad bugs and improve yours
- gerrit workflow ( slides )
- account setup
- git review installation
- ssh setup
- project setup
- gerrit workflow
- running unit tests
- review dependencies
- Exercise: push a wip or draft and invite reviewers
- Branching model ( slides )
- development
- stable
- Exercise: checkout the latest stable branch
- reviewing ( slides )
- writing a commit message ( slides )
- reference to a bug or a blueprint
- amending a commit message
- Exercise: review each other messages on the draft
- jenkins ( slides )
- Exercise: add an error and match it to the jenkins message
Second day
The Contribution Process (1 hour)
( slides )
- Take the pulse of the project.
- Figure out who's behind it.
- Determine the project's social groups.
- Assess your approach.
- Engage immediately.
- Play with your network.
- Perform the smaller tasks.
- Choose a question.
- Familiarize yourself with the code of conduct.
- Understand the conventions.
- Explain what you do.
- Prepare the backport.
- Learn what's local and what's upstream.
- Learn what distinguishes good work flow from bad work flow.
- Quantify the delta.
- Speed up the acceptance.
- Determine the time frame.
- Maximize karma.
- Work in parallel.
- Archive and collect.
Agile for Contributors (15 min)
( slides )
- Apply agile
- Who is the customer?
- Company & Upstream product owner
- Sprint review presentation to Upstream
Contribution Simulation (2 hour)
The students make a virtual contribution simulation using Lego bricks as props, with the goal of expanding a Lego town, built by upstream. They are divided into teams; the teacher is by turns the product owner in the company and the upstream.
Contribution Planning (2 hours)
( odp slides pdf slides )
- The students use template slides to prepare a 5-minute presentation of their planned contribution.
- A sample presentation is given by the teacher, as an example.
- Each student group prepares a presentation describing:
- the contribution they plan to work on during the online sessions,
- how they will engage with the Upstream,
- how it contributes to the company's agenda
- and whom they will be working with.
- Each student group presents its slides to the class