More Related Content
Similar to 20131212 Okinawa OpenDays OpenStack (20)
More from Akihiro Motoki (11)
20131212 Okinawa OpenDays OpenStack
- 2. 自己紹介
• 元木 顕弘 (@ritchey98)
– NEC 情報・ナレッジ研究所
– IPルータ、広域Ethernet装置、迷惑メールフィルタなど
の開発をやっていました。
– ここ数年は、ネットワーク仮想化、OpenStack,
OpenFlow 周りで活動しています。
• OpenStack Developer
– Neutron and Horizon Core Developer
– I18N (国際化) team
• Linux JM (日本語マニュアル) Project Maintainer
2013/12/12
Okinawa OpenDays 2013
2
- 3. OpenStack Projects
• Integrated Projects
–
–
–
–
–
–
Nova, Swift (Austin, 2010/10)
Glance (Bexar, 2011/02)
Keystone, Horizon (Essex, 2012/04)
Cinder, Neutron (Quantum) (Folsom, 2012/09)
Ceilometer, Heat (Havana, 2013/10)
Trove (Database Service) (Icehouse, 2014/04)
• Programs (OpenStack を支える様々な活動)
–
–
–
–
–
–
–
2013/12/12
Oslo (Common Libraries)
Infrastructure (CI)
Documentation
Quality Assurance (QA)
DevStack
Release Cycle Management
(I18N)
Okinawa OpenDays 2013
3
- 4. OpenStack Projects (Cont.)
•
Incubated Projects
–
–
–
–
•
Ironic (Bare Metal)
Marconi (Queue Service)
Savanna (Data processing)
TripleO (Deployment) + Tuskar (Management)
まだまだあります
Related Projects
–
–
–
–
–
–
–
–
–
–
2013/12/12
Taskflow (State management)
Designate (DNSaaS)
Mistral (task management, Workflow as a Service)
Murano (Application Catalog)
Manila (Shared File System Service)
Climate (Reservation)
Rally (Benchmark as a Service)
Solum (Make cloud service easier with DevOps)
Congress (Policy as a Service)
Barbican (Secure Storage, Management of Secrets)
Okinawa OpenDays 2013
4
- 6. コントリビュートするメリットは?
• Public/Private Cloud Operator
• System Integrator (SIer)
– IaaSの要件はかなり近い。自分だけで開発するよりも
OSS で開発した方がメリット大きい
• 機能追加、メンテナンス
• もちろんコストはかかるが、全部自分達でするよりは小
– 派生バージョンを作成してしまうと、追従するだけでも
大変 本家にフィードバック
• Vendor
– OpenStack と接続できることで商機の拡大
• 基本は、エコシステムにのっかるということ
2013/12/12
Okinawa OpenDays 2013
6
- 8. OpenStack 開発体制
• プロジェクトごとの分業体制
– プロジェクト内にもサブチームがいろいろ
– プロジェクト間もかなり密にやりとりをしている
• Release Manager
• Project 単位
– PTL (Project Technical Lead)
• Release Cycle 毎に選挙で選ばれる
• (通常は) Core Developer の一人
– Core Developers
• プロジェクト毎に 10~20人程度
• Patch Review で承認権がある (+2)
– Developers / Reviewers
2013/12/12
Okinawa OpenDays 2013
8
- 9. OpenStack 開発体制
• Icehouse PTLs (Project Technical Lead)
–
–
–
–
–
–
–
–
–
–
–
2013/12/12
Russell Bryant (Nova)
Mark Washenberger (Glance)
John Dickinson (Swift)
David Lyle (Horizon)
Dolph Mathews (Keystone)
Mark McClain (Neutron)
John Griffith (Cinder)
Julien Danjou (Ceilometer)
Steven Baker (Heat)
Michael Basnight (Trove)
Doug Hellmann (Oslo)
Okinawa OpenDays 2013
First Name が同じ人が多いです。
・ストレージ関係は John
・Mark は2人
9
- 10. 開発サイクル
•
半年に一回リリース
– 最新リリース : Havana (2013年10月)
– 次期リリース : Icehouse (2014年4月)
– その次 : “J”
•
Design Summit Milestone release (数回)
Release Candidates Release
•
Feature Freeze Exception
– Feature Freeze 以降に例外的に認められる
機能追加
– 全体のProject Meeting での承認必要
– コミュニティとして重要な機能に限定
•
Milestone Release の一週間前には新機能
のパッチはレビューに出しておかないといけ
ないことになっている
– レビュー期間確保のため
– レビューがたくさんある場合でも妥協せずに
かなり先送り
2013/12/12
Okinawa OpenDays 2013
10
- 11. 機能追加の流れ
• Blueprint 作成 Spec 議論 パッチ投稿
レビュー Approve Merge
• 最近は
– Blueprint を作成した場合、Design や Spec のドキュメ
ントを作成することになっている。
– ドキュメントなしにパッチを投稿すると、ドキュメントは
ないの? って聞かれる場合も多い。
– 昔はゆるかったけど・・
• パッチレビューが一番時間がかかる
– だいたいここで細かな議論が行われる場合が多い
2013/12/12
Okinawa OpenDays 2013
11
- 17. Gating Job
• 品質強化に向けて、Gating Test がかなり強化されて来ている。
• Gating Test
– パッチが投稿されたとき、パッチの承認時に自動実行されるテスト
– リリース前になると、パッチ承認からマージまで数時間かかることも。
• テストの種類
– Tempest
• シナリオテストを主に実行
• シナリオ 247個、テスト構成が 1~5個
– Grenade
• バージョンアップのテスト環境
• インフラチームがすごいです。
– IRC の #openstack-infra を見ていると、24 時間営業で誰かいます。
2013/12/12
Okinawa OpenDays 2013
17
- 21. Jenkins がご機嫌斜めになるとき
• シナリオテストが失敗するパターン
– 最近はこれが多い。
– Neutron の Stability 不足が原因で失敗しているパ
ターンが多く、みんなで頑張って解析しています。
• Jenkins の Gating Test が全滅するパターン
– Python パッケージの依存関係が崩れる
(Grizzly まではよくあった。現在は改善)
• 複数のパッケージで要求しているバージョンがずれる
• OpenStack 外のパッケージで Python3 でしか動かないバー
ジョンが PyPI にアップロードされた
• Django のバージョンが上がって依存関係が・・・
2013/12/12
Okinawa OpenDays 2013
21
- 22. 開発に参加するには
• 参加のための手続きが必要(次ページ)
– 主に、ライセンスの扱いに関する同意が必要
• パッチ投稿の流れ
– Blueprint (機能実装)、バグ修正でも同じです。
– パッチを投稿する前に、Blueprint かバグを必ず登録しま
しょう。
• どんなに簡単なものでも!
• 1年以内にパッチがマージされた人を
ATC (Active Technical Contributor) と言います。
– ボーナスとして OpenStack Summit の参加費 (400ドル?)
が免除されます。
2013/12/12
Okinawa OpenDays 2013
22
- 23. 参加のための手続き
•
Launchpad にアカウントを作成する。 http://launchpad.net/
– バグ報告、Blueprint 登録に必要
•
OpenStack Foundation に参加する
– OpenStack Foundation の Individual Member になります。これで身分としてはコミュニティの
一員です。
– 所属組織がある場合は入力しておきましょう。所属情報はここから取得されています。
– https://www.openstack.org/join/
•
•
Gerrit https://review.openstack.org/ に行き、Launchpad アカウントでログイン
Individual CLA (Contributer License Agreement) に署名する
– https://review.openstack.org/#/settings/agreements
– メールアドレスと名前は Foundation に登録した情報と一致させておきましょう。この二つの情
報は公開されます。
•
SSH 公開鍵を Gerrit の設定画面で登録しておきましょう。
– パッチ投稿に必要です。
•
個人としての手続きは上記で完了です。
•
組織の一員として参加する場合
– 組織単位で Contributor License Agreement (CCLA) に署名が必要。
– CCLA には Contributor のメンバーリストがあり、そこに登録されていない場合は登録してもら
う必要がある。
2013/12/12
Okinawa OpenDays 2013
23
- 25. Core Developer は何をしているか?
• Patch Review
– Milestone リリース前は忙しいです
• Bug Triage, Bug Fix
– 登録されたものはだいたい誰かが見ています
– バグ報告を見て、再現に取り組むことも多いです。
• Weekly IRC Meeting
– Neutron の場合は 2100UTC @ Monday
• 日本だと朝 6 時
– 開発状況の共有
– 重要バグの確認
– リリース前になると、Blueprint 実装状況の棚卸
• (Launchpad Answer)
• (ask.openstack.org)
• ドキュメント作成 (リリース前)
2013/12/12
Okinawa OpenDays 2013
25
- 26. パッチレビューのときに見ていること
• 内容はもちろん大事です。
– 何を実現したいのか?目的に沿っているか? 一番大事
– API は適切か?拡張性は?
• それ以外にもいろいろ見ています。
–
–
–
–
–
–
機能追加、バグ修正部分に対応するテストコードがあるか
コーディングスタイル
ファイルの場所が適切か
REST API, RPC API のバージョン互換性確認
オプションパラメータの互換性
DB 変更がある場合は migration scripts があるか
• DB Migration : テーブル名、カラム名変更などでデータを引き継ぐな
どの処理を行う。バージョンアップ時は必ず行いましょう。
• “nova db sync”, “neutron-db-manage” など
2013/12/12
Okinawa OpenDays 2013
26