第17章 OpenStack コミュニティ

OpenStack は非常に活発なコミュニティの上に成り立っており、あなたの参加をいつでも待っています。この節では、コミュニティの他の人と交流する方法について詳しく説明します。

 助けを得る

助けてもらうにはいくつかの方法があります。コミュニティの助けを得るのが一番早い方法です。 Q&A サイト、メーリングリストのアーカイブを検索したり、バグリストにあなたが抱えている問題に似た問題がないか探します。必要な情報が見つからなかった場合、この後の節で説明する手順にしたがってバグ報告を行ったり、以下のサポートチャネルのどれかを使うことになります。

最初に確認すべき場所は OpenStack の公式ドキュメントです。 http://docs.openstack.org にあります。

ask.openstack.org では、すでに回答されている質問を見ることができます。

メーリングリスト (https://wiki.openstack.org/wiki/Mailing_Lists) もアドバイスをもらうのに素晴らしい場所です。 Wiki ページにメーリングリストの詳しい情報が載っています。運用者としては、確認しておくべき主要なメーリングリストは以下です。

  • 一般向けメーリングリストopenstack@lists.openstack.org. このリストでは、OpenStackの現行リリースに関する話題を扱います。流量は非常に多く、1日にとてもたくさんのメールが流れます。

  • 運用者向けリストopenstack-operators@lists.openstack.org. このリストは、あなたのように、実際にOpenStackクラウドの運用者間での議論を目的としています。現在のところ、メールの流量はかなり少なく、1日に1通といったレベルです。

  • 開発者向けリストopenstack-dev@lists.openstack.org. このリストでは、OpenStackの今後についての話題を扱います。流量は多く、1日に何通もメールが流れます。

一般向けリストと運用者向けリストを購読するのがお薦めです。一般向けリストの流量に対応するにはフィルタを設定する必要があるでしょうが。 Wiki のメーリングリストのページにはメーリングリストのアーカイブへのリンクがあり、そこで議論の過程を検索することができます。

一般的な質問用や開発者の議論用など、複数の IRC チャネル (https://wiki.openstack.org/wiki/IRC) があります。一般的な議論用のチャネルは irc.freenode.net#openstackです。

 バグ報告

運用者として、あなたは、あなたのクラウドでの予期しない動作を報告できる非常によい立場にいます。 OpenStack は柔軟性が高いので、ある特定の問題を報告するのはあなた一人かもしれません。すべての問題は重要で修正すべきものです。そのためには、簡単にバグ報告を登録する方法を知っておくことは欠かせません。

全ての OpenStack プロジェクトでは、バグ管理に Launchpad を使っています。バグ報告を行う前に、Launchpad のアカウントを作る必要があります。

Launchpad のアカウントを作った後は、バグを報告するのは、問題の原因となったプロジェクトを特定するのと同じくらい簡単です。場合によっては、思っていたよりも難しいこともありますが、最初のバグ報告が適切な場所でなかったとしても、バグの分類を行う人がバグ報告を適切なプロジェクトに割り当て直してくれます。

  • Nova のバグ報告 (https://bugs.launchpad.net/nova/+filebug)

  • python-novaclient のバグ報告 (https://bugs.launchpad.net/python-novaclient/+filebug)

  • Swift のバグ報告 (https://bugs.launchpad.net/swift/+filebug)

  • python-swiftclient のバグ報告(https://bugs.launchpad.net/python-swiftclient/+filebug)

  • Glance のバグ報告 (https://bugs.launchpad.net/glance/+filebug)

  • python-glanceclient のバグ報告(https://bugs.launchpad.net/python-glanceclient/+filebug)

  • Keystone のバグ報告 (https://bugs.launchpad.net/keystone/+filebug)

  • python-keystoneclient のバグ報告(https://bugs.launchpad.net/python-keystoneclient/+filebug)

  • Quantum のバグ報告 (https://bugs.launchpad.net/quantum/+filebug)

  • python-quantumclient のバグ報告(https://bugs.launchpad.net/python-quantumclient/+filebug)

  • Cinder のバグ報告 (https://bugs.launchpad.net/cinder/+filebug)

  • python-cinderclient のバグ報告(https://bugs.launchpad.net/python-cinderclient/+filebug)

  • Horizon のバグ報告 (https://bugs.launchpad.net/horizon/+filebug)

  • ドキュメントdocumentation に関するバグ報告 (http://bugs.launchpad.net/openstack-manuals/+filebug)

  • API ドキュメント に関するバグ報告 (http://bugs.launchpad.net/openstack-api-site/+filebug)

よいバグ報告を書くには、次に述べる手順を踏むことが不可欠です。まず、バグを検索し、同じ問題に関してすでに登録されているバグがないことを確認します。見つかった場合は、「This bug affects X people. Does this bug affect you?」(このバグは X 人に影響があります。あなたもこのバグの影響を受けますか?) をクリックするようにして下さい。同じ問題が見つからなかった場合は、バグ報告で詳細を入力して下さい。少なくとも以下の情報を含めるべきです。

  • 実行しているソフトウェアのリリースやマイルストーン、コミット ID。

  • あなたがバグを確認したオペレーティングシステムとそのバージョン。

  • バグの再現手順。何がおかしいかも含めて下さい。

  • 期待される結果の説明 (出くわした現象ではなく)。

  • ログファイルから関連部分のみを抜粋したもの。

バグ報告をすると、バグは次のステータスで作成されます。

  • Status: New

バグのコメントでは、既知のバグの修正方法に関して案を出したり、バグの状態を Triaged (有効な報告か、対応が必要かなどを分類した状態) にセットすることができます。バグを直接修正することもできます。その場合は、バグを自分に割り当てて、状態を In progress (進行中) にセットし、コードのブランチを作り、トランクにマージしてもらうように変更を提案するという流れになります。でも、先走りし過ぎないようにしましょう。バグを分類するという仕事もありますから。

 バグの確認と優先付け

このステップでは、バグが実際に起こるかのチェックやその重要度の判定が行われます。これらのステップを行うには、バグ管理者権限が必要なものがあります (通常、バグ管理者権限はコア開発者チームだけが持っています)。バグ報告に、バグを再現したり、バグの重要度を判定したりするのに必要な情報が不足している場合、バグは

  • Status: Incomplete

にセットされます。問題を再現できた場合 (もしくはこの報告がバグであると 100% 確信を持てる場合) で、セットする権限を持っている場合には、%c_dummy

  • Status: Confirmed

にセットして下さい。

  • Importance: <バグ影響度>

バグ影響度は以下のカテゴリに分かれています。

  1. Critical このバグにより、目玉となる機能が全てのユーザで正常に動作しない場合 (または簡単なワークアラウンドでは動作しない場合)、もしくはデータロスにつながるような場合

  2. High このバグにより、目玉となる機能が何人かユーザで正常に動作しない場合 (または簡単なワークアラウンドで動作する場合)

  3. Medium このバグにより、ある程度重要な機能が正常に動作しない場合

  4. Low このバグが多くの場合で軽微な場合

  5. Wishlist 実際にはバグではないが、そのように動作を変更した方よいものの場合

バグ報告に解決方法やパッチが書かれている場合、そのバグの状態は Triaged にセットされる。

 バグ修正

この段階では、開発者が修正を行います。修正を行っている間、作業の重複を避けるため、バグの状態を以下のようにセットすべきです。

  • Status: In progress

  • Assignee: <あなた自身>

修正が用意できたら、開発者は変更を提案し、レビューを受けます。

 変更が受理された後

変更がレビューされ、受理されて、マスターブランチにマージされると、バグの状態は自動的に以下のようになります。

  • Status: Fix committed

修正がマイルストーンやリリースブランチに取り込まれると、バグの状態は自動的に以下のようになります。

  • Milestone: このバグの修正が入ったマイルストーン

  • Status: Fix released

 OpenStack コミュニティに参加する

この本をここまで読んで来たので、あなたはコミュニティの正式な個人メンバーになって、Join The OpenStack Foundation (https://www.openstack.org/join/) に加入することを考えていることでしょう。 OpenStack Foundation は、共有リソースを提供し OpenStack の目的の達成を支援する独立組織で、OpenStack ソフトウェア、およびユーザ、開発者、エコシステム全体といった OpenStack を取り巻くコニュニティを守り、活力を与え、普及の促進を行います。我々全員がこのコミュニティをできる限りよいものにしていく責任を共有します。メンバーになることはコミュニティに参加する最初のステップです。ソフトウェア同様、 OpenStack Foundation の個人会員は無料で誰でもなることができます。

 機能と開発ロードマップ

OpenStack は6ヶ月のリリースサイクルを取っており、通常は4月と10月にリリースが行われます。各リリースサイクルの最初に、OpenStack コミュニティは一ヶ所に集まりデザインサミットを行います。サミットでは、次のリリースでの機能が議論され、優先度付けと計画が行われます。以下はリリースサイクルの一例で、サミットが行われて以降のマイルストーンリリース、Code Freeze、String Freeze などが記載されています。マイルストーンはリリースサイクル内での中間リリースで、テスト用にパッケージが作成され、ダウンロードできるようになります。 Code Freeze では、そのリリースに向けての新機能の追加が凍結されます。String Freeze は、ソースコード内の文字列の変更が凍結されることを意味します。

機能追加リクエストは、通常 Etherpad で始まります。Etherpad は共同編集ツールで、デザインサミットのその機能に関するセッションで議論を整理するのに使われます。続けて、プロジェクトの Launchpad サイトに blueprint が作成され、blueprint を使ってよりきちんとした形で機能が規定されていきます。 この後、blueprint はプロジェクトメンバーによって承認され、開発が始まります。

あなたの機能追加リクエストを新機能として検討してもらうのに一番早い方法は、アイデアを書いた Etherpad を作成し、デザインサミットのセッションを提案することです。デザインサミットが終わっている場合には、blueprint を直接作成することもできます。 Victoria Martínez の blueprint での開発の進め方についてのブログ (http://vmartinezdelacruz.com/how-to-work-with-blueprints-without-losing-your-mind/) を是非読んで下さい。 OpenStack 開発者のインターンの視点で書かれた記事です。

次のリリースに向けたロードマップと開発状況は Releases (http://status.openstack.org/release/) で見ることができます。

将来のリリースで検討されている機能を確認したり、過去に実装された機能を見るには、OpenStack Compute (nova) Blueprints (https://blueprints.launchpad.net/nova), OpenStack Identity (keystone) Blueprints (https://blueprints.launchpad.net/keystone) などの既存の Blueprint やリリースノートを見て下さい。

リリースノートは OpenStack Wiki で管理されています。

シリーズ 状態 リリース番号 リリース日

Grizzly

開発中、リリーススケジュール

リリース予定

2013年4月4日

Folsom

現在の安定版リリース、セキュリティアップデート対象

2012.2

2012年9月27日

2012.2.1

2012年11月29日

2012.2.2

2012年12月13日

2012.2.3

2012年1月31日

Essex

コミュニティによるサポートが行われている、セキュリティアップデート対象

2012.1

2012年4月5日

2012.1.1

2012年6月22日

2012.1.2

2012年8月10日

2012.1.3

2012年10月12日

Diablo

コミュニティによるサポートが行われている

2011.3

2011年9月22日

2011.3.1

2012年1月19日

Cactus

非推奨

2011.2

2011年4月15日

Bexar

非推奨

2011.1

2011年2月3日

Austin

非推奨

2010.1

2010年10月21日

 ドキュメント作成への貢献の仕方

OpenStack のドキュメント作成活動は、運用管理ドキュメント、API ドキュメント、ユーザドキュメントなどに渡ります。

この本の元は人が集まったイベントで作成されましたが、今やこの本はみなさんも貢献できる状態になっています。 OpenStack のドキュメント作成は、バグ登録、調査、修正を繰り返し行うというコーディングの基本原則に基いて行われています。

コードと全く同じく、docs.openstack.org サイトは Gerrit レビューシステムを使って常に更新されています。ソースは、GitHub の openstack-manuals (http://github.com/openstack/openstack-manuals/) レポジトリと api-site (http://github.com/openstack/api-site/) レポジトリに、それぞれ DocBook 形式で保存されています。

公開される前にドキュメントのレビューを行うには、OpenStack Gerrit サーバー review.openstack.org に行って、project:openstack/openstack-manualsproject:openstack/api-site を検索して下さい。

ドキュメントのレビューや変更を最初に行うのに必要な手続きについての詳しい情報は、Wiki の How To Contribute (https://wiki.openstack.org/wiki/How_To_Contribute) ページを参照して下さい。

 セキュリティ情報

我々は、コミュニティとして、セキュリティを非常に重要だと考えており、潜在的な問題の報告は決められたプロセスに基いて処理されます。修正を用心深く追跡し、定期的にセキュリティ上の問題点を取り除きます。あなたは発見したセキュリティ上の問題をこの決められたプロセスを通して報告できます。OpenStack 脆弱性管理チームは、OpenStackコミュニティから選ばれた脆弱性管理の専門家で構成されるごく少人数のグループです。このチームの仕事は、脆弱性の報告を手助けし、セキュリティ上の修正を調整し、脆弱性情報の公開を続けていくことです。特に、このチームは以下の役割を担っています。

  • 脆弱性管理: コミュニティメンバー (やユーザ) が発見した全ての脆弱性をこのチームに報告できます。

  • 脆弱性追跡: このチームはバグ追跡システムに登録された脆弱性に関連する問題の管理を行います。問題の中には、このチームと影響を受けるプロジェクトの責任者のみが参照できる場合もありますが、問題の修正が用意されると、全ての脆弱性は公開されます。

  • Responsible Disclosure(責任ある情報公開): セキュリティコミュニティと仕事をする義務の一つとして、セキュリティ情報の公開が、確実に、OpenStack のセキュリティ問題を責任をもって扱うセキュリティ研究者の適切なお墨付きを得て行われるようにします。

OpenStack 脆弱性管理チームに問題を報告する方法は2種類用意されており、問題の重要度に応じて使い分けて下さい。

  • Launchpad でバグ報告を行い、'security bug' のマークを付ける。マークを付けると、そのバグは一般には公開されなくなり、脆弱性管理チームだけが参照できるようになります。

  • 問題が極めて慎重に扱うべき情報の場合は、脆弱性管理チームのメンバーの誰かに暗号化したメールを送って下さい。メンバーの GPG 鍵は OpenStack Security (http://www.openstack.org/projects/openstack-security/) で入手できます。

あなたが参加できるセキュリティ関連のチームのリストは セキュリティチーム (http://wiki.openstack.org/SecurityTeams) にあります。脆弱性管理プロセスはすべてドキュメントにまとめられており、脆弱性管理 (https://wiki.openstack.org/wiki/VulnerabilityManagement) で参照できます。

 さらに情報を見つける

この本以外にも、OpenStack に関する情報源はたくさんあります。 OpenStack ウェブサイト (http://www.openstack.org) は最初に見るといいでしょう。ここには、OpenStack ドキュメント (http://docs.openstack.org) と OpenStack API ドキュメント (http://api.openstack.org) があり、OpenStack に関する技術情報が提供されています。 OpenStack wiki には、OpenStack の各プロジェクトの範囲にとどらまらない汎用的な情報が多数あり、例えば お薦めツールのリスト (https://wiki.openstack.org/wiki/OperationsTools ) といった情報も載っています。最後に、Planet OpenStack (http://planet.openstack.org) には多くのブログが集められています。



loading table of contents...