Newton バージョンのリリースノート¶
10.0.2¶
バグ修正¶
- [bug 1618235] 最後の文字が削除されたときに、選択されたファセットが消えることなく、検索に入力されたすべての文字を削除できるようになりました。
- [bug 1635505] Horizon は、下のテーブルの内容を更新する新しいテキスト検索を起動することなく、入力検索の中で矢印キーを正しく使用できるようになりました。
その他の注意点¶
- ユーザがさらにファセットを追加すると、メニューは検索入力位置を追随します
10.0.1¶
新機能¶
- インスタンス起動ワークフローのためのデフォルト値を指定できるようにする LAUNCH_INSTANCE_DEFAULTS 設定が追加されました。最初は Configuration Drive プロパティーのみがサポートされています。
アップグレード時の注意¶
- LAUNCH_INSTANCE_DEFAULTS 変数は、 local_settings.py の REST_API_REQUIRED_SETTINGS 設定に追加しなければなりません。
- 開発者ダッシュボードの enabled ファイルは
openstack_dashboard/enabled
からopenstack_dashboard/contrib/developer/enabled
に移動されました。これらを有効にするには、openstack_dashboard/local/enabled
以下にこれらのファイルをコピーし、DEBUG = True
を設定してください。
バグ修正¶
- ログに出力される、開発者パネルに関する
WARNING
メッセージがなくなりました。
10.0.0¶
Angular のアクションは、アクションが何をした(あるいは何をしなかった)のかを示す方法において、それを解決するプロミスを構造化されたオブジェクトとともに返すべきです。
JavaScript が Keystone トークンにアクセスできるようになりました。
多くの Horizon の XStatic パッケージがこの開発サイクル中に更新されました。
リソース種別(例:イメージ)の詳細ページには、 ビューを登録するための Angular アプリケーションレベルのレジストリーを使用でき、開発者は簡単に詳細ビューの作成や拡張ができます。この実装では、これらのビューは詳細ページ内のタブとして表示されます。
HTML クラスの命名規則を標準化するための努力によって、様々なクラス名を、 Bootstrap の規則に合わせて、アンダースコアやキャメルケースの代わりに、ダッシュを使うように更新していきます。
Horizon を実行するために、Nova (または Glance) が必要ではなくなりました。Horizon は、Keystone があれば動作します (例: Swift のみのデプロイメント)。
イメージのパネルは、レガシーまたは Angular コードのいずれかを使用する設定ができるようになりました。
テーマに対応したカスタマイズ可能なフレームワークとしての Horizon の継続的なメンテナンスを容易にするため、高度にカスタマイズされていた 『default』 スタイルは削除され、標準の Bootstrap のスタイルを使用するようになりました。今後は 『default』 テーマでは SCSS 変数の変更だけが行われます。
Angular 部品として、リソース (インスタンスなど) のレジストリー情報に基いて、簡単に設定できるパネルとテーブルを提供する部品が追加されました。
modal のサイズが Bootstrap テーマの値を継承するようになりました。
Horizonで使用される xstatic パッケージ用の static フォルダーの場所が自動的に特定されるようになりました。
新機能¶
- アクション結果サービスは、結果を構築したり、返されたオブジェクトの解析に便利なメソッドを提供します。
- [blueprint admin-neutron-l3-agent] neutron L3 エージェントホストの管理機能が追加されました。管理ダッシュボードのシステム情報画面で、どのルータがどのホスト上に存在するかを確認できます。また、ルーターの管理画面で、ルーターが割り当てられている L3 エージェントのリストが参照でき、リンクを辿ると同じホストに割り当てられている他のルーターを確認できます。
- Horizon および Horizon のプラグインは JavaScript で Keystone トークンにアクセス可能なので、CORS コールを他の OpenStack サービスに対して直接実行することができます。これにより、UI の応答性が向上します。
- 新しい辞書型の設定
ANGULAR_FEATURE
が追加されました。この設定により、新しい AngularJS ベースの機能を有効にするかどうかを切り替えできます。
- 新しいインスタンス起動ワークフローに、スケジューラーヒントをインスタンスの起動時に追加できるようにする、スケジューラーヒントタブが追加されました。カスタムのキーバリューペアだけでなく、 OS::Nova::Server リソース種別を持つ Glance のメタデータ定義カタログやscheduler_hints プロパティーの対象も選択できます。
- Angular ワークフローサビスに設定サポートが追加され、ワークフローの各ステップで、ステップが表示されるために順番にパスしなければならないフラグ設定を指定できるようになりました。
- [blueprint manage-ips Add ability to manage floating IPs in syspanel] 管理ダッシュボードの Floating IP パネルが Horizon に追加されました。
- [blueprint admin-views-filter-first] この機能を使うと、運用者が、管理者ビューにデータをロードする前に、管理ユーザーが検索条件をまず指定するように、設定できます。
- [blueprint angular-schema-form] Angular Schema Form ライブラリーが Horizon に追加されました。開発者は Angular フォームとワークフローフォームを JSON から構築できます。詳しくは http://schemaform.io/ を参照してください。
- [blueprint angular-table-directive] このブループリントは、開発者が HTML マークアップを書くことに対して、 Angular テーブルを宣言するための方法を提供します。これは、定型の HTML コードを削減します。基本的な表の場合は、 hz-diynamic-table ディレクティブにデータとカラム構成を渡す必要があります。
- [blueprint angular-template-overrides] この機能は、開発者が Horizon の Angular コードが使用している HTML をテーマを使って上書きする手段を提供します。例えば、 『material』 テーマを使用している際に、インスタンス起動フォームのヘルプパネルを上書きするには、 openstack_dashboard/themes/material/static/templates/framework/widgets/help-panel/help-panel.html を作成します。すべてのクライアント側のテンプレートは 1 つの JavaScript ファイルにコンパイルされます。生成される JavaScript ファイルは最小化されており、追加のファイルは manifest.json ファイルで指定されます。
- Django テンプレートキャッシュローダーが追加され、テンプレートはメモリーに保存されるようになりました。 https://docs.djangoproject.com/en/1.8/ref/templates/api/#django.template.loaders.cached.Loader を参照してください。
- [blueprint cinder-consistency-groups] この機能ではプロジェクトのボリュームパネルに 2 つのタブが新たに追加されます。 1 つ目のタブは整合性グループ (Consistency Group; CG) を表示し、 2 つ目のタブは 整合性グループスナップショット (Consistency Group Snapshot) を表示します。整合性グループには既存のボリュームが属し、ユーザーはそれらのボリュームに対して 1 ステップでアクションを実行できます。実行できるアクションには、 CG の作成/更新/削除、 CG 内の全ボリュームのスナップショット、 CG 内の全ボリュームのクローン作成、CG スナップショットからの新規の CG とボリュームの作成、があります。整合性グループに関するポリシーは Cinder のポリシーファイルに書かれており、デフォルトでは全アクションが無効になっています。
- [blueprint configurable-boot-sources] 「インスタンスの起動」モーダルで起動元として利用可能なソースを管理者が制限できるようになりました。 LAUNCH_INSTANCE_DEFAULTS に 4 つの設定値 (disable_image, disable_instance_snapshot, disable_volume, disable_volume_snapshot) が追加されました。
- ローカルファイルからイメージを作成する機能が、 Angular 版と Django 版の両方の「イメージの作成」ワークフローに追加されました。2 つのモードがあり、 『legacy』 モードでは、 Django 経由でイメージのアップロードをプロキシーします。 新規の 『direct』 モードは [blueprint horizon-glance-large-image-upload] を実装したものです。ダイレクトモードを使用するには、 HORIZON_IMAGES_UPLOAD_MODE 設定を値 『direct』 に変更するとともに、 glance-api.conf の cors.allowed_origin パラメーターを Horizon がサービスを行う URL に変更する必要があります。
- Angular の行アクションを、アクションの目的を説明する追加情報とともにレンダリングする機能が追加されました。追加情報はタイルとしてレンダリングされ、そのリソースに対してユーザーが実行したいであろう次のステップの説明を表示する目的での利用が想定されています。
- ポートの詳細ページでは、許可するアドレスペアを管理する新しいタブができました。このタブとその機能は Neutron でこの拡張が有効になっている時だけ利用可能です。許可するアドレスペアのタブは、現在のポートに対するアドレスペアの作成、削除、および一覧が可能です。
- ユーザーのプライベートネットワークで使用できる CIDR の範囲を制限できるようになりました。 <https://blueprints.launchpad.net/horizon/+spec/restrict-private-network-input>
- [blueprint Supports extra properties in project and user] プロジェクトやユーザーの追加情報を追加属性として設定できるようになりました。
- [blueprint navigation-improvements] パンくずナビゲーションが Horizon 全体に追加されました。
- ポート作成時にサブネットや Fixed IP アドレスを指定できるようになりました。
- ディレクティブ(hz-details)は、ビュー(典型としては詳細のコンテキストのため)のセットをインテリジェントに表示する機能を提供します。
- 汎用詳細表示は、場所を解析してリソース種別を決定し、その種別に関連した詳細ビューを表示します。
- 記述概念は、汎用のビューとアクションで使用するために、オブジェクトをグローバルに識別できる情報の容易に受け渡しを可能にします。
- Horizon には、 Django で(ナビゲーションされない)ルートがあり、一般的な詳細ページはディープリンクされています。
- Angular ページで使用するための共通の Django テンプレートが利用可能になりました。
- Glance v2 が完全にサポートされました。この結果、 Horizon を動作させるために、 Keystone カタログに Glance v1 エンドポイントは必要という状況はなくなりました。また、 Glance v1 と v2 間のコード互換性が提供されています。
- IMAGES_ALLOW_LOCATION という新しい設定値が追加されました。この設定を使うと、ユーザーはイメージの作成、更新時のロケーションを設定できます。 Glance のバージョンに依存しますが、ロケーションを設定する機能はポリシーと設定値で制御できます。
- Nova と Glance が Horizon を実行するための必須要件ではなくなりました。 keystone があれば、 Horizon は正しく動作します。
ANGULAR_FEATURES
設定にキーimages_panel
が追加されました。True
に設定すると、 Angular のイメージパネルが使用されます。False
に設定すると Python 版のイメージパネルが使用されます。
- イメージ機能の統合テストは openstack_dashboard/test/integration_tests/horizon.conf の 『panel_type』 機能を使って切り替えできます。有効な値は 『legacy』 と 『angular』 で、有効になっているパネル種別と一致させる必要があります。
- ネットワークの IP 利用状況表示が Horizon でサポートされました。 Horizon の管理ネットワークダッシュボードで IP 利用状況が表示できます。管理ダッシュボードのネットワークのサブネットテーブルの 2 つの列で、指定したサブネットに割り当てられた IP 数と未割り当ての IP 数が表示できます。
- Geneve トンネリングプロトコルのための Neutron ネットワーク種別がサポートされるようになりました。
- Midonet のための Neutron プロバイダーネットワーク種別がサポートされるようになりました。これらを有効にするには、
supported_provider_types
にこれらのネットワーク種別を指定します。
- [blueprint operation-history-log] ユーザーの操作履歴のログをとる機能が追加されました。
- Neutron プロバイダーネットワーク種別設定がもっと柔軟になり、オペレータは新しいネットワーク種別、セグメント ID 範囲などを含む、使用する Neutron ネットワークバックエンドに基づいて、様々なプロバイダーネットワークパラメーターを設定できるようになりました。
- 新しい設定 INTEGRATION_TESTS_SUPPORT が追加されました。デフォルト値は
False
です。この値は manage.py compress` コマンドを実行する際に使用されます。デフォルトでは、統合テストで使用されるすべての静的なコンテンツと HTML クラスが Horizon のプロダクションビルドから削除されます。統合テストのゲートジョブでは、この変数は True に設定され、静的なコンテンツは再コンパイルされます。
- hz-resource-table ディレクティブは Heat リソース名 (’OS::Nova::Server’ など) を受け取り、Angular レジストリーを使って、アクション、カラム、サマリーのビューを提供します。
- hz-resource-panel ディレクティブは Heat のリソース名 (『OS::Nova::Server』 など) を受け取り、適切なヘッダーを表示し、コンテンツを作成するパネルページに埋め込めます (transclude できます)。
- OVERVIEW_DAYS_RANGE の設定が新たに追加されました。これは、概要パネルのメーターのデフォルト日付範囲を、今日の日付の N 日前までの範囲 (値が整数 N の場合)、または今月の始めから今日までの範囲 (None に設定されている場合) で定義します。この設定は、概要のパネルがレンダリングされる際に取得するデータの量を制限するために使用されます。デフォルト値は 1 です。以前は大型のデプロイメントで深刻なラグの原因となっていたため、以前のバージョンの動作とは異なるようになりました。
- モーダルのサイズは、テーマの変数の値を継承するようになりました。 Bootstrap Modal の標準の 3 つのサイズに加えて、 2 つの追加のサイズ modal-xs と modal-xl が horizon で使用できるようになりました。
TOKEN_DELETE_DISABLED
設定が追加されました。これにより、ログアウト時にユーザートークンの取り消しを行うかを設定できます。
既知の問題¶
- ANGULAR_FEATURES オプションで 『images_panel』 を False に設定し (デフォルトは False ではありません)、 Horizon が Glance v2 を使用するように設定した場合、「イメージの編集」画面で RAM ディスク ID とカーネル ID が適切に表示されません。
アップグレード時の注意¶
- 必須ではありませんが、あなたのアクションが想定される構造のプロミスを返すように作るのが最善です。
- Custom template tags must have a thread-safe Node implementation to work with the cached loader. See https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/#template-tag-thread-safety
TEMPLATE_*
設定はTEMPLATE
dict に置き換えられました。このバージョンの Horizon に設定を移行する際に、これが問題となる可能性があります。 TEMPLATE_DEBUG 設定は削除され、 DEBUG 設定で制御されるようになりました。この dict の詳細な情報は https://docs.djangoproject.com/en/1.10/ref/settings/#templates で説明されています。
- Django 1.10 での実行時は、 DJango OpenStack Auth の
User
クラスのis_authenticated()
とis_anonymous()
関数はプロパティーになり、引数から margin パラメーターは削除されました。
- Horizon は現在 Angular 1.3.x および Angular 1.4.x に対応していますが、今後は 1.3 はサポートされなくなる予定です。「Migrating from 1.3 to 1.4 <https://docs.angularjs.org/guide/migration#migrating-from-1-3-to-1-4>」を参照してください。
- 詳細ページのパンくずナビゲーションは、 Horizon 全体に適用されるようになりました。小さなロジック変更は、コンテキスト内の
custom_breadcrumb
項目がパネル名とリンクの指定が不要になった点です。[blueprint navigation-improvements] を参照してください。
- 最終的な Django の TEMPLATE_LOADERS 設定は、 TEMPLATE_LOADERS 、 CACHED_TEMPLATE_LOADERS 、および ADD_TEMPLATE_LOADERS 設定から生成されます。詳細な情報は設定ドキュメントを参照してください。
- OPENSTACK_KEYSTONE_URL 設定で末尾にバージョン情報を含める必要がなくなりました。 django-openstack-auth ライブラリーの 2.3.0 リリースで行われた変更により、 Horizon は OPENSTACK_API_VERSION[『identity』] 設定の値に基づいて URL に適切なバージョン情報を付与するようになりました。
- (オプション)ボイラープレートコードを最小化し、同様の機能/フレーミングの使用を確実にするために、すべての Angular ページの基礎となる共通の Angular テンプレートを使用します。
- OPENSTACK_IMAGE_FORMATS 変数は、 local_settings.py の REST_API_REQUIRED_SETTINGS 設定に追加しなければなりません。
- レガシーのオーバーライドが機能するために「default」テーマが依然として必要な場合には、単に「default」テーマのスタイルを以前から存在するテーマにコピーするか、新規カスタムテーマを作成してください。
- 表の行の
status_unknown
クラスがデフォルトの Bootstrap のwarning
クラスに置き換えられました。
- 多くの JavaScript ファイルが horizon/lib static フォルダー内に移動されました。以前は、いくつかのファイルの場所はハードコートされていましたが、場所は xstatic パッケージ名に基づいて決定されるようになりました。
廃止予定の機能¶
- HORIZON_IMAGES_ALLOW_UPLOAD の設定は廃止予定となり、段階的に HORIZON_IMAGES_UPLOAD_MODE の設定に置き換えられることになります。
- ルータールールは Big Switch Networks が提供する horizon の拡張機能です。 horizon-vendor-split の取組の一環として、アップストリームの horizon からこの拡張機能を削除しました。この機能は分離されたプラグインとして https://github.com/bigswitch/horizon-bsn から入手できます。
- LBaaS v1 ダッシュボードは廃止予定となりました。 Ocata リリースで削除される予定です。 LBaaS v1 機能は neutron-lbaas から Ocata リリースで削除されています。 Horizon のこの機能は、オペレーターが Horizon を先にアップグレードできるように、後方互換性を保持するためだけに残されています。 LBaaS v2 用のダッシュボードは neutron-lbaas-dashboard プロジェクト で Horizon プラグインとして提供されています。
- HTML クラス 『d3_pie_chart_usage』 が使われている箇所はすべて 『pie-chart-usage』 に変更されました。同様に 『d3_pie_chart_distribution』 は 『pie-chart-distribution』 に変換されました。
- 『default_ipv4_subnet_pool_label』 と 『default_ipv6_subnet_pool_label』 オプションは Mitaka サイクルで非推奨となり、 Newton リリースでは削除されます。 Mitaka からは、 Neutron API を介してアドレスファミリー毎にデフォルトのサブネットプールを 1 つ作成できます。これらのサブネットプールは、サブネットプールの一覧に自動的に名前が表示されます。
- Horizon テーブルのインライン編集機能は廃止予定になりました。 Horizon の Pike リリース (12.0) で削除される予定です。この機能は、管理画面のボリューム種別テーブル、管理画面のメタデータ定義テーブル、ユーザー管理画面のプロジェクトテーブル、ユーザー管理画面のユーザーテーブル、から削除されました。
- フルスクリーンのモーダルは廃止予定になり、 modal-xl を使用するようになりました。 modal-xl の値は表示可能なスクリーン幅の 95% に設定されています。
セキュリティー上の問題¶
- Keystone トークンを JavaScript 側で参照できるようにすると、トークンがキャプチャーされるリスクが大きく高まります。この機能が不要な場合、 local_settings で ENABLE_CLIENT_TOKEN = False に設定することで無効化できます。
バグ修正¶
- ハードコードされていた管理ロールは、パネルの RBAC ポリシーに置き換えられました。パネルへのユーザーアクセスは、ユーザーのロールではなく、ポリシーで定義されるようになりました。この変更は、管理ダッシュボードとそのパネル (概要、ハイパーバイザー、インスタンス、メタデータ定義) に関係します。
- LP-1585682 が修正され、 Horizon は Keystone のウェブのパスのエンドポイント (http://<hostip>:5000 ではなく http://<hostip>/identity のような URL) に適切にバージョンを追加できるようになりました。
- hzTable コントローラーにいくつかのフィックスが行われました。以下のリストは、これらの変更の概要を示します。使用方法の詳細については、インラインドキュメントを参照してください。
- プロパティーはスコープの代わりにコントローラーにバインドされるようになりました。
- テーブルの行選択を解除するには、 hzTable:clearSelected イベントを発行します。
- selections プロパティーは各行のチェックボックスの選択状態を保持しています。
- selected プロパティーは選択された行のリストになっています。
- numSelected プロパティーは削除され、代わりに selected.length を使用します。
- The select method has been renamed to toggleSelect.
その他の注意点¶
- XStatic-Angular が 1.3.7.0 から 1.4.10.1 に更新されました。
- XStatic-Angular-FileUpload が 1.4.0.1 から 12.0.4.0 に更新されました。
- XStatic-Bootstrap-SCSS が 3.2.0.0 から 3.3.7.0 に更新されました。
- XStatic-Bootswatch が 3.3.5.3 から 3.3.6.0 に更新されました。
- XStatic-Font-Awesome が 4.3.0.0 から 4.5.0.0 に更新されました。
- XStatic-Jasmine が 2.1.2.0 から 2.4.1.1 に更新されました。
- XStatic-MDI が 1.1.70.1 から 1.4.57.0 に更新されました。
- XStatic-Rickshaw が 1.5.0.0 から 1.5.1.0 に更新されました。
- XStatic-Smart-Table が 1.4.5.3 から 1.4.13.1 に更新されました。
- Glance v2 では、copy-from 機能をサポートしていないため、この機能は、Glance v2 を使用する際に Horizon で無効にされます。