概要

OpenStack Summit が10月15-18日の4日間にわたりアメリカ西海岸 San Diego で行われた。

緯度では日本の熊本・宮崎県あたりに相当し、日差しは強いものの、10月なのでちょうど過ごしやすい天候であった。そのためか、同じホテルでビールに関する会合が行われたり、隣接する convention hall でも複数の会合が行われているようであった。

開発者セッションレポート

OpenStack summit の参加者は、主催者によると、昨年の Boston の倍の1,500人ほどであり、急に人数が増えたことに主催者側が対応しきれてないように思われる点もあった。具体的には、初日はregistrationが長蛇の列で opening session に間に合わなかったり、昼食の列が遅々として進まないなどの若干の混乱があった。

OpenStack Summit のロゴは、nとuがループとなる矢印になっていて、利用者 (users) と開発者 (devs) の相互フィードバックを示唆する絵になっている。

会場は Hyatt の2階と3階であり、基調講演や技術講演などは、2階で行われ、開発者向けのセッションのみ3階で行われた。

開発者のセッションでは、まず議題となる機能について簡単なプレゼンが行われ、その後の大半の時間でその機能についての議論が行われるというのが基本的な進行である。発表資料は簡単なものであることが多く、事前の知識がないと議論に付いていくのが難しいこともある。

議論のメモを共有するために EtherPad というツールが使われる。etherpad は Web ブラウザ越しで使うテキストエディタで複数人が同時に編集できる。セッションによっては参加者によってリアルタイムで議事メモが作成されていく。

今回の Design Summit の EtherPad はこちらにまとめられている。

セッションは、Nova、Quantum、QA (品質保証)、ドキュメンテーションなどのトピック毎のトラックに分かれて並行して行われた。Novaトラックが最も長く4日間を通して行われた。開発することが多く残っている Quantum は3日間、逆に Swiftは1日間だけであった。新しいプロジェクトとして ceilometer (クラウドの使用状況の計測)や heat (AWS CloudFormation のようなオーケストレーション) というトピックもあった。

以下に開発者セッションを中心に興味深かったいくつかの発表について述べる。

1日目: 2012年10月15日 (月)

  • Swift: Solving Geographically Distributed Clusters
    • swiftstackのSam Merrittが発表を行った。
    • 地理的に離れた場所にデータセンターがあると、帯域やレイテンシの問題があるが、swift にはそれに対応する機能がないのでどうするかという議題である。
    • swift ではデータの配置を (zone, ip+port, drive) の3つ組で管理しているが、これに region を追加して (region, zone, ip+port, drive) の4つ組でデータを管理するように変更し、proxy サーバが位置を考慮するようにし、replica countを調整可能にすればよいのではないかという提案が行われた。
    • 会場からは、container syncをtuneする方法がよいのではないか、などの声があった。
    • 後で発表者に既に実装があるのかと確認したが、ユーザの要望を知りたかったそうで何か作ったわけではないということであった。
  • General Bare-Metal Provisioning Framework
    • Nova は通常仮想マシンを扱うが、仮想マシンでないものを扱えるようにしてしまおうというプロジェクトで、USC/ISI (南カリフォルニア大学情報科学研究所)、NTT docomo、日本仮想化技術の共同開発である。
    • 仮想化によるオーバヘッドは開発や新しいプロセッサ技術に伴い減少傾向にあるが、0になることはなく、用途によっては依然として問題となる。
    • また、Tilera 社のプロセッサのような仮想化に対応しない特殊なものを使いたい場合もある。
    • 技術的な内容としては、
      • bm* という flavor をつくってそれを指定して create instance することで仮想マシンではなく bare-metal マシンが起動する
      • bare-metal ではハイパバイザがないので, PXE や ipmi を使って起動する
      • ネットワーク仮想化のために NEC trema と openflow switch を使っている
      • コンソールは Serial over LAN でやっている

      ということが述べられた。

    • suspend と snapshot は恐らく特殊な BIOS が必要になるので大変だと思われるが、発表によると、方式検討中だが進める予定のようだ。
    • また、zabbix を使って、baremetal 用に reserve していたマシンを、nova-compute 用にしたり戻したりできるデモが行われた。

2日目: 2012年10月16日 (火)

  • LBaaS 1 – use cases and requirements
    • Quantum トラックでは、load balancer に関するセッションが4つもあった。
    • 私が聞いたセッションでは、load balancer にはいろんなタイプがあるがどれを実装すればよいのかについて話しあっていた。

3日目: 2012年10月17日 (水)

  • Lightning Talks 
    • smartos の上で openstack が動いて kvm guest と zone guest が作れるという話があった。詳細は、開発者のブログを参照ください。
  • Improving Quantum Firewalling 
    • どの様な firewall を support するべきなのかという議論や、amazon EC2 security group の話がされていた。
    • また、NECの元木氏の発表があり、VM から外へ出ていくトラフィックに対してフィルタを設定できるようにしたい事と、baremetal では TFTF boot を行わないといけない等の理由により、ルールを動的に変える必要がある事が述べられた。
  • The road to live upgrade of an OpenStack cloud 
    • OpenStack クラウドを動かしたまま新しいバージョンにできるようにするにはどうしたらよいか、という話である。
    • 危なっかしい操作にも思えるが、VM が大量にあるとそうそうサービスを停止するわけにはいかないので、必要になる機能である。
      • データベースのバージョニングに気をつけないといけない
      • RPC のバージョニングが必要である
      • テストはどうするのか
      • ロールバック機能は作るのか

      などと、活発に議論が行われていた。

4日目: 2012年10月18日 (木)

  • local storage volume plugin for Cinder 
    • SinaCloud の開発者による発表である。
    • “island” という Cinder プラグインであり、ボリューム自体はローカルストレージ上に置くが、incremental snapshot を swift にとるというものである。
    • 発表資料はよくまとまっていたが、実装はまだのようである。
    • 詳細は、Wiki: LocalStorageVolume を参照ください。
  • Unified Storage Management for OpenStack 
    • NetAppによる発表で、cinder に NAS を扱う機能を足すという話である。
    • 詳細は、Cinder ProjectのBlueprint を参照ください。
    • 既にコードはあるようだ。ストレージという点では一緒だが、NFSのものを block device と一緒にしてよいのかは、意見が分かれた。
    • 別projectにした方がよいという意見がある一方、quantum のように plugin で違いを吸収するようにすればうまくまとめることができるのではないか、との意見もあった。
  • Putting Trust in Openstack 
    • Cloudscalingの開発者による発表で、先に Design summit で行われたセッションでの議論を反映したものを、2階の会場で発表していた。
    • いまの実装では REST API には認証があるが RPC にはなく、 Nova が運用されるネットワークに侵入されると大変なことになってしまう。
    • RPC メッセージを公開鍵暗号で署名し、鍵は CA で認証することで不正な RPC を排除できるようになるという発表がなされた。