Essex バージョンのリリースノート

リリースの概要

Essex リリースサイクルでは、 Horizon は多くの内部の変更が行われ、拡張性とカスタマイズ性が向上しました。それと同時に、数多くの新機能が追加され、背後で連携するコンポーネントとのやり取りの安定性が大きく向上しました。

ハイライト

拡張性

third-party 開発者が Horizon を拡張できるようにすることは、 Essex リリースサイクルの重要な目標の 1 つでした。大きな進歩があり、 OpenStack Dashboard デプロイメントでの新規の「プラグイン」部品の追加や カスタマイズが可能になりました。

この拡張性に対応するため、 Horizon のインターフェースを構築するのに使用されている全部品がモジュール化され、再利用可能になりました。 Horizon 自身のダッシュボードはこれらの部品を使用しており、これらはすべて third-party 開発者を念頭において作成されました。主な部品のいくつかを以下で取り上げます。

ダッシュボードとパネル

Horizon の構造が、ダッシュボードとパネルと呼ばれる論理グループに分割されました。これらの概念を表す Horizon のクラスが、完全なユーザーインターフェース (ナビゲーション、アクセス制御、URL 構造など) の構築に伴う構造上の問題を処理します。

データテーブル

ダッシュボードのユーザーインターフェースで最も頻繁に行う作業の 1 つとして、リソースやデータの一覧を表示し、ユーザーがそのデータに対して操作を実行できるようにすることがあります。この目的のために、 Horizon では、このタスクの共通する部分を再利用可能なクラス群に抽象化しました。開発者はこれらのデータの表示や操作を最小の作業かつプログラム的に作成できます。テンプレートも不要です。

タブとタブグループ

もう 1 つの非常に一般的なユーザーインターフェースは「タブ」の利用です。タブを使うことで、別々のグループのデータを扱いやすい塊に分割できます。これらのタブでは、非常に様々なデータを扱うことがしばしばあり、全く異なるアクセス制限があることもあり、最初のページの読み込み時ではなく動的に読み込んだ方がよい場合も時としてあります。これらを考慮して、 Horizon には、タブとタブグループというクラスが用意されており、タブを使ったインターフェースをうまく構成できます。必要な HTML、CSS、JavaScript の知識は不要です。

Nova の機能

Essex では、Nova の機能のサポートが大幅に向上しました。

  • Nova ボリュームでサポートされる機能には、以下が含まれます。

    • ボリュームの作成と管理

    • ボリュームスナップショット

    • 遷移の状態にあるボリュームのリアルタイム AJAX 更新

  • Nova インスタンスの表示と対話が向上しました。これには、以下が含まれます。

    • ボリュームからのインスタンスの起動

    • インスタンスの一時停止とサスペンド

    • インスタンスの電源状態の表示

    • 遷移の状態にあるインスタンスのリアルタイム AJAX の更新

  • Floating IP アドレスプールの管理のサポート

  • 新規インスタンスおよびボリュームの詳細の表示

設定

以下のような役立つ機能を提供する新しい「設定」のセクションが追加されました。

  • EC2 認証情報のダウンロード

  • OpenStack RC ファイルのダウンロード

  • ユーザーによる言語設定のカスタマイズ

ユーザーエクスペリエンスの改善

  • 複数のリソースに対するバッチアクションのサポート (例: 複数のインスタンスを一度に削除するなど)

  • UI 全体にわたるモダールインタラクション

  • AJAX フォーム入力による、フォーム上での値の検証

  • フォーム画面上でのヘルプの改良 (ツールチップと値の検証時のメッセージ)

コミュニティー

  • ヒューマンインターフェースガイドライン (Human Interface Guideline; HIG) の作成と発行。

  • たくさんの開発者向けのドキュメント。

Horizon 内部の変更

  • 国際化は完全に有効になり、すべてのストリングに翻訳用のマークが付与されました。

  • クライアントライブラリーの変更:

    • 廃止予定の openstackx ライブラリーから python-novaclient への完全移行。

    • 廃止予定の python-novaclient に含まれるライブラリーから python-keystoneclient への移行。

  • 動的なやり取りの作成をより簡単にするクライアント側のテンプレート機能。

  • Bootstrap CSS/JS フレームワークを使用するためのフロントエンドの改修。

  • API/クライアントにおける安定性/信頼性の広範囲での向上のための集中的なエラー処理。

  • 網羅的なテストデータを使ったテストスイートの全面的な改修。

  • Django 1.4 および cookie ベースのセッションのオプションの将来に向けた互換性。

既知の問題と制限

Quantum

Quantum サポートは Essex リリースでは Horizon から削除されました。 Folsom リリースでは、 Quantum が OpenStack コアプロジェクトとしての最初のリリースとなるのにあわせて、Horizon サポートも復活する予定です。

Keystone

ユーザーの "admin" 権限を判断する Keystone のメカニズムが原因で、対象のプロジェクトに属するリソースのみでなく、全リソースが一覧表示されてしまったり、特定のプロジェクトにアクセスする際に "Admin" ダッシュボードにしか戻ることができないなど、"Project" ダッシュボードで一貫性のない動作が発生する場合があります。

カスタマイズ時の例外処理

"customization_module" 設定を使って Horizon の元々の動作を上書きした際に発生する例外は、エラー処理中に元の例外をマスクしてしまうバグを踏んでしまう場合があります。

後方互換性

Horizon の Essex リリースは、 Diablo の OpenStack サービスとの後方互換性は部分的にしかありません。ほとんどの場合ログインして機能を使用できますが、 Nova、Glance、Keystone の多くの機能が Essex で大きく変更され、完全な互換性を保つことはできません。