20131212 Okinawa OpenDays OpenStack
Upcoming SlideShare
Loading in...5
×
 

20131212 Okinawa OpenDays OpenStack

on

  • 2,503 views

 

Statistics

Views

Total Views
2,503
Views on SlideShare
1,576
Embed Views
927

Actions

Likes
5
Downloads
44
Comments
0

8 Embeds 927

http://ritchey98.blogspot.jp 866
http://ritchey98.blogspot.com 34
http://ritchey98.blogspot.kr 9
http://webcache.googleusercontent.com 7
http://ritchey98.blogspot.in 6
http://s.deeeki.com 2
http://ritchey98.blogspot.fr 2
http://ritchey98.blogspot.de 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

20131212 Okinawa OpenDays OpenStack 20131212 Okinawa OpenDays OpenStack Presentation Transcript

  • OpenStack 開発体制と コントリビューションへのお誘い Akihiro Motoki (NEC) Dec 12th, 2013 2013/12/12 Okinawa OpenDays 2013 1
  • 自己紹介 • 元木 顕弘 (@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
  • 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
  • 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
  • OpenStack を取り巻く状況 • • • OpenStack を中心としたエコシステムが急速に形成されつつある クラウド基盤のデファクトと認められつつある クラウドデータセンタのみならず、幅広い業界で利用されるようになりつ つある – キャリア・通信サービス、サービス事業 – アカデミック、エンタープライズ 相乗効果 • オープンな開発体制 – Vendor Neutral な OpenStack Foundation によるプロジェクト運営 – 来るものは拒まずというオープンソース志向 • 機能単位に分割されたモジュラー構成 • 抽象化された論理 API • ドライバー構造 2013/12/12 Okinawa OpenDays 2013 5
  • コントリビュートするメリットは? • Public/Private Cloud Operator • System Integrator (SIer) – IaaSの要件はかなり近い。自分だけで開発するよりも OSS で開発した方がメリット大きい • 機能追加、メンテナンス • もちろんコストはかかるが、全部自分達でするよりは小 – 派生バージョンを作成してしまうと、追従するだけでも 大変  本家にフィードバック • Vendor – OpenStack と接続できることで商機の拡大 • 基本は、エコシステムにのっかるということ 2013/12/12 Okinawa OpenDays 2013 6
  • いろいろなコントリビューション形態 • https://wiki.openstack.org/wiki/How_To_Contribute • 開発者としての貢献方法はこのあと • 開発者でなくてもいろいろあります – – – – ドキュメント作成への参加 バグ報告 (ドキュメント、各プロジェクト) ML での回答・助言 (general ML, operators ML) ユーザーサーベイへの参加 • 利用状況、要望などの調査が半年に一度あり、開発コミュニティ へのフィードバックなどに使われます • http://www.slideshare.net/openstack/openstack-user-surveyoctober-2013 2013/12/12 Okinawa OpenDays 2013 7
  • 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
  • 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
  • 開発サイクル • 半年に一回リリース – 最新リリース : 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
  • 機能追加の流れ • Blueprint 作成  Spec 議論  パッチ投稿  レビュー  Approve  Merge • 最近は – Blueprint を作成した場合、Design や Spec のドキュメ ントを作成することになっている。 – ドキュメントなしにパッチを投稿すると、ドキュメントは ないの? って聞かれる場合も多い。 – 昔はゆるかったけど・・ • パッチレビューが一番時間がかかる – だいたいここで細かな議論が行われる場合が多い 2013/12/12 Okinawa OpenDays 2013 11
  • 2013/12/12 Okinawa OpenDays 2013 12
  • 2013/12/12 Okinawa OpenDays 2013 13
  • 2013/12/12 Okinawa OpenDays 2013 14
  • 2013/12/12 Okinawa OpenDays 2013 15
  • こんなに変更を重ねるパッチは ほとんどありません。 通常は数回レビューサイクルが 回ると落ち着きます 2013/12/12 Okinawa OpenDays 2013 16
  • Gating Job • 品質強化に向けて、Gating Test がかなり強化されて来ている。 • Gating Test – パッチが投稿されたとき、パッチの承認時に自動実行されるテスト – リリース前になると、パッチ承認からマージまで数時間かかることも。 • テストの種類 – Tempest • シナリオテストを主に実行 • シナリオ 247個、テスト構成が 1~5個 – Grenade • バージョンアップのテスト環境 • インフラチームがすごいです。 – IRC の #openstack-infra を見ていると、24 時間営業で誰かいます。 2013/12/12 Okinawa OpenDays 2013 17
  • Approve されたパッチ テスト(順序通り検証される パッチが投稿されるごとに 行されるテスト 2013/12/12 Okinawa OpenDays 2013 18
  • 2013/12/12 Okinawa OpenDays 2013 19
  • Gating Job で実行されるシナリオテストの例 7月の時点では36個→12月では247個 さらにこれがシステム構成毎に存在 (数種類 Nova のみ、Nova + Neutron データベースが MySQL, PostgreSQL など。 2013/12/12 Okinawa OpenDays 2013 20
  • Jenkins がご機嫌斜めになるとき • シナリオテストが失敗するパターン – 最近はこれが多い。 – Neutron の Stability 不足が原因で失敗しているパ ターンが多く、みんなで頑張って解析しています。 • Jenkins の Gating Test が全滅するパターン – Python パッケージの依存関係が崩れる (Grizzly まではよくあった。現在は改善) • 複数のパッケージで要求しているバージョンがずれる • OpenStack 外のパッケージで Python3 でしか動かないバー ジョンが PyPI にアップロードされた • Django のバージョンが上がって依存関係が・・・ 2013/12/12 Okinawa OpenDays 2013 21
  • 開発に参加するには • 参加のための手続きが必要(次ページ) – 主に、ライセンスの扱いに関する同意が必要 • パッチ投稿の流れ – Blueprint (機能実装)、バグ修正でも同じです。 – パッチを投稿する前に、Blueprint かバグを必ず登録しま しょう。 • どんなに簡単なものでも! • 1年以内にパッチがマージされた人を ATC (Active Technical Contributor) と言います。 – ボーナスとして OpenStack Summit の参加費 (400ドル?) が免除されます。 2013/12/12 Okinawa OpenDays 2013 22
  • 参加のための手続き • 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
  • Jenkins パッチ投稿の手順 Release GitHub 公開コード Merge Gating Test Core Developers Approve 人 System Check Auto Check Clone/Pull Patch 3 Patch 2 手元の コード Propose Patch 1 Reviewers Comment Develop/Modify • 詳細手順 : http://wiki.openstack.org/DevQuickstart – 2013/12/12 日本語版 : http://wiki.openstack.org/DevQuickstart/ja (古い場合が多いです。参考!) Okinawa OpenDays 2013 24
  • 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
  • パッチレビューのときに見ていること • 内容はもちろん大事です。 – 何を実現したいのか?目的に沿っているか?  一番大事 – API は適切か?拡張性は? • それ以外にもいろいろ見ています。 – – – – – – 機能追加、バグ修正部分に対応するテストコードがあるか コーディングスタイル ファイルの場所が適切か REST API, RPC API のバージョン互換性確認 オプションパラメータの互換性 DB 変更がある場合は migration scripts があるか • DB Migration : テーブル名、カラム名変更などでデータを引き継ぐな どの処理を行う。バージョンアップ時は必ず行いましょう。 • “nova db sync”, “neutron-db-manage” など 2013/12/12 Okinawa OpenDays 2013 26
  • コミュニティに参加するにあたって • 積極的に動きましょう。コミュニティは自律的に動く人 の集合体です。 • みんな、基本的にはやさしいです。 – 意見はぶつけあうので、その意味では議論になることも ありますが、基本的には Welcome です。 • (ある程度は必要ですが)英語が得意でない人も、 臆せず言うことはいいましょう。分からないことは聞き ましょう。中身の方が大事です。 • IRC は ML よりも楽なこともあります。 • パッチ投稿だけでなく、レビューもしましょう。 – レビューアは不足気味です。最初は大変ですが、 OpenStack を理解する上でも必ず役立ちます。 2013/12/12 Okinawa OpenDays 2013 27
  • 最後に • 開発体制などの話を説明して来ましたが、 ユーザーの皆さんからのフィードバックが 機能追加、品質向上を支えています。 • 小さなことでもよいので、バグ報告や メーリングリストでの質問を是非お願いします。 • 是非、開発にも参加を。 • 日本語で、という方は、日本OpenStackユーザ 会のMLもどうぞ。 2013/12/12 Okinawa OpenDays 2013 28
  • ありがとうございました 2013/12/12 Okinawa OpenDays 2013 29