Difference between revisions of "ReleaseNotes/Liberty/ja"
(Created page with "=== 新機能 ===") |
Ian Y. Choi (talk | contribs) |
||
(139 intermediate revisions by 5 users not shown) | |||
Line 13: | Line 13: | ||
リリースノート全文は | リリースノート全文は | ||
− | https://github.com/openstack/swift/blob/master/CHANGELOG | + | https://github.com/openstack/swift/blob/master/CHANGELOG を参照してください。 |
=== 新機能 === | === 新機能 === | ||
− | * object-server とレプリケーションサーバーの設定ファイルの [DEFAULT] 設定セクション中の servers_per_port 設定値を正の整数にすることで、object-servers-per-disk (ディスク単位のオブジェクトサーバー) を複数にすることができるようになりました。この設定の整数値は、Ring 内の1つのローカルポートに対して、何個の object-server ワーカーがリクエストを処理するかを決定します。このモードでは、親となる swift-object-server プロセスが元々のユーザの実行を継続します (小さいポート番号のバインドが必要な場合はユーザーは root になります)。このプロセスは Ring 内で定義された全てのポートをバインドします。その後、親プロセスはリッスンソケット毎に指定された数のワーカーを fork します。子プロセス (ポート毎のサーバー) は特権を破棄し、object-server ワーカーの通常の動作と同じ動作をしますが、1つ例外があります: Ring はディスク単位に一意なポートを持ち、object-server は1つのディスクに対するリクエストのみ処理します。親プロセスはワーカープロセスが死んだ事を検知し、(適切なリッスンソケットを持つ) | + | * object-server とレプリケーションサーバーの設定ファイルの [DEFAULT] 設定セクション中の servers_per_port 設定値を正の整数にすることで、object-servers-per-disk (ディスク単位のオブジェクトサーバー) を複数にすることができるようになりました。この設定の整数値は、Ring 内の1つのローカルポートに対して、何個の object-server ワーカーがリクエストを処理するかを決定します。このモードでは、親となる swift-object-server プロセスが元々のユーザの実行を継続します (小さいポート番号のバインドが必要な場合はユーザーは root になります)。このプロセスは Ring 内で定義された全てのポートをバインドします。その後、親プロセスはリッスンソケット毎に指定された数のワーカーを fork します。子プロセス (ポート毎のサーバー) は特権を破棄し、object-server ワーカーの通常の動作と同じ動作をしますが、1つ例外があります: Ring はディスク単位に一意なポートを持ち、object-server は1つのディスクに対するリクエストのみ処理します。親プロセスはワーカープロセスが死んだ事を検知し、(適切なリッスンソケットを持つ) ワーカープロセスを再起動します。Ring ファイルの更新があり、そのサーバーに新しいポートを持つデバイスが見つかった場合、親プロセスは不足しているサーバを新たに実行します。また、Ring にもはや存在しないポートがある場合、それらのポートを持っていた余分のサーバを停止します。最長でも、 object-server 設定ファイル中の ring_check_interval パラメーター (デフォルトは 15秒) で設定された期間内には、 Ring ファイルの内容が反映されます。テストでは、既存の workers 設定に比べ、このデプロイ設定 (値 3) が応答遅延を最も削減し、秒間リクエストを改善し、低速なディスク I/O の影響が分離されます。この機能を使用するには、各デバイスは異なるポートを使用して Ring に追加する必要があります。 |
− | * object server | + | * object server に container_update_timeout 設定 (デフォルトは 1秒) が追加されました。この値は、オブジェクトの PUT 操作の結果を返す前に、 object server が container server による一覧更新を待つ秒数です。従来、object server は container server の応答を最大3秒待っていました。新しい動作では、クラスタ中の container server がビジーの際 (例えば、コンテナが非常に大きい場合)、オブジェクトの PUT 時の遅延を劇的に削減します。この値を必要以上に小さく設定すると、クライアントのオブジェクト PUT 時に、そのオブジェクトがすぐに一覧表示に現れないことになります。この値を必要以上に大きく設定すると、container server がビジーの際にクライアントへの遅延が大きくなることになります。 |
* Static Large Object (SLO) セグメントの範囲指定ができるようになりました。 | * Static Large Object (SLO) セグメントの範囲指定ができるようになりました。 | ||
− | * SLO PUT | + | * SLO PUT でセグメント単位の整合性チェックをしなくてもよくなりました。従来、マニフェスト中で参照されている各セグメントは、正しい etag とバイト設定を必要としていました。今回、これらのフィールドに「null」を指定して、指定されたセグメントに対する特定のチェックをスキップできるようになりました。 |
− | * Replicator 設定で今回 | + | * Replicator 設定で今回 rsync_module という値がサポートされました。この値を指定すると、デバイス単位の rsync モジュールを利用できるようになります。この設定により、運用者は、Swift クラスタ中のレプリケーションを細かく調整し、特定のデバイスに対するレプリケーションのディスク I/O を分離できます。詳細な情報と設定例は、ドキュメントとサンプル設定ファイルを参照してください。 |
* Ring の変更 | * Ring の変更 | ||
− | ** | + | ** ポート番号は今後、パーティションの配置に使用されなくなりました。これにより、ドライブ毎に object server を 1 つ動かしている小規模クラスタ中のデータ分散が改善されます。 サーバー毎に object server を 1 つ動かしているクラスタには影響はありません。 |
− | ** | + | ** Ringの運用管理操作で、テストと確認をより簡単に行うため、ring-builder-analyzer ツールを追加しました。 |
− | ** Ring | + | ** Ring 検証で同じデバイスに対するパーティション配置が複数回行われた場合、警告を出すようになりました。この状態は、Ring 中のデバイスが平準化されていない場合に発生します (例えば、2サーバのうち1台が明らかに大きな容量を持っているなど)。 |
* TempURLの修正 (CVE-2015-5223) <p>tempurl への PUT で、他のデータへのポインタを作ることができなくなりました。特に、 tempurl への PUT による DLO オブジェクトマニフェストの作成が禁止されました。これにより、DLO オブジェクトマニフェストを作成し、その tempurl への PUT を使ってオブジェクトに対する HEAD を行うといった、tempurl への PUT を使ったプライベートデータに対する発見可能性攻撃が防止できます。 | * TempURLの修正 (CVE-2015-5223) <p>tempurl への PUT で、他のデータへのポインタを作ることができなくなりました。特に、 tempurl への PUT による DLO オブジェクトマニフェストの作成が禁止されました。これにより、DLO オブジェクトマニフェストを作成し、その tempurl への PUT を使ってオブジェクトに対する HEAD を行うといった、tempurl への PUT を使ったプライベートデータに対する発見可能性攻撃が防止できます。 | ||
Line 36: | Line 36: | ||
* Keystoneを利用した際に、サービストークンがリクエストに含まれていない場合にも、サービスアカウントに対する COPY リクエストが成功する可能性があるという問題を修正しました。 | * Keystoneを利用した際に、サービストークンがリクエストに含まれていない場合にも、サービスアカウントに対する COPY リクエストが成功する可能性があるという問題を修正しました。 | ||
* Bulk アップロードで、アップロードされたアーカイブ内のファイルのユーザ xattr が、作成されたオブジェクトのメタデータとして保存されるようになりました | * Bulk アップロードで、アップロードされたアーカイブ内のファイルのユーザ xattr が、作成されたオブジェクトのメタデータとして保存されるようになりました | ||
− | * | + | * handoff_first か handoff_delete が設定されている場合、 object-replicator で はwarning logが出力されます。 |
* swift-recon で object-replicatorの失敗数が有効になりました。 | * swift-recon で object-replicatorの失敗数が有効になりました。 | ||
* ストレージポリシーのサポートが swift-dispersion ツールに追加されました。 | * ストレージポリシーのサポートが swift-dispersion ツールに追加されました。 | ||
* Keystone v3 のドメインが swift-dispersion ツールでサポートされました。 | * Keystone v3 のドメインが swift-dispersion ツールでサポートされました。 | ||
* domain_remap ミドルウェアの情報が /info エンドポイントに追加されました。 | * domain_remap ミドルウェアの情報が /info エンドポイントに追加されました。 | ||
− | * domain_remap ミドルウェアの設定で | + | * domain_remap ミドルウェアの設定で default_reseller_prefix のサポートが追加されました。 |
− | * | + | * rsync_compress という設定で rsync の圧縮機能が使えるようになりました。これを True に設定すると、別のリージョンのデバイスへの転送時にのみ転送データが圧縮されます。これによりリージョン間のデータ転送が高速化できる可能性があります。 |
* swift-recon で時刻同期チェックのオプションが追加されました。(--timeオプション) | * swift-recon で時刻同期チェックのオプションが追加されました。(--timeオプション) | ||
* account-reaper が大きなアカウントに対してより高速に動作するようになりました。 | * account-reaper が大きなアカウントに対してより高速に動作するようになりました。 | ||
Line 53: | Line 53: | ||
** Python 2.6のサポートを終了しました。 | ** Python 2.6のサポートを終了しました。 | ||
* 設定の変更 | * 設定の変更 | ||
− | ** 直近のバージョンの Python では 1 リクエストあたりの HTTP ヘッダー数を100に制限しています。この数値はカスタムミドルウェアでは小さすぎる場合があります。swift.conf 中の | + | ** 直近のバージョンの Python では 1 リクエストあたりの HTTP ヘッダー数を100に制限しています。この数値はカスタムミドルウェアでは小さすぎる場合があります。swift.conf 中の extra_header_count という新しい設定値を使って許容するヘッダー数を増やすことができます。 |
− | ** | + | ** run_pause 設定は interval に名前が変更されました (現在は run_pause のままでも動作します)。将来的にはrun_pause 設定は削除される可能性があります。 |
− | * バージョン付き書き込み (Object Versioning) 機能のリファクタリングが行われ、ミドルウェアとして再実装されました。 proxy の pipeline に明示的にversioned_writes ミドルウェアを追加する必要がありますが、 container サーバーの設定で | + | * バージョン付き書き込み (Object Versioning) 機能のリファクタリングが行われ、ミドルウェアとして再実装されました。 proxy の pipeline に明示的にversioned_writes ミドルウェアを追加する必要がありますが、 container サーバーの設定で allow_versions を有効にしている場合にはこの設定を削除したり無効にしたりしてはいけません。既存のcontainer サーバー設定は既存のコンテナーで versioningを有効にするのに必要です。詳しいアップグレード時の注意については http://swift.openstack.org/middleware.html#how-to-enable-object-versioning-in-a-swift-cluster を参照してください。 |
== OpenStack Networking (Neutron) == | == OpenStack Networking (Neutron) == | ||
Line 87: | Line 87: | ||
* Trusty Tahr に含まれるカーネル (3.13) は、ネームスペース数の増加に伴い「ip netns exec」の実行時の性能が線形に劣化します。スケーラビリティーが重要な場合、より後のバージョンのカーネル (例えば 3.19) を使うべきです。【3.13 のどのバージョンでこの問題が発生するかを明記する必要がある。ほとんどのバージョンではこの問題は既に修正済みである】 | * Trusty Tahr に含まれるカーネル (3.13) は、ネームスペース数の増加に伴い「ip netns exec」の実行時の性能が線形に劣化します。スケーラビリティーが重要な場合、より後のバージョンのカーネル (例えば 3.19) を使うべきです。【3.13 のどのバージョンでこの問題が発生するかを明記する必要がある。ほとんどのバージョンではこの問題は既に修正済みである】 | ||
<br /> | <br /> | ||
− | [注意] この問題は Trusty Thar の 3.13.0-36.63 以降のカーネルバージョンで修正済みです。詳細は次の URL | + | [注意] この問題は Trusty Thar の 3.13.0-36.63 以降のカーネルバージョンで修正済みです。詳細は次の URL を参照してください。 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1328088 |
* Octavia ドライバー使用時には、ハードウェア仮想化のない環境での Neutron-LBaaS ロードバランサの作成が遅くなる可能性があります。これは、ハードウェア仮想化なしの環境では QEMU が KVM アクセラレータではなく TCG アクセラレータを使用するためです。Octavia ドライバーを仮想環境内で使用する場合、コンピュートノード上でハードウェア仮想化を有効にするか、nested virtualization (訳注:仮想化環境上の仮想化支援機構) を有効にすることをお勧めします。KVM 内で実行される DevStack で nested virtualization をセットアップする詳細な方法は、次のリンクを参照してください。http://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html | * Octavia ドライバー使用時には、ハードウェア仮想化のない環境での Neutron-LBaaS ロードバランサの作成が遅くなる可能性があります。これは、ハードウェア仮想化なしの環境では QEMU が KVM アクセラレータではなく TCG アクセラレータを使用するためです。Octavia ドライバーを仮想環境内で使用する場合、コンピュートノード上でハードウェア仮想化を有効にするか、nested virtualization (訳注:仮想化環境上の仮想化支援機構) を有効にすることをお勧めします。KVM 内で実行される DevStack で nested virtualization をセットアップする詳細な方法は、次のリンクを参照してください。http://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html | ||
Line 99: | Line 99: | ||
* 全てのエンドポイントのデフォルトが v2.1 に変更され、v2.0 と v1.1 は新しい互換モードが使用されるようになりました。これにより、既存 API ユーザの移行透過性が確保されます。(https://blueprints.launchpad.net/nova/+spec/api-relax-validation) | * 全てのエンドポイントのデフォルトが v2.1 に変更され、v2.0 と v1.1 は新しい互換モードが使用されるようになりました。これにより、既存 API ユーザの移行透過性が確保されます。(https://blueprints.launchpad.net/nova/+spec/api-relax-validation) | ||
* Evacuate は耐障害性が向上しました (未完成)。 (https://blueprints.launchpad.net/nova/+spec/robustify-evacuate) | * Evacuate は耐障害性が向上しました (未完成)。 (https://blueprints.launchpad.net/nova/+spec/robustify-evacuate) | ||
− | * | + | * 新しいmark host down/force down API。これにより、外部の高可用性ツールがホスト障害イベントをNova に通知できるようになりました。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/mark-host-down.html). |
* コンソール取得 API 群の統合 (https://blueprints.launchpad.net/nova/+spec/consolidate-console-api) | * コンソール取得 API 群の統合 (https://blueprints.launchpad.net/nova/+spec/consolidate-console-api) | ||
* os-fixed-ips API で reserved 状態を表示 (https://blueprints.launchpad.net/nova/+spec/show-reserved-status-in-os-fixed-ips-api) | * os-fixed-ips API で reserved 状態を表示 (https://blueprints.launchpad.net/nova/+spec/show-reserved-status-in-os-fixed-ips-api) | ||
Line 124: | Line 124: | ||
==== Cells v2 ==== | ==== Cells v2 ==== | ||
− | Cells v2 は現在使用可能な状態にありませんが、Cells v2 | + | Cells v2 は現在使用可能な状態にありませんが、Cells v2 を支えるインフラのいくつかが追加されました。 |
* Cells ホストマッピング (https://blueprints.launchpad.net/nova/+spec/cells-host-mapping) | * Cells ホストマッピング (https://blueprints.launchpad.net/nova/+spec/cells-host-mapping) | ||
* Cells インスタンスマイグレーション (https://blueprints.launchpad.net/nova/+spec/cells-instance-migration) | * Cells インスタンスマイグレーション (https://blueprints.launchpad.net/nova/+spec/cells-instance-migration) | ||
− | ==== Compute | + | ==== Compute ドライバーの機能 ==== |
===== Libvirt ===== | ===== Libvirt ===== | ||
− | * Libvirt | + | * Libvirt ボリュームドライバーは os-brick ライブラリを使うようになりました。これにより、Nova と CInder の間でボリュームの検出と削除ロジックを共用できるようになりました。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/use-os-brick-library.html) |
* live_migration_completion_timeout と live_migration_progress_timeout 設定パラメータが追加されました。これらは、ライブマイグレーションの実行時間に上限を設け、特に処理が中断された場合に効果を発揮します。(https://launchpad.net/bugs/1429220) | * live_migration_completion_timeout と live_migration_progress_timeout 設定パラメータが追加されました。これらは、ライブマイグレーションの実行時間に上限を設け、特に処理が中断された場合に効果を発揮します。(https://launchpad.net/bugs/1429220) | ||
− | * | + | * ライブマイグレーションの間、最大ダウンタイム設定を管理・計測する機能が追加されました。これにより、大きなサイズのゲストのライブマイグレーションが無事終わる可能性を向上します (https://launchpad.net/bugs/1429220) |
− | |||
* 同時処理するライブマイグレーション数の上限を設定可能に (https://launchpad.net/bugs/1478108) | * 同時処理するライブマイグレーション数の上限を設定可能に (https://launchpad.net/bugs/1478108) | ||
* hw_vif_multiqueue_enabled イメージプロパティが true の場合 (デフォルトは false)、ゲストの vCPU に関連して VirtIO キューのスケーリングが可能に(オプション)。これにより、複数 vCPU のゲスト、複数の同時ネットワーク接続、それに伴うラージパケットサイズの場合にネットワーク性能が向上します。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/libvirt-virtiomq.html) | * hw_vif_multiqueue_enabled イメージプロパティが true の場合 (デフォルトは false)、ゲストの vCPU に関連して VirtIO キューのスケーリングが可能に(オプション)。これにより、複数 vCPU のゲスト、複数の同時ネットワーク接続、それに伴うラージパケットサイズの場合にネットワーク性能が向上します。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/libvirt-virtiomq.html) | ||
Line 143: | Line 142: | ||
* Libvirt 仮想化用に InfiniBand SR-IOV サポート (https://blueprints.launchpad.net/nova/+spec/vif-driver-ib-passthrough) | * Libvirt 仮想化用に InfiniBand SR-IOV サポート (https://blueprints.launchpad.net/nova/+spec/vif-driver-ib-passthrough) | ||
* Libvirt 仮想化用の新しい仮想インターフェースタイプとして MacVTap を追加 (https://blueprints.launchpad.net/nova/+spec/libvirt-macvtap-vif) | * Libvirt 仮想化用の新しい仮想インターフェースタイプとして MacVTap を追加 (https://blueprints.launchpad.net/nova/+spec/libvirt-macvtap-vif) | ||
− | * ファイルシステムスタイルの Libvirt | + | * ファイルシステムスタイルの Libvirt ドライバーを集約 (https://blueprints.launchpad.net/nova/+spec/consolidate-libvirt-fs-volume-drivers) |
− | * EMC ScaleIO Data Client (SDC) Libvirt | + | * EMC ScaleIO Data Client (SDC) Libvirt ボリュームドライバー(https://blueprints.launchpad.net/nova/+spec/emc-sdc-libvirt-volume-driver) |
− | * Libvirt 用に rsync | + | * Libvirt 用に rsync ベースのリモートファイルシステムドライバーを実装 (https://blueprints.launchpad.net/nova/+spec/remote-fs-driver) |
* Virtuozzo コンテナのボリューム起動 (https://blueprints.launchpad.net/nova/+spec/virtuozzo-container-boot-from-volume) | * Virtuozzo コンテナのボリューム起動 (https://blueprints.launchpad.net/nova/+spec/virtuozzo-container-boot-from-volume) | ||
− | |||
* os-brick を使用した、HGST ボリュームタイプ対応を追加 (https://blueprints.launchpad.net/nova/+spec/add-os-brick-volume-driver-hgst-solutions) | * os-brick を使用した、HGST ボリュームタイプ対応を追加 (https://blueprints.launchpad.net/nova/+spec/add-os-brick-volume-driver-hgst-solutions) | ||
* virtio-net マルチキュー (未完成) (https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-net-multiqueue) | * virtio-net マルチキュー (未完成) (https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-net-multiqueue) | ||
Line 153: | Line 151: | ||
===== VMware ===== | ===== VMware ===== | ||
− | * VMware | + | * VMware ドライバーのドメインメタデータ (https://blueprints.launchpad.net/nova/+spec/vmware-driver-domain-metadata) |
* メモリ、ディスク、仮想NICの帯域制御 (未完成) (https://blueprints.launchpad.net/nova/+spec/vmware-limits) | * メモリ、ディスク、仮想NICの帯域制御 (未完成) (https://blueprints.launchpad.net/nova/+spec/vmware-limits) | ||
* VMware ネイティブな HTML5 コンソール (https://blueprints.launchpad.net/nova/+spec/vmware-webmks-console) | * VMware ネイティブな HTML5 コンソール (https://blueprints.launchpad.net/nova/+spec/vmware-webmks-console) | ||
− | * VMware | + | * VMware ドライバーにおけるスワップディスク対応 (https://blueprints.launchpad.net/nova/+spec/vmware-swap-support) |
* VMware NSXv 対応 (https://blueprints.launchpad.net/nova/+spec/vmware-nsxv-support) | * VMware NSXv 対応 (https://blueprints.launchpad.net/nova/+spec/vmware-nsxv-support) | ||
− | * VMware: VMware | + | * VMware: VMware ドライバーにおけるコンソールログ対応 (未完成) (https://blueprints.launchpad.net/nova/+spec/vmware-console-log) |
===== Hyper-V ===== | ===== Hyper-V ===== | ||
Line 166: | Line 164: | ||
===== Ironic ===== | ===== Ironic ===== | ||
− | * Ironic | + | * Ironic ドライバーへのインスタンス名伝達 (https://blueprints.launchpad.net/nova/+spec/pass-down-instance-name-to-ironic-driver) |
==== その他の機能 ==== | ==== その他の機能 ==== | ||
Line 176: | Line 174: | ||
* Cells:different_cells scheduler フィルタ (https://blueprints.launchpad.net/nova/+spec/cells-scheduler-anti-affinity-filter) | * Cells:different_cells scheduler フィルタ (https://blueprints.launchpad.net/nova/+spec/cells-scheduler-anti-affinity-filter) | ||
* Python 3.4 対応に向けた作業を開始 (https://blueprints.launchpad.net/nova/+spec/nova-python3) | * Python 3.4 対応に向けた作業を開始 (https://blueprints.launchpad.net/nova/+spec/nova-python3) | ||
− | * | + | * いくつかのNova サービスが Apache2 配下で実行可能に (https://blueprints.launchpad.net/nova/+spec/run-nova-services-under-apache2) |
* アップグレード:全般的なサービスバージョン番号を追加 (https://blueprints.launchpad.net/nova/+spec/service-version-number) | * アップグレード:全般的なサービスバージョン番号を追加 (https://blueprints.launchpad.net/nova/+spec/service-version-number) | ||
* Nova の rootwrap をデーモンとして実行 (https://blueprints.launchpad.net/nova/+spec/nova-rootwrap-daemon-mode) | * Nova の rootwrap をデーモンとして実行 (https://blueprints.launchpad.net/nova/+spec/nova-rootwrap-daemon-mode) | ||
* Nova の instances テーブルから scheduled_at 列を削除 (https://blueprints.launchpad.net/nova/+spec/cleanup-scheduled-at) | * Nova の instances テーブルから scheduled_at 列を削除 (https://blueprints.launchpad.net/nova/+spec/cleanup-scheduled-at) | ||
− | * DEFAULT グループに新しい設定項目 handle_virt_lifecycle_events を追加。これにより、virt | + | * DEFAULT グループに新しい設定項目 handle_virt_lifecycle_events を追加。これにより、virt ドライバーからのインスタンスライフサイクルイベント用のイベントコールバックハンドラを無効化できるようになります(この設定項目は Liberty の Libvirt, Hyper-V ドライバーでのみ実装)。これは主に、過負荷状況下でコールバックが競合状態になり、実行中のインスタンスのシャットダウンのような問題を引き起こす場合の回避策を提供します。詳細は https://review.openstack.org/#/c/159275/ 参照。 |
=== アップグレード時の注意 === | === アップグレード時の注意 === | ||
− | * | + | * 安定版の Kilo からのバージョンアップの場合、Liberty をデプロイする前に確実に Kilo 系列の最新バージョンに完全にアップグレードしてください。https://bugs.launchpad.net/nova/+bug/1474074 バグ修正以前の Kilo では、Liberty ノードとの通信時に問題が発生する可能性があります。 |
− | * | + | * RAM と CPU の割当比率は今回、nova-compute の中で(つまり compute ノード単位で)定義されるようになりました。比率はまた、scheduler サービスでも定義する必要があります。compute ノードを Kilo または Liberty のどちらで動かすかによって、割当比率の挙動が異なります。''compute ノードを Kilo で動かす場合''、compute ノード上の CPU と RAM の割当比率は controller の nova.conf ファイルの設定値となります。''compute ノードを Liberty で動かす場合''、compute ノード単位で CPU・RAM 両方の割当比率を設定可能です。全 compute ノードの割当比率を運用者に提供する場合、(controller ノードも含めて) nova.conf 中でデフォルトの割当比率を 0.0 にします。この値は、割当比率が実際に 0.0 になる訳ではなく、単に運用者が'''次のリリース(=Mitaka)までに'''この値を設定する必要がある事を意味しています。はっきりさせておきたいのは、デフォルトの割当比率はいまだに cpu_allocation_ratio=16、ram_allocation_ratio=1.5 という事です。 |
− | * | + | * 新しい network-vif-deleted イベント (https://review.openstack.org/#/c/187871/) の関係で、Neutron サービスのアップグレード前に nova-compute を Liberty のコードにアップグレードすべきです。 |
− | * | + | * Liberty へのアップグレード前に rootwrap フィルタに touch コマンドを追加しなければなりません。 |
− | ** | + | ** Launchpad Bug [https://bugs.launchpad.net/nova/+bug/1256838 1256838] で指摘された imagebackend と imagecache の間の競合状態があります。 |
− | ** | + | ** imagebackend がベースイメージをインスタンス用パスにコピーしている最中にベースイメージが ImageCacheManager によって削除された場合、インスタンスはエラー状態になります。 |
− | ** | + | ** この問題を解決するため、https://review.openstack.org/#/c/217579/ の変更に伴い compute.filters に touch コマンドを追加する必要があります。 |
− | ** | + | ** 競合状態の場合、imagebackend がイメージをコピーしている最中に Libvirt がベースファイルの所有者を libvirt-qemu に変更する時、os.utime を使用してファイルのアクセス時刻を更新する際に permission denied error が発生します。このエラーの解決のため、root ユーザ特権の touch コマンドを使用して、ベースファイルのアクセス時刻を更新する必要があるのです。 |
− | * | + | * DiskFilter は Liberty より、scheduler_default_filters の一部となりました。https://review.openstack.org/#/c/207942/ |
− | * | + | * 今回より1つの vCenter クラスタを単一の nova-compute ノードでマッピングできるようになりました。https://review.openstack.org/#/c/103916/ |
− | * | + | * Libvirt の parallels ドライバーは virtuozzo と名称変更されました。 |
− | * | + | * 使用されていない iscsi_targets、volumes テーブルが削除されました。 |
− | * | + | * デフォルトの paste.ini は全てのエンドポイントで新しい v2.1 API を使用するよう更新され、v3 エンドポイントは削除されました。互換モードミドルウェアは v2.1 のバリデーションを /v2, /v1.1 エンドポイントで緩和するために使用されます。 |
− | * | + | * DB スキーマダウングレードのコードが今回削除されました。https://blueprints.launchpad.net/nova/+spec/nova-no-downward-sql-migration |
− | * | + | * 我々がテストに使用するデフォルトの DB ドライバーは今回、Python-MySQL ではなく pymysql になりました。 |
− | * | + | * powervm hv_type 定義は削除されました。この変更は、イメージメタデータ中の hv_type=powervm の古いイメージを使用している [https://github.com/stackforge/powervc-driver PowerVC driver on stackforge] のユーザにのみ影響します。 |
− | * | + | * Mitaka リリースにおける Libvirt の最小バージョンは 0.10.2 になる予定です。Libvirt < 0.10.2 対応は Liberty で廃止予定になりました。https://review.openstack.org/#/c/183220/ |
− | * | + | * libvirt.remove_unused_kernels 設定オプションは廃止予定になり、今回デフォルトで True となりました。https://review.openstack.org/#/c/182315/ |
− | === | + | === 非推奨の機能 === |
− | * | + | * ツリー API 拡張の無効化オプションが廃止予定になりました。(https://blueprints.launchpad.net/nova/+spec/nova-api-deprecate-extensions) |
− | * | + | |
− | * | + | * 2.21.0 より novaclient.v1_1 モジュールが廃止予定になりました。[[https://git.openstack.org/cgit/openstack/python-novaclient/commit/?id=61ef35fe79e2a3a76987a92f9ee2db0bf1f6e651]][[https://git.openstack.org/cgit/openstack/python-novaclient/commit/?id=0a60aae852d2688861d0b4ba097a1a00529f0611]] また、Mitaka リリースで最初の python-novaclient から上記を削除する予定です。 |
− | * | + | * 2.29.0 より `novaclient.client.get_client_class` メソッドが廃止予定になりました。[[https://git.openstack.org/cgit/openstack/python-novaclient/commit/?id=147a1a6ee421f9a45a562f013e233d29d43258e4]] このメソッドは Mitaka で削除されます。 |
− | * | + | * Cells での使用を含め、weighter の mute_weight_value オプションが廃止予定になりました。 |
− | * | + | * Libvirtドライバー用の remove_unused_kernels 設定オプションが今回、廃止予定になりました。 |
− | * API | + | * ''vcenter'' ドライバーで使用する vCenter の最小要求バージョンが今回、5.1.0 になりました。5.0 以前を使用している場合、Liberty では警告ログとして記録されますが、Mitaka では 5.0 以前のバージョンの対応は削除されます。 |
+ | * V3 API 固有のコンポーネントは全て廃止予定となり、デフォルトの paste.ini より削除されました。 | ||
== OpenStack Telemetry (Ceilometer) == | == OpenStack Telemetry (Ceilometer) == | ||
− | === | + | === 主要な新機能 === |
− | * | + | * アラームサービスを扱う Aodh の新設 |
− | * | + | * メタデータキャッシュ (nova API ポーリング負荷低減) |
− | * Declarative | + | * Declarative (宣言型)メーター |
− | ** | + | ** メーター定義テンプレートでの定義により、メーターを生成可能 |
− | ** | + | ** ポーリングする特定の SNMP メーターを定義可能 |
− | * | + | * Ceilometer から Gnocchi へのデータ送信に対応 |
− | * | + | * 強制リミット (制限クエリのリミットを強制)。このリミットはクエリの際に明確に提供されなければならず、提供されない場合はデフォルトのリミットに制限されます。 |
− | * | + | * 分散協調型の通知エージェント (複数の通知エージェント間で処理負荷を分割可能に) |
− | * | + | * イベント RBAC 対応 |
− | * PowerVM | + | * PowerVM ハイパーバイザ対応 |
− | * | + | * MongoDB クエリ対応の改善 (統計の計算で性能向上) |
− | * | + | * 新しいメーター対応 |
− | ** Magnum | + | ** Magnum メーター |
− | ** DBaaS | + | ** DBaaS メーター |
− | ** DNSaaS | + | ** DNSaaS メーター |
− | ==== Gnocchi | + | ==== Gnocchi 機能 ==== |
− | * | + | * 初の influxdb ドライバー実装 |
− | ==== Aodh | + | ==== Aodh 機能 ==== |
− | * | + | * イベントアラーム (イベント受信時、アクションを実行する機能) |
− | * Trust | + | * アラームでの Trust 対応 [https://blueprints.launchpad.net/ceilometer/+spec/trust-alarm-notifier リンク]. |
− | === | + | === アップグレード時の留意事項 === |
− | * | + | * 後方互換性のため、Ceilometer で使用されていたいくつかのミドルウエア名が変更になりました。アップグレードの前に、<code>paste.ini</code> ファイルを編集し、 <code>oslo.middleware</code> を <code>oslo_middleware</code> に変更してください。例えば、<nowiki>sed -ri 's/oslo\.middleware/oslo_middleware/' api_paste.ini</nowiki> を実行する方法もあります。 |
− | * | + | * 通知エージェントは Ceilometer 中のデータ収集用コアサービスです。このサービスは全ての transformation と publishing を処理します。ポーリングエージェントは今回より、通知エージェントに全処理を委託します。これらは一緒にインストールされる必要があります。 |
− | * | + | * 強制リミットは各リクエストに適用されます。リミットが指定されない場合、デフォルトのリミットに制限されます。 |
− | === | + | === 廃止予定の機能 === |
− | * | + | * Aodh 採用により、Ceilometer の Alarm 機能は廃止予定になりました。 |
− | * | + | * トピックベースの notifier パブリッシャー採用により、RPC パブリッシャー・コレクターは廃止予定になりました。 |
− | * | + | * 非メートル法のメーターは依然廃止予定で、今後のリリースで削除される予定です。 |
== OpenStack Identity (Keystone) == | == OpenStack Identity (Keystone) == | ||
− | === | + | === 新機能 === |
− | * ''''' | + | * '''''実験的''''': 新しい REST API の使用により、ドメイン関連の設定オプションは、設定ファイルの代わりに SQL DB 上に保存できるようになりました。 |
− | * ''''' | + | * '''''実験的''''': Keystone は今回、X.509 SSL クライアント認証を用いたトークンレス認証に対応しました。 |
− | * | + | * Keystone 単位のプロバイダ WebSSO 設定に対応しました。 |
− | * <code>openstack_user_domain</code> | + | * ユーザ、プロジェクトドメインにそれぞれマッピングするため、SAML アサーションに <code>openstack_user_domain</code>、<code>openstack_project_domain</code> 属性が追加されました。 |
− | * | + | * クレデンシャル一覧 API は今回、結果をクレデンシャルタイプでフィルタリングできるようになりました。 |
− | * | + | * 安定版の Driver Interfaces 定義により、Keystone のソースコードに含まれないドライバーの対応を改善しました。 |
− | * | + | * Fernet トークン、フェデレーション、DB でのドメイン固有設定、ロール割当を含む、いくつかの機能が強化されました。 |
− | * | + | * keystone.conf 中で、ユーザの設定が有効かどうかを判断する変数が追加されました。 |
=== アップグレード時の注意 === | === アップグレード時の注意 === | ||
− | * | + | * EC2 トークンミドルウェア (Juno で廃止予定化) は今後 Keystone では利用できません。このミドルウェアは keystonemidleware パッケージに移管されました。 |
− | * | + | * <code>compute_port configuration</code> オプション (Juno で廃止予定化) も今後利用できません。 |
− | * | + | * XML ミドルウェアのスタブも削除されました。これに伴い、 <code>keystone-paste.ini</code> 設定ファイルにおける XML ミドルウェアへの参照も削除されました。 |
− | * stats_monitoring | + | * stats_monitoring とstats_reporting paste フィルタが削除されました。これに伴い、<code>keystone-paste.ini</code> 設定ファイルにおけるこれらへの参照も削除されました。 |
− | * | + | * Icehouse で廃止予定化した外部認証プラグイン ExternalDefault、ExternalDomain、LegacyDefaultDomain、LegacyDomain は今後利用できません。 |
− | * <code>keystone.conf</code> | + | * <code>keystone.conf</code> は今回、ドライバーのエントリポイント名を参照するようになりました。例えば、ドライバーがモジュールのフルパスではなく sql、ldap、uuid と指定できるようになりました。サンプル設定ファイルで他の例を参照してください。 |
− | * | + | * 今回、<code>keystone-manage</code> コマンドにファイルの代わりにエントリポイントを公開するようになりました。 |
− | * | + | * <code>keystone-manage db_sync</code> における DB スキーマのダウングレードは今後サポートされません。アップグレードのみサポートされます。 |
− | * | + | * 以前のリリースにおける拡張機能 (OAuth デリゲーション、Federated Identity 対応、エンドポイントポリシー) は今回、デフォルトで有効になりました。 |
− | * | + | * プロキシ経由での Keystone アクセスのため、新しい <code>secure_proxy_ssl_header</code> 設定オプションが利用可能になりました。 |
− | * | + | * <code>keystone.conf</code> ファイル中でいくつかの設定オプションが廃止予定、名称変更、新セクションに移動されました。 |
− | * | + | * ドメイン名情報は今回、ポリシールール中で <code>domain_name</code> 属性として利用可能になりました。 |
=== 非推奨の機能 === | === 非推奨の機能 === | ||
− | * | + | * Eventlet での Keystone 実行は廃止予定となり、Mitaka リリースで削除される予定です。 |
− | * | + | * リソースバックエンドとしての LDAP 利用 (つまり、プロジェクト用とドメイン用) は廃止予定となり、Mitaka リリースで削除される予定です。 |
− | * | + | * エントリポイント利用採用により、ドライバークラスへのフルパス利用は廃止予定になりました。Mitaka リリースでは、エントリポイントを使用しなければなりません。 |
− | * | + | * <code>keystone.conf</code> ファイル中の [resource]、[role] セクション中で、ドライバー指定なしでの assignment ドライバー利用は廃止予定になりました。Mitaka リリースでは、リソースとロールのドライバーはデフォルトで SQL ドライバーになります。 |
− | * | + | * <code>keystone-paste.ini</code> では、エントリポイントを指定する use ディレクティブ採用により、<code>paste.filter_factory</code> 利用は廃止予定になりました。 |
− | * | + | * ドメイン指定なしのユーザー、グループ、プロジェクト作成要求(従来はデフォルトドメインにフォールバックしていました)は今回廃止予定になり、Nリリースで削除される予定です。 |
− | * | + | * assignment マネージャの廃止予定メソッドは、[resource]、[role] マネージャ中の同一メソッド採用により削除されました。 |
== OpenStack Block Storage (Cinder) == | == OpenStack Block Storage (Cinder) == | ||
− | === | + | === 新機能 === |
− | * | + | * Generic image caching 機能がサポートされました。これにより、VM用イメージは初回利用時にバックエンドストレージ上にキャッシュされるため、以降はコピーオンライトにより高速な新規ボリューム作成が可能です。 [http://docs.openstack.org/admin-guide-cloud/blockstorage_image_volume_cache.html Read docs for more info] |
− | * | + | * 無停止バックアップ機能のサポート [http://docs.openstack.org/admin-guide-cloud/blockstorage_volume_backups.html Read docs for more info]. |
− | * | + | * ボリュームの Consistency Groups のクローン機能のサポート [http://docs.openstack.org/admin-guide-cloud/blockstorage-consistency-groups.html Read docs for more info]. |
− | * | + | * バックエンドストレージの機能リストの取得サポート (extra-specs に対応する機能一覧の取得) [http://docs.openstack.org/admin-guide-cloud/blockstorage_get_capabilities.html Read docs for more info]. |
− | * | + | * 階層化 quota のサポート |
− | * | + | * Thin provisioned LVM が利用可能な場合、LVMバックエンドのデフォルトとして利用します。 |
− | * | + | * ドライバーの初期化失敗時に、訂正した cinder service-list を表示することが出来ます。 |
− | * | + | * ボリュームマイグレーション管理機能の改善 |
− | ** | + | ** 以前のボリュームマイグレーション実行結果を確認できます。 |
− | ** | + | ** 管理者は、 cinder list コマンドでボリュームマイグレーションの状態を監視できます |
− | ** | + | ** マイグレーション中のボリュームに対する他のボリューム操作を防止するために、新しいボリュームの状態 maintenance が追加されました。 |
− | ** | + | ** マイグレーション完了後のバックエンドでのボリューム名・ボリュームIDの一貫性が改善されました。 |
− | === | + | === アップグレード時の注意 === |
− | * | + | * Kilo またはそれ以前のc-volまたはc-apiのサービスと、Libertyの各サービスの同時実行を防止するために、RPC APIへのパラメータの変更とObjectへの変換が導入されました。 |
− | === | + | === 非推奨の機能 === |
− | * | + | * シンプル・チャンススケジューラが削除されました |
− | * | + | * HDS HUS iSCSI ドライバーが廃止されました。 |
− | * | + | * Coraid ドライバーが廃止されました。 |
− | * | + | * Solaris iSCSI ドライバーが廃止されました。 |
− | * | + | * アタッチ中のボリュームに対するイメージアップロード機能で、 --force オプションが削除されました。 |
− | * | + | * v1 APIが廃止予定になりました。 |
== OpenStack Orchestration (Heat) == | == OpenStack Orchestration (Heat) == | ||
Line 326: | Line 325: | ||
convergence エンジンを有効にするには、/etc/heat/heat/conf ファイルの [DEFAULT] セクションに convergence_engine=true を設定して、heat-engine を再起動します。一度有効にすると、その後作成されるスタックは convergence エンジンを使用するようになりますが、既存のスタックに対する処理ではそれまでのエンジンを引き続き使用されます。 | convergence エンジンを有効にするには、/etc/heat/heat/conf ファイルの [DEFAULT] セクションに convergence_engine=true を設定して、heat-engine を再起動します。一度有効にすると、その後作成されるスタックは convergence エンジンを使用するようになりますが、既存のスタックに対する処理ではそれまでのエンジンを引き続き使用されます。 | ||
− | Convergence | + | Convergence は本番環境でテストされたもの'''ではなく'''、'''β版'''の品質と認識すべきです。注意してご利用ください。Liberty リリースでは、Convergence は評価・スケーラビリティテストの目的で有効にする事をお勧めします。Mitaka サイクルでは Convergence をデフォルトエンジンにする事を検討する予定です。Convergence 関連のバグは launchpad の[https://bugs.launchpad.net/heat/+bugs?field.tag=convergence-bugs convergence-bugs タグ]で管理されています。 |
− | ==== | + | ==== 条件付きリソース公開 ==== |
− | + | クラウドサービスに実際にインストールされたリソースのみユーザが利用可能になります。運用者は更に、[https://github.com/openstack/heat/blob/master/etc/heat/policy.json#L80 リソースタイプごとの policy.json] 中の標準的なポリシールールを用いて、利用者が利用可能なリソースをコントロールする事ができます。 | |
==== heat_template_version: 2015-10-15 ==== | ==== heat_template_version: 2015-10-15 ==== | ||
− | 2015-10-15 | + | 2015-10-15 は YAML ドキュメントが HOT テンプレートである事、Liberty リリースまでに追加/削除された機能が含まれている可能性がある事を示しています。 |
− | * | + | * Fn::Select function の削除 (パスベースの [http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#get-attr get_attr]。 [http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#get-param get_param] 参照を使用すべきです) |
− | * | + | * [http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#get-attr get_attr] API 呼出で <attribute name> が指定されなかった場合、全属性の辞書型が返却されます (例: { get_attr: [<resource name>]}) |
− | * | + | * 新しい [http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#str-split str_split] 固有機能の追加 |
− | * | + | * 既存の [http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#list-join list_join] 機能の複数行受け渡し機能を追加 |
− | * | + | * [http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#str-replace str_replace]、[http://docs.openstack.org/developer/heat/template_guide/hot_spec.html#list-join list_join] にマップ/リストのパース機能を追加 (これらは自動的に JSON でシリアライズされます) |
− | ==== REST API/heatclient | + | ==== REST API/heatclient の追加 ==== |
− | * | + | * Stack は今回、(複数の)タグを付与可能になり、stack-list はこれらのタグでフィルタリング/ソート可能になりました。 |
− | * "heat stack-preview ..." | + | * "heat stack-preview ..." は提案された stack-update の変更点のプレビューを返すようになりました。 |
− | * "heat template-validate --show-nested ..." | + | * "heat template-validate --show-nested ..." は全てのテンプレートリソースも検証するようになり、ユーザインターフェース作成に便利な、入れ子データを返すようになりました。 |
− | * "heat resource-type-template --template-type hot ..." | + | * "heat resource-type-template --template-type hot ..." は HOT 形式でテンプレートを生成します。 |
− | * "heat resource-type-list" | + | * "heat resource-type-list" はユーザが利用可能なタイプのみ表示するようになり、名前、バージョン、support_status で結果をフィルタリングできるようになりました。 |
− | * "heat template-version-list" | + | * "heat template-version-list" は利用可能なテンプレートバージョン一覧を表示します。 |
− | * "heat template-function-list ..." | + | * "heat template-function-list ..." はテンプレートバージョンの利用可能な関数一覧を表示します。 |
− | ==== | + | ==== 既存リソースの拡張 ==== |
− | * | + | * ソフトウェアのデプロイは今回、[http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Nova::Server-prop-software_config_transport ソフトウェアデータのデプロイ] と[http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Heat::SoftwareDeployment-prop-signal_transport Heat へのシグナルバック] で Zaqar が利用可能になりました。 |
− | * Stack | + | * Stack アクションは今回、リモートの [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Heat::Stack OS::Heat::Stack] リソース上で実行可能になりました。 |
− | * [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Nova::Server OS::Nova::Server] | + | * [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Nova::Server OS::Nova::Server] は今回、deletion_policy: Snapshot に対応しました。 |
− | * [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Heat::ResourceGroup-updpolicy OS::Heat::ResourceGroup update_policy] | + | * [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Heat::ResourceGroup-updpolicy OS::Heat::ResourceGroup update_policy] は今回、[http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Heat::ResourceGroup-prop-batch_create batch_create] と [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Heat::ResourceGroup-prop-rolling_update rolling_update] オプションの指定に対応しました。 |
− | ==== | + | ==== 新規リソース ==== |
− | + | 以下のリソースがこの Heat リソースで追加されました。 | |
* [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Barbican::Order OS::Barbican::Order] [1] | * [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Barbican::Order OS::Barbican::Order] [1] | ||
* [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Barbican::Secret OS::Barbican::Secret] [1] | * [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Barbican::Secret OS::Barbican::Secret] [1] | ||
Line 388: | Line 387: | ||
* [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Sahara::DataSource OS::Sahara::DataSource] | * [http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Sahara::DataSource OS::Sahara::DataSource] | ||
− | [1] | + | [1] これらは非 Integrated プロジェクト用のため、Kilo では contrib として存在していました。これらのリソースは今回、Big Tent プロジェクトとして Heat と一緒に配布されます。 |
− | [2] | + | [2] これらは admin ロールを持つユーザが必要であったため、contrib リソースとして Kilo に含まれていました。これらは今回、Heat の一部として配布されるようになりました。運用者は policy.json の修正により特権ユーザからこれらの機能を隠すことができます。(参考までに、OS::Nova::Flavor は提供されるデフォルトのポリシーファイルで admin でないユーザからアクセス出来ないようになっています) |
− | [3] | + | [3] これらは、Heat プロジェクトで承認されていないアプローチを使用していたため、Kilo では contrib リソースとして存在していました。これらは今回、Heat の一部として配布され、UNSUPPORTED として記載されています。 |
− | [4] | + | [4] これらのリソースは未だ OpenStack Big Tent プロジェクトになっていないプロジェクト用のものであるため、UNSUPPORTED として記載されています。 |
− | + | 今回、クラウド運用者が新しい OS::Keystone::* リソースを用いて、Keystone サービスカタログエントリとユーザを管理するための Heat テンプレートを利用できるようになりました。 | |
− | ==== | + | ==== 非推奨のリソースプロパティー ==== |
− | + | すでに多くのリソースプロパティーが DEPRECATED (削除予定) としてドキュメントに記載されていました。 | |
+ | これらのうち 15 個が今回 HIDDEN (隠し状態) 扱いになりました。これらは、ドキュメントからは削除される予定ですが、作成済みのスタックやテンプレートは Heat のアップグレード後も引き続き動作します。どのリソースプロパティーと属性が利用可能かを確認するには、 | ||
+ | [http://docs.openstack.org/developer/heat/template_guide/openstack.html リソースタイプレファレンス]を参照してください。 | ||
=== アップグレード時の注意 === | === アップグレード時の注意 === | ||
− | ==== | + | ==== 設定の変更 ==== |
− | + | /etc/heat/heat.conf [DEFAULT] セクションの注目すべき変更点 | |
− | * hidden_stack_tags | + | * hidden_stack_tags が追加され、指定したタグ名が含まれるスタックは stack-list の結果に表示されません (デフォルトでは、sahara-create スタックを非表示にする data-processing-cluster リストされています)。 |
− | * instance_user | + | * instance_user は非推奨になり、完全に削除されました。OS::Nova::Server リソースを使用して作成された Nova サーバーは、クラウドイメージのデフォルトのユーザー設定の構成でブートされるようになりました。 AWS::EC2::Instance は、依然として ec2-user を作成します。 |
− | * max_resources_per_stack | + | * max_resources_per_stack を -1 に設定して強制を無効にすることができるようになりました。 |
− | * enable_cloud_watch_lite | + | * enable_cloud_watch_lite は、この REST API が非推奨となったため、デフォルトで false に設定されるようになりました。 |
− | * default_software_config_transport | + | * default_software_config_transport に ZAQAR_MESSAGE のオプションが追加されました。 |
− | * default_deployment_signal_transport | + | * default_deployment_signal_transport に ZAQAR_SIGNAL のオプションが追加されました。 |
− | * auth_encryption_key | + | * auth_encryption_key は正確に 32 文字で設定する必要がある旨が記載されるようになりました。 |
− | * list_notifier_drivers | + | * list_notifier_drivers は非推奨となり、削除されました。 |
− | * | + | * ポリシーオプションが [oslo_policy] セクションに移動しました。 |
− | * use_syslog_rfc_format | + | * use_syslog_rfc_format が非推奨となり、デフォルト値は true となりました。 |
− | + | heat.conf のその他のセクションの注目すべき変更点: | |
− | * [clients_keystone] auth_uri | + | * バージョン指定なしの keystone url を指定するための [clients_keystone] auth_uri が追加されました。 |
− | * [heat_api] | + | * [heat_api] ワーカーはデフォルトで 4 に設定されるようになりました (以前は 0 で、ホスト CPU 1 つあたりで作成されるワーカー数は 1 でした)。 |
− | + | ポリシーファイル /etc/heat/policy.json が per-resource-type のアクセスポリシーで設定できるようになりました。例: | |
"resource_types:OS::Nova::Flavor": "rule:context_is_admin" | "resource_types:OS::Nova::Flavor": "rule:context_is_admin" | ||
− | ==== | + | ==== Kilo から Liberty へのアップグレード ==== |
− | + | sql のライブマイグレーションをサポートするための開発は進んでいますが、アップグレード中には、heat サービスを停止することを引き続き推奨します。下位バージョンの SQL スキーマへのマイグレーションはサポートされなくなりました。Kilo にロールバックするには、アップグレードを実行する前のデータベースのスナップショットから復元する必要があります。 | |
== OpenStack Data Processing (Sahara) == | == OpenStack Data Processing (Sahara) == | ||
Line 430: | Line 431: | ||
=== 新機能 === | === 新機能 === | ||
− | * | + | * 新しいプラグインとバージョン: |
− | ** | + | ** HDP 2.2 / 2.3 をサポートする Ambari プラグイン |
− | ** Apache Hadoop 2.7.1 | + | ** Apache Hadoop 2.7.1 が追加になり、同 2.6.0 が廃止予定に |
− | ** CDH 5.4.0 | + | ** NameNode と ResourceManager の冗長構成対応を含む CDH 5.4.0 |
− | ** MapR 5.0.0 | + | ** MapR 5.0.0 追加 |
− | ** Spark 1.3.1 | + | ** Spark 1.3.1 追加、同 1.0.0 が廃止予定に |
− | ** HDP 1.3.2 | + | ** HDP 1.3.2 と Apache Hadoop 1.2.1 対応を削除 |
− | * | + | * Spark EDP ジョブ付き Swift 利用に対応 |
− | * | + | * CDH と Ambari プラグインにおいて、Spark EDP ジョブに対応 |
− | * | + | * パブリック/プロテクトリソースに対応 |
− | * | + | * OpenStack クライアントを使用開始 |
− | * | + | * 全 Sahara リソースの編集に対応 |
− | * | + | * クラスタ用の Hadoop 自動設定を追加 |
− | * Direct | + | * Direct エンジンが廃止予定になり、Mitaka リリースで削除されます。 |
− | * | + | * ジョブバイナリーとデータソース用ストレージバックエンドオプションとして OpenStack Manila NFS 共有を追加 |
− | * | + | * EDP ジョブテンプレート用インターフェース設定の定義と利用に対応 |
=== 非推奨の機能 === | === 非推奨の機能 === | ||
− | * Direct | + | * Direct プロビジョニングエンジン |
* Apache Hadoop 2.6.0 | * Apache Hadoop 2.6.0 | ||
* Spark 1.0.0 | * Spark 1.0.0 | ||
− | * | + | * 全 Hadoop 1.X 削除 |
== OpenStack Search (Searchlight) == | == OpenStack Search (Searchlight) == | ||
Line 487: | Line 488: | ||
* Horizon プラグインは別レポジトリーになりました | * Horizon プラグインは別レポジトリーになりました | ||
* 削除済みドメインを除去 (purge) 機能 | * 削除済みドメインを除去 (purge) 機能 | ||
− | * ドメイン単位の Ceilometer | + | * ドメイン単位の Ceilometer exists 定期イベント |
* 非同期アクション | * 非同期アクション | ||
** Import | ** Import | ||
Line 504: | Line 505: | ||
** tooz が対応しているバックエンドを使用することを推奨します。 | ** tooz が対応しているバックエンドを使用することを推奨します。 | ||
** ZooKeeper が推奨ですが、 tooz が対応しているものであればどれも使用できます。 | ** ZooKeeper が推奨ですが、 tooz が対応しているものであればどれも使用できます。 | ||
− | ** tooz バックエンドを使用しない場合は、すべての zone-manager がすべてのゾーンの所有権を持っているとみなします。その結果、1 時間あたり ''''n'''' 個の | + | ** tooz バックエンドを使用しない場合は、すべての zone-manager がすべてのゾーンの所有権を持っているとみなします。その結果、1 時間あたり ''''n'''' 個の exists メッセージが送られます。 ''''n'''' は zone-manager のプロセス数です。 |
* <code>designate-pool-manager</code> は定期タスクでの active/passive フェールオーバーを行います。 | * <code>designate-pool-manager</code> は定期タスクでの active/passive フェールオーバーを行います。 | ||
Line 517: | Line 518: | ||
== OpenStack Messaging Service (Zaqar) == | == OpenStack Messaging Service (Zaqar) == | ||
− | === | + | === 主要な新機能 === |
− | * | + | * 事前署名付き URL:新しい REST API エンドポイントは、セキュリティを損なわずに、共有されるリソース全般の十分なコントロールを提供する事前署名付き URL に対応します。 |
− | * | + | * メール通知:Zaqar のサブスクライバの電子メールアドレスを扱う、通知サービス用の新しいタスクドライバー。新しいメッセージがキューにポストされた際、サブスクライバは電子メールでメッセージを受信します。 |
− | * | + | * ポリシー対応:他の殆どの OpenStack コンポーネントと同様、<code>policy.json</code> ファイルを用いた、きめの細かい権限コントロールに対応 |
− | * Persistent Transport | + | * 永続転送(Persistent Transport):Zaqar 用永続転送の代替方式として、websocket に対応しました。今回、接続の確立オーバーヘッドなしで大量データの交換をするために、ユーザは自分のアプリケーションと Zaqar の間の長時間存在する接続を作成可能になりました。 |
== OpenStack Dashboard (Horizon) == | == OpenStack Dashboard (Horizon) == | ||
Line 527: | Line 528: | ||
=== 新機能 === | === 新機能 === | ||
− | * | + | * 新しいネットワークトポロジ:ネットワークトポロジ図は折りたたみ可能なネットワークを含む対話型グラフで置換され、大規模デプロイでのスケーラビリティが大幅に改善されました (https://blueprints.launchpad.net/horizon/+spec/curvature-network-topology)。 |
− | * | + | * プラグインの改善:Horizon はインクルードする JavaScript ファイルを自動認識し、プラグイン可能な SCSS と置換用 Django テンプレート用の機構が実装されました。 |
* Compute (Nova) | * Compute (Nova) | ||
− | ** | + | ** インスタンスの shelve、unshelve に対応 (https://blueprints.launchpad.net/horizon/+spec/horizon-shelving-command) |
− | ** | + | ** v2 ブロックデバイスマッピング対応 (v2 が利用不可の場合、v1 にフェールバック) (https://blueprints.launchpad.net/horizon/+spec/horizon-block-device-mapping-v2). |
* Networking (Neutron) | * Networking (Neutron) | ||
− | ** | + | ** サブネットプール経由のサブネット割当に対応 (https://blueprints.launchpad.net/horizon/+spec/neutron-subnet-allocation) |
− | ** | + | ** フローティング IP を持つ LBaaS VIP を簡単に関連付けるアクションを追加 (https://blueprints.launchpad.net/horizon/+spec/lbaas-vip-fip-associate) |
* Images (Glance) | * Images (Glance) | ||
− | ** | + | ** メタデータエディタは AngularJS を用いて更新されました。(https://blueprints.launchpad.net/horizon/+spec/angularize-metadata-update-modals). |
− | ** | + | ** Project ダッシュボードからメタデータエディタを使用してCompute イメージメタデータを編集できるようになりました。(https://blueprints.launchpad.net/horizon/+spec/project-images-metadata) |
* Block Storage (Cinder) | * Block Storage (Cinder) | ||
− | ** | + | ** ボリュームマイグレーション対応を有効化 (https://blueprints.launchpad.net/horizon/+spec/volume-migration) |
− | ** | + | ** ボリュームタイプが編集できるようになりました (説明フィールドを含む) (https://blueprints.launchpad.net/horizon/+spec/volume-type-description). |
* Orchestration (Heat) | * Orchestration (Heat) | ||
− | ** | + | ** Heat トポロジの改善 (以前はアイコンが無く、不明なリソースとして表示されていたリソースがより区別しやすく) (https://blueprints.launchpad.net/horizon/+spec/heat-topology-display-improvement). |
* Data Processing (Sahara) | * Data Processing (Sahara) | ||
− | ** | + | ** 統合されたジョブインターフェースマップ。これは、ジョブが要求または受け入れる設定データ中で渡される、人が理解しやすい方法です (https://blueprints.launchpad.net/horizon/+spec/unified-job-interface-map-ui). |
− | ** | + | ** ジョブバイナリー用の編集機能を追加 (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-job-binaries) |
− | ** | + | ** データソースの編集機能を追加 (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-data-sources) |
− | ** | + | ** ジョブテンプレートの編集機能を追加 (https://blueprints.launchpad.net/horizon/+spec/data-processing-edit-templates). |
− | ** | + | ** クラスタ用イベントログ公開 (https://blueprints.launchpad.net/horizon/+spec/sahara-event-log). |
− | ** | + | ** シェルジョブタイプ対応を追加 (https://blueprints.launchpad.net/horizon/+spec/sahara-shell-action-form). |
* Databases (Trove) | * Databases (Trove) | ||
− | ** | + | ** 初のデータベースクラスタ作成・管理対応を追加。現在 Vertica と MongoDB に対応 (https://blueprints.launchpad.net/horizon/+spec/database-clustering-support). |
* Identity (Keystone) | * Identity (Keystone) | ||
− | ** | + | ** Identity Provider と Protocol 関連の WebSSO 用マッピングを追加 (https://github.com/openstack/horizon/commit/3b4021c0ad0e8d7b10aa8c2dcd8c13a5717c450c) |
− | ** | + | ** トークンハッシュが設定可能に (https://github.com/openstack/django_openstack_auth/commit/ece924a79d27ede1a8475d7f98e6d66bc3cffd6c と https://github.com/openstack/horizon/commit/48e651d05cbe9366884868c5331d49a501945adc) |
− | * Horizon ( | + | * Horizon (内部の改善) |
− | ** | + | ** AngularJS 中の翻訳に完全対応 (より簡単なツールを使用して) (https://blueprints.launchpad.net/horizon/+spec/angular-translate-makemessages) |
− | ** | + | ** JavaScript テスト用に Karma を追加 (https://blueprints.launchpad.net/horizon/+spec/karma) |
− | ** | + | ** JavaScript の書式チェック(linting)用に ESLint を追加 (eslint-config-openstack ルールを使用) (https://blueprints.launchpad.net/horizon/+spec/jscs-cleanup). |
− | ** Horizon | + | ** Horizon は今回、既存の Django テンプレートの上書きに対応しました (https://blueprints.launchpad.net/horizon/+spec/horizon-theme-templates). |
− | ** JavaScript | + | ** JavaScript ファイルは今回、自動的にインクルードされるようになりました (https://blueprints.launchpad.net/horizon/+spec/auto-js-file-finding) |
=== アップグレード時の注意 === | === アップグレード時の注意 === | ||
− | * | + | * 今回、Django 1.8 に対応し、同 1.7 がサポートする最小バージョンになりました。 (https://blueprints.launchpad.net/horizon/+spec/drop-django14-support). |
− | * | + | * データベースをバックエンドにしたセッションは、その構造が変更されたためアップグレード時に永続化しない模様です (https://github.com/openstack/django_openstack_auth/commit/8c64de92f4148d85704b10ea1f7bc441db2ddfee、 https://github.com/openstack/horizon/commit/ee2771ab1a855342089abe5206fc6a5071a6d99e) |
− | * Horizon | + | * Horizon は既にテストで QUnit を使用しておらず、requirements から削除されました (https://blueprints.launchpad.net/horizon/+spec/replace-qunit-tests-with-jasmine) |
− | * Horizon | + | * Horizon は今回、settings ファイル中でデフォルトの Web URL (<code>WEBROOT</code>)、静的ファイル配置 (<code>STATIC_ROOT</code>)、静的ファイル URL (<code>STATIC_URL</code>)用の設定オプションを複数設定可能になりました。 |
− | * | + | * テーマの配置場所は <code>openstack_dashboard/static/themes</code> から <code>openstack_dashboard/themes</code> に移動されました。パスは必要に応じて更新する必要があるかもしれません。それに加えて、Horizon は Bootstrap マークアップと連携するようになり、テーマもこの方法論に合わせて構築すべきです。詳細は、上部のバーと横のナビゲーションを参照してください。 |
− | * | + | * 廃止予定だった<code>OPENSTACK_QUANTUM_NETWORK</code> 設定オプションが削除されました。これをまだ使用している場合、<code>OPENSTACK_NEUTRON_NETWORK</code> で置き換えてください。 |
− | * | + | * 今回、性能上の理由で選択した拡張機能を無効化するため、settings 中の <code>OPENSTACK_NOVA_EXTENSIONS_BLACKLIST</code> オプションが新設されました。 (https://github.com/openstack/horizon/commit/18f4b752b8653c9389f8b0471eccaa0659707ebe). |
− | * Trove | + | * Trove と Sahara のパネルは <code>openstack_dashboard/contrib</code> 中に移動しました。これは、主にサービスチームによるレビュー用に分離を提供するためです。将来、これらのパネルは Horizon にて保持される代わりに、プラグインとなるかも知れません。 (https://blueprints.launchpad.net/horizon/+spec/plugin-sanity) |
− | * | + | * Cinder が v2 API を使用している場合でも、Horizon は Cinder 用の <code>volume</code> と<code>volumev2</code> 両方のエンドポイントを必要とします。 |
== OpenStack Trove (DBaaS) == | == OpenStack Trove (DBaaS) == | ||
Line 611: | Line 612: | ||
=== 新機能 === | === 新機能 === | ||
− | * ハードウェア状態として | + | * ハードウェア状態として ENROLL が追加されました。この状態は、新しく作成されたノードのデフォルトの状態となります。 |
− | * | + | * abort 操作 (verb) が追加されました。これにより、ユーザーは特定の操作を進行中であっても中断できるようになります。 |
* REST API で問い合わせとフィルタリングのサポートが改善されました。 | * REST API で問い合わせとフィルタリングのサポートが改善されました。 | ||
* CORS ミドルウェアのサポートが追加されました。 | * CORS ミドルウェアのサポートが追加されました。 | ||
Line 625: | Line 626: | ||
* Wake-On-Lan Power ドライバーが追加されました。 | * Wake-On-Lan Power ドライバーが追加されました。 | ||
* ipmitool ドライバーが IPMI v1.5 に対応しました。 | * ipmitool ドライバーが IPMI v1.5 に対応しました。 | ||
− | * | + | * APC MasterSwitchPlus シリーズの PDU 向けの SNMP ドライバーがサポートされました。 |
* pxe_ilo ドライバーが UEFI Secure Boot をサポートしました (iLO ドライバーの以前のリリースでは agent_ilo と iscsi_ilo だけが UEFI Secure Boot をサポートしていました)。 | * pxe_ilo ドライバーが UEFI Secure Boot をサポートしました (iLO ドライバーの以前のリリースでは agent_ilo と iscsi_ilo だけが UEFI Secure Boot をサポートしていました)。 | ||
* iRMC ドライバーに仮想メディアサポートが追加されました。 | * iRMC ドライバーに仮想メディアサポートが追加されました。 | ||
Line 633: | Line 634: | ||
=== 非推奨の機能 === | === 非推奨の機能 === | ||
− | * DriverInterface のメソッド | + | * DriverInterface のメソッド vendor_passthru と driver_vendor_passthru は削除されました。これらは Kilo で削除予定になっており、 @passthru デコレーターに置き換えられました。 |
− | * Nova | + | * Nova baremetal のデプロイメントからデータをインポートするマイグレーションツールは削除されました。 |
− | * 定期タスク (periodic task) デコレーターの | + | * 定期タスク (periodic task) デコレーターの parellel オプションが削除予定になりました。 |
− | * 削除予定であった | + | * 削除予定であった admin_api ポリシールールが削除されました。 |
− | * 元々の | + | * 元々の bash デプロイ RAM ディスクのサポートが削除予定になり、 2 サイクル以内に削除されます。すべてのデプロイドライバーは ironic-python-agent プロジェクトを使用すべきです。 |
=== アップグレード時の注意 === | === アップグレード時の注意 === | ||
Line 648: | Line 649: | ||
=== 新機能 === | === 新機能 === | ||
− | * | + | * プロジェクト管理者がプロジェクト単位で認証局を作成する機能を追加しました。また、プロジェクト管理者はプロジェクト単位で好みの認証局(CA)のセットを定義・管理可能になりました。これは、プロジェクトがプロジェクト独自のセキュリティドメインを実現できるようにします。 |
− | * Barbican | + | * Barbican は今回、プロジェクト配下で作成可能な Barbican リソースの数量制限用にプロジェクト単位のクォータサポートを実装しました。デフォルトでは、クォータは無制限に設定され、Barbican の設定で上書きできるようになっています。 |
− | * | + | * プロジェクトレベルキーの内包 (wrap) に使用されるマスターキーのローテーションに対応しました。この軽量アプローチでは、プロジェクトレベルキー (KEK) のみが新しいマスターキー (MKEK) に再度内包されます。(http://specs.openstack.org/openstack/barbican-specs/specs/liberty/add-crypto-mkek-rotation-support-lightweight.html) |
− | * | + | * Keystone、Nova、Manila フォーマットにマッチするバージョン情報を返すための Barbican のルートリソース更新に対応しました。これは keystoneclient のバージョン付きエンドポイント検出機能で使用されます。 |
− | * | + | * 管理者用操作が全て通常のエンドポイントで可能になったため、管理者エンドポイントが削除されました。Oslo ポリシー経由でアクセス制御が適用されるため、エンドポイントを分ける必要がなくなったのです。 |
− | * | + | * SQL 接続の管理用に sqlalchemy プールを有効にする設定を追加しました。 |
− | * | + | * GET /v1/secrets?acl-only=true リクエストを使用する ACL 経由でアクセス可能なシークレット一覧機能を追加しました。 |
− | * | + | * ACL 操作、RBAC ポリシー、シークレット関連の Barbican API 周りの機能テストのカバレッジを改善しました。 |
− | * | + | * SnakeOil CA プラグインインスタンス作成関連の問題を修正しました。 |
− | * Barbican | + | * Barbican クライアント CLI は今回、認証に Keystone トークンを利用可能になりました。 |
− | * Barbican | + | 以前はユーザ名+パスワードベースの認証のみ対応していました。 |
+ | * Barbican クライアントは今回、認証命令の作成・一覧表示機能を実装しました。 | ||
=== アップグレード時の注意 === | === アップグレード時の注意 === | ||
− | * | + | * プロジェクトシークレット関連テーブルを削除しました。シークレットプロジェクトの関連性は外部キーで管理されます。詳細は http://specs.openstack.org/openstack/barbican-specs/specs/liberty/data-remove-tenant-secret-assoc.html を参照してください。 |
− | * | + | * Barbican 設定ファイルが <code>barbican.conf</code> に名称変更されました。 |
== OpenStack Image Service (Glance) == | == OpenStack Image Service (Glance) == | ||
− | + | サービスの運用、インストール、設定、開発、使用に関する詳細を含む、更新されたプロジェクトガイド: http://docs.openstack.org/developer/glance/ | |
=== 新機能 === | === 新機能 === | ||
− | * | + | * 署名付きイメージのアップロードに対応しました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/image-signing-and-verification-support.html を参照してください。 |
− | * | + | * イメージの並列遅延削除が可能になりました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/scrub-images-in-parallel.html を参照してください。 |
− | * | + | * Glance ノードの状態をヘルスチェックミドルウェアで監視できるようになりました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/healtcheck-middleware.html を参照してください。 |
− | * | + | * 【実験的な】Artifacts API が利用可能になりました。注:本 API は標準 API となるまでに将来変更される可能性があります。 |
− | * S3 | + | * S3 ストアは今回、プロキシに対応しました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/http-proxy-support-for-s3.html を参照してください。 |
− | * Swift | + | * Swift ストアは今回、v3 認証に対応しました。 |
− | * python-glanceclient | + | * python-glanceclient は今回、Keystone セッションのいくつかの先進機能に対応しました。 |
− | * python-glanceclient | + | * python-glanceclient は今回、Metadata Definition Catalog 用タグに対応しました。 |
=== アップグレード時の注意 === | === アップグレード時の注意 === | ||
− | * | + | * 今回、python-glanceclient はデフォルトで Glance API v2 を使用し、v2 が利用不可の場合は v1 にフェールバックするようになりました。 |
− | * | + | * 指定された各バックエンドストアに依存して、バックエンドストアの依存関係はオプション的にインストールされるようになりました。 |
− | * | + | * Swift, S3, VMawre などのバックエンドストアは今回、Python 3 に対応しました。 |
− | * | + | * デフォルトのメタデータ定義の更新と同様にいくつかの新しいものはソースコードと一緒に公開されます。 |
− | * | + | * 更なる Python 3 対応が Glance API に追加され、今回互換性を確保するためのテストを用いて、継続対応が強化されました。 |
− | * | + | * 今回、MySQL DB バックエンドのデフォルト文字コードが UTF-8 になりました。 |
− | * | + | * マイグレーションスクリプトが更新され、テーブルの文字コードをチェックするようになりました。 |
− | * | + | * スキーマの ram_disk、kernel 属性が NULL を許容するようになり、id が v2 API で読込専用属性になりました。 |
− | * | + | * <code>client_socket_timeout</code> 設定オプションが追加され、最近の eventlet ソケットタイムアウトの挙動を恩恵を得られるようになりました。 |
− | * | + | * <code>scrub_pool_size</code> 設定オプションが追加され、scrubber の並列スレッド数を設定できるようになりました(デフォルトは1)。 |
− | * | + | * Glance v1 API を用いて、イメージの状態を変更できる重要なバグが修正されました。 |
=== 非推奨の機能 === | === 非推奨の機能 === | ||
− | * | + | * 実験的なカタログインデックスサービスは削除され、今回 Searchlight と呼ばれる分離プロジェクトになりました。 |
− | * | + | * scrubber 用のファイルベースのキューが削除された事に伴い、<code>scrubber_datadir</code>、<code>cleanup_scrubber</code>、<code>cleanup_scrubber_time</code> 設定オプションは削除されました。 |
== OpenStack Shared File System (Manila) == | == OpenStack Shared File System (Manila) == | ||
Line 703: | Line 705: | ||
=== 新機能 === | === 新機能 === | ||
− | * | + | * アベイラビリティゾーンに対応しました。 |
− | * | + | * インスタンスを共用するための管理者 API コンポーネントを追加しました。 |
− | * | + | * プールウェイトを追加し、Manila スケジューラが新しい共有を既存の共有サーバを持つプール上に配置できるようになりました。 |
− | * | + | * あるホストプールから別のホストプールへの共有マイグレーションに対応しました。(実験的) |
− | * | + | * 汎用ドライバーで共有の容量拡張機能を追加しました。 |
− | * | + | * 一貫性グループに対応しました。これにより、複数のファイルシステム共有のスナップショットを同時に作成できるようになります。(実験的) |
− | * | + | * NetApp cDOT ドライバーと汎用ドライバーで一貫性グループに対応しました。 |
− | * | + | * シンプロビジョニングでオーバーサブスクリプション (容量超過) に対応しました。 |
− | * | + | * 新しい Windows SMB ドライバー: |
− | ** | + | ** Windows サービスインスタンスと SMB 共有の公開に対応しました。 |
− | * | + | * Manila API サービスのトータルのスループットを向上する新しい <code>osapi_share_workers</code> 設定オプションを追加しました。 |
− | * | + | * 共有フック機能を追加しました。これにより、ドライブ共有メソッド呼出しの前後、N秒ごとに呼び出される追加の定期実行フック、ドライバーのアクション結果の更新でアクションを実行する事ができるようになります。 |
− | * | + | * NetApp cDOT ドライバーの改善: |
− | ** | + | ** 新しい Manila 共有をバックアップする flexvol 作成用の netapp:dedup、 netapp:compression 変数を追加しました。 |
− | ** | + | ** 管理/管理解除と shrink_share に対応しました。 |
− | ** | + | ** <code>extended_share</code> API コンポーネントに対応しました。 |
− | ** | + | ** ストレージアレイと通信する netapp-lib PyPI プロジェクトに対応しました。 |
− | * | + | * HP 3PAR ドライバーの改善: |
− | ** | + | ** 重複排除、シンプロビジョニング、hp3par_flash_cache 機能のレポートに対応しました。これらは、共有タイプと CapabilitiesFilter が要求された機能を持つホスト上で共有が配置できるようにします。 |
− | ** | + | ** 共有サーバ対応を追加しました。 |
− | * | + | * Huawei Manila ドライバーの改善: |
− | ** | + | ** ストレージプール、extend_share、manage_existing、shrink_share、リードオンリー共有、smartcache、smartpartition 対応を追加しました。 |
− | ** | + | ** 重複排除、シンプロビジョニング、圧縮機能のレポートに対応しました。 |
− | * | + | * VNX Manila ドライバーでアクセスレベル対応を追加しました。 |
− | * | + | * Manila HDS HNAS ドライバー対応を追加しました。 |
− | * | + | * GlusterFS 専用ドライバーを追加しました。 |
− | ** GlusterFS | + | ** GlusterFS ドライバーは今回、互換共有レイアウトの一覧を指定できるようになりました。 |
− | * | + | * v2 API にマイクロバージョン対応を追加しました。 |
=== 非推奨の機能 === | === 非推奨の機能 === | ||
− | * | + | * <code>share_reset_status</code> API コンポーネントは廃止予定となり、<code>share_instance_reset_status</code> で置換されました。 |
Latest revision as of 14:12, 5 November 2015
OpenStack Liberty リリースノート
Contents
- 1 OpenStack Liberty リリースノート
- 1.1 OpenStack Object Storage (Swift)
- 1.2 OpenStack Networking (Neutron)
- 1.3 OpenStack Compute (Nova)
- 1.4 OpenStack Telemetry (Ceilometer)
- 1.5 OpenStack Identity (Keystone)
- 1.6 OpenStack Block Storage (Cinder)
- 1.7 OpenStack Orchestration (Heat)
- 1.8 OpenStack Data Processing (Sahara)
- 1.9 OpenStack Search (Searchlight)
- 1.10 OpenStack DNS (Designate)
- 1.11 OpenStack Messaging Service (Zaqar)
- 1.12 OpenStack Dashboard (Horizon)
- 1.13 OpenStack Trove (DBaaS)
- 1.14 OpenStack Bare metal (Ironic)
- 1.15 OpenStack Key Manager (Barbican)
- 1.16 OpenStack Image Service (Glance)
- 1.17 OpenStack Shared File System (Manila)
OpenStack Object Storage (Swift)
リリースノート全文は https://github.com/openstack/swift/blob/master/CHANGELOG を参照してください。
新機能
- object-server とレプリケーションサーバーの設定ファイルの [DEFAULT] 設定セクション中の servers_per_port 設定値を正の整数にすることで、object-servers-per-disk (ディスク単位のオブジェクトサーバー) を複数にすることができるようになりました。この設定の整数値は、Ring 内の1つのローカルポートに対して、何個の object-server ワーカーがリクエストを処理するかを決定します。このモードでは、親となる swift-object-server プロセスが元々のユーザの実行を継続します (小さいポート番号のバインドが必要な場合はユーザーは root になります)。このプロセスは Ring 内で定義された全てのポートをバインドします。その後、親プロセスはリッスンソケット毎に指定された数のワーカーを fork します。子プロセス (ポート毎のサーバー) は特権を破棄し、object-server ワーカーの通常の動作と同じ動作をしますが、1つ例外があります: Ring はディスク単位に一意なポートを持ち、object-server は1つのディスクに対するリクエストのみ処理します。親プロセスはワーカープロセスが死んだ事を検知し、(適切なリッスンソケットを持つ) ワーカープロセスを再起動します。Ring ファイルの更新があり、そのサーバーに新しいポートを持つデバイスが見つかった場合、親プロセスは不足しているサーバを新たに実行します。また、Ring にもはや存在しないポートがある場合、それらのポートを持っていた余分のサーバを停止します。最長でも、 object-server 設定ファイル中の ring_check_interval パラメーター (デフォルトは 15秒) で設定された期間内には、 Ring ファイルの内容が反映されます。テストでは、既存の workers 設定に比べ、このデプロイ設定 (値 3) が応答遅延を最も削減し、秒間リクエストを改善し、低速なディスク I/O の影響が分離されます。この機能を使用するには、各デバイスは異なるポートを使用して Ring に追加する必要があります。
- object server に container_update_timeout 設定 (デフォルトは 1秒) が追加されました。この値は、オブジェクトの PUT 操作の結果を返す前に、 object server が container server による一覧更新を待つ秒数です。従来、object server は container server の応答を最大3秒待っていました。新しい動作では、クラスタ中の container server がビジーの際 (例えば、コンテナが非常に大きい場合)、オブジェクトの PUT 時の遅延を劇的に削減します。この値を必要以上に小さく設定すると、クライアントのオブジェクト PUT 時に、そのオブジェクトがすぐに一覧表示に現れないことになります。この値を必要以上に大きく設定すると、container server がビジーの際にクライアントへの遅延が大きくなることになります。
- Static Large Object (SLO) セグメントの範囲指定ができるようになりました。
- SLO PUT でセグメント単位の整合性チェックをしなくてもよくなりました。従来、マニフェスト中で参照されている各セグメントは、正しい etag とバイト設定を必要としていました。今回、これらのフィールドに「null」を指定して、指定されたセグメントに対する特定のチェックをスキップできるようになりました。
- Replicator 設定で今回 rsync_module という値がサポートされました。この値を指定すると、デバイス単位の rsync モジュールを利用できるようになります。この設定により、運用者は、Swift クラスタ中のレプリケーションを細かく調整し、特定のデバイスに対するレプリケーションのディスク I/O を分離できます。詳細な情報と設定例は、ドキュメントとサンプル設定ファイルを参照してください。
- Ring の変更
- ポート番号は今後、パーティションの配置に使用されなくなりました。これにより、ドライブ毎に object server を 1 つ動かしている小規模クラスタ中のデータ分散が改善されます。 サーバー毎に object server を 1 つ動かしているクラスタには影響はありません。
- Ringの運用管理操作で、テストと確認をより簡単に行うため、ring-builder-analyzer ツールを追加しました。
- Ring 検証で同じデバイスに対するパーティション配置が複数回行われた場合、警告を出すようになりました。この状態は、Ring 中のデバイスが平準化されていない場合に発生します (例えば、2サーバのうち1台が明らかに大きな容量を持っているなど)。
- TempURLの修正 (CVE-2015-5223)
tempurl への PUT で、他のデータへのポインタを作ることができなくなりました。特に、 tempurl への PUT による DLO オブジェクトマニフェストの作成が禁止されました。これにより、DLO オブジェクトマニフェストを作成し、その tempurl への PUT を使ってオブジェクトに対する HEAD を行うといった、tempurl への PUT を使ったプライベートデータに対する発見可能性攻撃が防止できます。
- SwiftはStatsDのメトリクスをポリシー毎に出力するようになりました。
- Keystoneを利用した際に、サービストークンがリクエストに含まれていない場合にも、サービスアカウントに対する COPY リクエストが成功する可能性があるという問題を修正しました。
- Bulk アップロードで、アップロードされたアーカイブ内のファイルのユーザ xattr が、作成されたオブジェクトのメタデータとして保存されるようになりました
- handoff_first か handoff_delete が設定されている場合、 object-replicator で はwarning logが出力されます。
- swift-recon で object-replicatorの失敗数が有効になりました。
- ストレージポリシーのサポートが swift-dispersion ツールに追加されました。
- Keystone v3 のドメインが swift-dispersion ツールでサポートされました。
- domain_remap ミドルウェアの情報が /info エンドポイントに追加されました。
- domain_remap ミドルウェアの設定で default_reseller_prefix のサポートが追加されました。
- rsync_compress という設定で rsync の圧縮機能が使えるようになりました。これを True に設定すると、別のリージョンのデバイスへの転送時にのみ転送データが圧縮されます。これによりリージョン間のデータ転送が高速化できる可能性があります。
- swift-recon で時刻同期チェックのオプションが追加されました。(--timeオプション)
- account-reaper が大きなアカウントに対してより高速に動作するようになりました。
- これ以外にも多くの小さなバグ修正や改善がありました。
アップグレード時の注意点
- 依存パッケージの変更
- sixパッケージが必要になりました。これは現在進められている Python3 対応に向けた変更です。
- Python 2.6のサポートを終了しました。
- 設定の変更
- 直近のバージョンの Python では 1 リクエストあたりの HTTP ヘッダー数を100に制限しています。この数値はカスタムミドルウェアでは小さすぎる場合があります。swift.conf 中の extra_header_count という新しい設定値を使って許容するヘッダー数を増やすことができます。
- run_pause 設定は interval に名前が変更されました (現在は run_pause のままでも動作します)。将来的にはrun_pause 設定は削除される可能性があります。
- バージョン付き書き込み (Object Versioning) 機能のリファクタリングが行われ、ミドルウェアとして再実装されました。 proxy の pipeline に明示的にversioned_writes ミドルウェアを追加する必要がありますが、 container サーバーの設定で allow_versions を有効にしている場合にはこの設定を削除したり無効にしたりしてはいけません。既存のcontainer サーバー設定は既存のコンテナーで versioningを有効にするのに必要です。詳しいアップグレード時の注意については http://swift.openstack.org/middleware.html#how-to-enable-object-versioning-in-a-swift-cluster を参照してください。
OpenStack Networking (Neutron)
新機能
- Neutron は IPv6 サブネットに対する CIDR の自動割当において IPv6 プレフィックスデリゲーションに対応しました。この機能の利用、設定に関する詳細な情報は、OpenStack Networking Guide を参照してください。
- Neutron で QoS API が利用できるようになりました。最初の機能としてポートレベルの帯域幅制限機能が提供されます。この機能の API、CLI、設定、追加情報は [1] にあります。
- ルータ高可用性(L3 HA/VRRP)が、レイヤー2ポピュレーション(l2pop)が有効の場合にも機能するようになりました。
- VPNaaS リファレンスドライバーが HA ルータ上で動作するようになりました。
- HA ルータの VRRP トラフィック用に使用されるネットワークを、特定のセグメントタイプまたは物理ネットワークタグを使用して設定できるようになりました。[2]
- OVS エージェントをデータプレーンの接続性に影響を与えずに再起動できるようになりました。
- Neutron は、ネットワークに対してロールベースアクセス制御 (RBAC) が利用できるようになりました。[3]
- LBaaS V2 リファレンスドライバーが Octavia (事業者品質のスケーラブルで高信頼なロードバランサプラットフォーム) ベースになりました。
- LBaaS V2 API は今回のリリースで実験的機能 (experimental) でなくなりました。安定版 (stable) となりました。
- Neutron は、管理者が手動でエージェントをスケジューリングする方法を提供するようになりました。これにより、テナントが利用できるようにする前に、ホストのリソースをテストできるようになりました。[4]
- プラグイン型の IP アドレス管理 (IPAM) フレームワークが実装されました。これにより、サードパーティー製 IPAM や代替機能を利用可能になります。デフォルトでは、以前からの非プラグイン版の IPAM が有効になります。
廃止予定や廃止されたプラグインとドライバー
- metaplugin は Liberty リリースで削除されました。
- IBM SDN-VE 一体型プラグインは Liberty リリースで削除されました。
- Cisco N1kV 一体型プラグインは Liberty リリースで削除されました(ML2 メカニズムドライバーで置換されました)
- Embrane プラグインは廃止予定になり、Mitaka リリースで廃止されます。
廃止予定の機能
- FWaaS API は Liberty では実験的機能(experimental) の扱いです。今後、現在の API が Mitaka で削除され、(Neutron チームが開発中の)新しい FWaaS API で置換される予定です。
- LBaaS V1 API は廃止予定となり、将来のリリースで削除される予定です。今後は LBaaS V2 API を使用すべきです。
- L3 エージェントの external_network_bridge オプションは廃止予定となりました。 bridge_mapping の physnet 指定を使用してください。詳細な情報は、ネットワーキングガイドの Network Node の節を参照してください。http://docs.openstack.org/networking-guide/scenario_legacy_ovs.html
性能に関する留意事項
- Trusty Tahr に含まれるカーネル (3.13) は、ネームスペース数の増加に伴い「ip netns exec」の実行時の性能が線形に劣化します。スケーラビリティーが重要な場合、より後のバージョンのカーネル (例えば 3.19) を使うべきです。【3.13 のどのバージョンでこの問題が発生するかを明記する必要がある。ほとんどのバージョンではこの問題は既に修正済みである】
[注意] この問題は Trusty Thar の 3.13.0-36.63 以降のカーネルバージョンで修正済みです。詳細は次の URL を参照してください。 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1328088
- Octavia ドライバー使用時には、ハードウェア仮想化のない環境での Neutron-LBaaS ロードバランサの作成が遅くなる可能性があります。これは、ハードウェア仮想化なしの環境では QEMU が KVM アクセラレータではなく TCG アクセラレータを使用するためです。Octavia ドライバーを仮想環境内で使用する場合、コンピュートノード上でハードウェア仮想化を有効にするか、nested virtualization (訳注:仮想化環境上の仮想化支援機構) を有効にすることをお勧めします。KVM 内で実行される DevStack で nested virtualization をセットアップする詳細な方法は、次のリンクを参照してください。http://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html
OpenStack Compute (Nova)
新機能
API
- 全てのエンドポイントのデフォルトが v2.1 に変更され、v2.0 と v1.1 は新しい互換モードが使用されるようになりました。これにより、既存 API ユーザの移行透過性が確保されます。(https://blueprints.launchpad.net/nova/+spec/api-relax-validation)
- Evacuate は耐障害性が向上しました (未完成)。 (https://blueprints.launchpad.net/nova/+spec/robustify-evacuate)
- 新しいmark host down/force down API。これにより、外部の高可用性ツールがホスト障害イベントをNova に通知できるようになりました。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/mark-host-down.html).
- コンソール取得 API 群の統合 (https://blueprints.launchpad.net/nova/+spec/consolidate-console-api)
- os-fixed-ips API で reserved 状態を表示 (https://blueprints.launchpad.net/nova/+spec/show-reserved-status-in-os-fixed-ips-api)
- admin 以外のユーザが ip6 サーバサーチ可能に (https://blueprints.launchpad.net/nova/+spec/allow-ip6-search-for-non-admin)
- テナントアクセス追加前のフレーバタイプ確認 (https://blueprints.launchpad.net/nova/+spec/check-flavor-type-before-add-tenant)
- rebuild_instance における on_shared_storage フラグが省略可能に (https://blueprints.launchpad.net/nova/+spec/optional-on-shared-storage-flag-in-rebuild-instance)
- データベースのレイヤーからポリシーチェックを削除。これにより、今回から API レイヤーのみポリシーチェックが存在します。 (https://blueprints.launchpad.net/nova/+spec/nova-api-policy-final-part)
- 仮想インターフェース一覧 API のレスポンス中に VIF net-id を追加 (https://blueprints.launchpad.net/nova/+spec/add-vif-net-id-in-vif-list)
- glance イメージのメタ属性を NovaObject に変換 (未完成) (https://blueprints.launchpad.net/nova/+spec/convert-image-meta-into-nova-object)
- サーバの GET レスポンスにロック情報を追加 (https://blueprints.launchpad.net/nova/+spec/add-locking-information-in-server-get-response)
- admin ユーザがキーペア閲覧可能に (https://blueprints.launchpad.net/nova/+spec/admin-query-any-keypair)
- メタデータ:liberty バージョンのメタデータに project_id を追加 (https://blueprints.launchpad.net/nova/+spec/project-id-in-metadata)
- メタデータ:ネットワークテンプレートエンジンにルート情報を挿入 (https://blueprints.launchpad.net/nova/+spec/network-template-routes-injection)
- メタデータ:API:ゲストインスタンスに対して Neutron 設定をプロキシ (未完成) (https://blueprints.launchpad.net/nova/+spec/metadata-service-network-info)
スケジューラー
scheduler の構造革新は継続中で、これに伴い重要なバグ修正が行われました。
- オブジェクトモデルにサーバ作成のリクエストスペックが追加されました (未完成) (https://blueprints.launchpad.net/nova/+spec/request-spec-object)
- リソース割当比率が scheduler からリソーストラッカーに移管されました。(https://blueprints.launchpad.net/nova/+spec/allocation-ratio-to-resource-tracker)
- ホスト間のインスタンス移動の各種操作のリソーストラッキングを修正 (https://blueprints.launchpad.net/nova/+spec/migration-fix-resource-tracking)
- scheduler から NoValidHost を返す際のユーザへのフィードバックを改善 (http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/add_exceeded_max_retries_exception.html)
Cells v2
Cells v2 は現在使用可能な状態にありませんが、Cells v2 を支えるインフラのいくつかが追加されました。
- Cells ホストマッピング (https://blueprints.launchpad.net/nova/+spec/cells-host-mapping)
- Cells インスタンスマイグレーション (https://blueprints.launchpad.net/nova/+spec/cells-instance-migration)
Compute ドライバーの機能
Libvirt
- Libvirt ボリュームドライバーは os-brick ライブラリを使うようになりました。これにより、Nova と CInder の間でボリュームの検出と削除ロジックを共用できるようになりました。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/use-os-brick-library.html)
- live_migration_completion_timeout と live_migration_progress_timeout 設定パラメータが追加されました。これらは、ライブマイグレーションの実行時間に上限を設け、特に処理が中断された場合に効果を発揮します。(https://launchpad.net/bugs/1429220)
- ライブマイグレーションの間、最大ダウンタイム設定を管理・計測する機能が追加されました。これにより、大きなサイズのゲストのライブマイグレーションが無事終わる可能性を向上します (https://launchpad.net/bugs/1429220)
- 同時処理するライブマイグレーション数の上限を設定可能に (https://launchpad.net/bugs/1478108)
- hw_vif_multiqueue_enabled イメージプロパティが true の場合 (デフォルトは false)、ゲストの vCPU に関連して VirtIO キューのスケーリングが可能に(オプション)。これにより、複数 vCPU のゲスト、複数の同時ネットワーク接続、それに伴うラージパケットサイズの場合にネットワーク性能が向上します。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/libvirt-virtiomq.html)
- ゲストOS上に QEMU ゲストエージェントがインストールされており、hw_qemu_guest_agent イメージプロパティで有効になっている場合、admin がゲストの Administrator/root のパスワードを設定可能に。(http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/libvirt-set-admin-password.html)
- ブリッジを使用する代わりに、VM データのルーティングを可能にする新しい VIF タイプ(https://blueprints.launchpad.net/nova/+spec/vif-type-tap)
- Libvirt 仮想化用に InfiniBand SR-IOV サポート (https://blueprints.launchpad.net/nova/+spec/vif-driver-ib-passthrough)
- Libvirt 仮想化用の新しい仮想インターフェースタイプとして MacVTap を追加 (https://blueprints.launchpad.net/nova/+spec/libvirt-macvtap-vif)
- ファイルシステムスタイルの Libvirt ドライバーを集約 (https://blueprints.launchpad.net/nova/+spec/consolidate-libvirt-fs-volume-drivers)
- EMC ScaleIO Data Client (SDC) Libvirt ボリュームドライバー(https://blueprints.launchpad.net/nova/+spec/emc-sdc-libvirt-volume-driver)
- Libvirt 用に rsync ベースのリモートファイルシステムドライバーを実装 (https://blueprints.launchpad.net/nova/+spec/remote-fs-driver)
- Virtuozzo コンテナのボリューム起動 (https://blueprints.launchpad.net/nova/+spec/virtuozzo-container-boot-from-volume)
- os-brick を使用した、HGST ボリュームタイプ対応を追加 (https://blueprints.launchpad.net/nova/+spec/add-os-brick-volume-driver-hgst-solutions)
- virtio-net マルチキュー (未完成) (https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-net-multiqueue)
VMware
- VMware ドライバーのドメインメタデータ (https://blueprints.launchpad.net/nova/+spec/vmware-driver-domain-metadata)
- メモリ、ディスク、仮想NICの帯域制御 (未完成) (https://blueprints.launchpad.net/nova/+spec/vmware-limits)
- VMware ネイティブな HTML5 コンソール (https://blueprints.launchpad.net/nova/+spec/vmware-webmks-console)
- VMware ドライバーにおけるスワップディスク対応 (https://blueprints.launchpad.net/nova/+spec/vmware-swap-support)
- VMware NSXv 対応 (https://blueprints.launchpad.net/nova/+spec/vmware-nsxv-support)
- VMware: VMware ドライバーにおけるコンソールログ対応 (未完成) (https://blueprints.launchpad.net/nova/+spec/vmware-console-log)
Hyper-V
- Hyper-V ユニットテストのリファクタリング (未完成、継続中) (https://blueprints.launchpad.net/nova/+spec/hyper-v-test-refactoring-liberty)
Ironic
- Ironic ドライバーへのインスタンス名伝達 (https://blueprints.launchpad.net/nova/+spec/pass-down-instance-name-to-ironic-driver)
その他の機能
- AggregateTypeAffinityFilter に複数の instance_type 名を指定可能に (https://blueprints.launchpad.net/nova/+spec/aggregatetypeaffinityfilter-multi-value-support).
- 実験的なオンライン DB スキーマ変更オプションを追加 (https://blueprints.launchpad.net/nova/+spec/online-schema-changes)
- サンプルの設定ファイル生成の改善 (https://blueprints.launchpad.net/nova/+spec/oslo-config-generator)
- データベースバックエンドに DB2 を追加 (https://blueprints.launchpad.net/nova/+spec/db2-database)
- Cells:different_cells scheduler フィルタ (https://blueprints.launchpad.net/nova/+spec/cells-scheduler-anti-affinity-filter)
- Python 3.4 対応に向けた作業を開始 (https://blueprints.launchpad.net/nova/+spec/nova-python3)
- いくつかのNova サービスが Apache2 配下で実行可能に (https://blueprints.launchpad.net/nova/+spec/run-nova-services-under-apache2)
- アップグレード:全般的なサービスバージョン番号を追加 (https://blueprints.launchpad.net/nova/+spec/service-version-number)
- Nova の rootwrap をデーモンとして実行 (https://blueprints.launchpad.net/nova/+spec/nova-rootwrap-daemon-mode)
- Nova の instances テーブルから scheduled_at 列を削除 (https://blueprints.launchpad.net/nova/+spec/cleanup-scheduled-at)
- DEFAULT グループに新しい設定項目 handle_virt_lifecycle_events を追加。これにより、virt ドライバーからのインスタンスライフサイクルイベント用のイベントコールバックハンドラを無効化できるようになります(この設定項目は Liberty の Libvirt, Hyper-V ドライバーでのみ実装)。これは主に、過負荷状況下でコールバックが競合状態になり、実行中のインスタンスのシャットダウンのような問題を引き起こす場合の回避策を提供します。詳細は https://review.openstack.org/#/c/159275/ 参照。
アップグレード時の注意
- 安定版の Kilo からのバージョンアップの場合、Liberty をデプロイする前に確実に Kilo 系列の最新バージョンに完全にアップグレードしてください。https://bugs.launchpad.net/nova/+bug/1474074 バグ修正以前の Kilo では、Liberty ノードとの通信時に問題が発生する可能性があります。
- RAM と CPU の割当比率は今回、nova-compute の中で(つまり compute ノード単位で)定義されるようになりました。比率はまた、scheduler サービスでも定義する必要があります。compute ノードを Kilo または Liberty のどちらで動かすかによって、割当比率の挙動が異なります。compute ノードを Kilo で動かす場合、compute ノード上の CPU と RAM の割当比率は controller の nova.conf ファイルの設定値となります。compute ノードを Liberty で動かす場合、compute ノード単位で CPU・RAM 両方の割当比率を設定可能です。全 compute ノードの割当比率を運用者に提供する場合、(controller ノードも含めて) nova.conf 中でデフォルトの割当比率を 0.0 にします。この値は、割当比率が実際に 0.0 になる訳ではなく、単に運用者が次のリリース(=Mitaka)までにこの値を設定する必要がある事を意味しています。はっきりさせておきたいのは、デフォルトの割当比率はいまだに cpu_allocation_ratio=16、ram_allocation_ratio=1.5 という事です。
- 新しい network-vif-deleted イベント (https://review.openstack.org/#/c/187871/) の関係で、Neutron サービスのアップグレード前に nova-compute を Liberty のコードにアップグレードすべきです。
- Liberty へのアップグレード前に rootwrap フィルタに touch コマンドを追加しなければなりません。
- Launchpad Bug 1256838 で指摘された imagebackend と imagecache の間の競合状態があります。
- imagebackend がベースイメージをインスタンス用パスにコピーしている最中にベースイメージが ImageCacheManager によって削除された場合、インスタンスはエラー状態になります。
- この問題を解決するため、https://review.openstack.org/#/c/217579/ の変更に伴い compute.filters に touch コマンドを追加する必要があります。
- 競合状態の場合、imagebackend がイメージをコピーしている最中に Libvirt がベースファイルの所有者を libvirt-qemu に変更する時、os.utime を使用してファイルのアクセス時刻を更新する際に permission denied error が発生します。このエラーの解決のため、root ユーザ特権の touch コマンドを使用して、ベースファイルのアクセス時刻を更新する必要があるのです。
- DiskFilter は Liberty より、scheduler_default_filters の一部となりました。https://review.openstack.org/#/c/207942/
- 今回より1つの vCenter クラスタを単一の nova-compute ノードでマッピングできるようになりました。https://review.openstack.org/#/c/103916/
- Libvirt の parallels ドライバーは virtuozzo と名称変更されました。
- 使用されていない iscsi_targets、volumes テーブルが削除されました。
- デフォルトの paste.ini は全てのエンドポイントで新しい v2.1 API を使用するよう更新され、v3 エンドポイントは削除されました。互換モードミドルウェアは v2.1 のバリデーションを /v2, /v1.1 エンドポイントで緩和するために使用されます。
- DB スキーマダウングレードのコードが今回削除されました。https://blueprints.launchpad.net/nova/+spec/nova-no-downward-sql-migration
- 我々がテストに使用するデフォルトの DB ドライバーは今回、Python-MySQL ではなく pymysql になりました。
- powervm hv_type 定義は削除されました。この変更は、イメージメタデータ中の hv_type=powervm の古いイメージを使用している PowerVC driver on stackforge のユーザにのみ影響します。
- Mitaka リリースにおける Libvirt の最小バージョンは 0.10.2 になる予定です。Libvirt < 0.10.2 対応は Liberty で廃止予定になりました。https://review.openstack.org/#/c/183220/
- libvirt.remove_unused_kernels 設定オプションは廃止予定になり、今回デフォルトで True となりました。https://review.openstack.org/#/c/182315/
非推奨の機能
- ツリー API 拡張の無効化オプションが廃止予定になりました。(https://blueprints.launchpad.net/nova/+spec/nova-api-deprecate-extensions)
- 2.21.0 より novaclient.v1_1 モジュールが廃止予定になりました。[[5]][[6]] また、Mitaka リリースで最初の python-novaclient から上記を削除する予定です。
- 2.29.0 より `novaclient.client.get_client_class` メソッドが廃止予定になりました。[[7]] このメソッドは Mitaka で削除されます。
- Cells での使用を含め、weighter の mute_weight_value オプションが廃止予定になりました。
- Libvirtドライバー用の remove_unused_kernels 設定オプションが今回、廃止予定になりました。
- vcenter ドライバーで使用する vCenter の最小要求バージョンが今回、5.1.0 になりました。5.0 以前を使用している場合、Liberty では警告ログとして記録されますが、Mitaka では 5.0 以前のバージョンの対応は削除されます。
- V3 API 固有のコンポーネントは全て廃止予定となり、デフォルトの paste.ini より削除されました。
OpenStack Telemetry (Ceilometer)
主要な新機能
- アラームサービスを扱う Aodh の新設
- メタデータキャッシュ (nova API ポーリング負荷低減)
- Declarative (宣言型)メーター
- メーター定義テンプレートでの定義により、メーターを生成可能
- ポーリングする特定の SNMP メーターを定義可能
- Ceilometer から Gnocchi へのデータ送信に対応
- 強制リミット (制限クエリのリミットを強制)。このリミットはクエリの際に明確に提供されなければならず、提供されない場合はデフォルトのリミットに制限されます。
- 分散協調型の通知エージェント (複数の通知エージェント間で処理負荷を分割可能に)
- イベント RBAC 対応
- PowerVM ハイパーバイザ対応
- MongoDB クエリ対応の改善 (統計の計算で性能向上)
- 新しいメーター対応
- Magnum メーター
- DBaaS メーター
- DNSaaS メーター
Gnocchi 機能
- 初の influxdb ドライバー実装
Aodh 機能
- イベントアラーム (イベント受信時、アクションを実行する機能)
- アラームでの Trust 対応 リンク.
アップグレード時の留意事項
- 後方互換性のため、Ceilometer で使用されていたいくつかのミドルウエア名が変更になりました。アップグレードの前に、
paste.ini
ファイルを編集し、oslo.middleware
をoslo_middleware
に変更してください。例えば、sed -ri 's/oslo\.middleware/oslo_middleware/' api_paste.ini を実行する方法もあります。 - 通知エージェントは Ceilometer 中のデータ収集用コアサービスです。このサービスは全ての transformation と publishing を処理します。ポーリングエージェントは今回より、通知エージェントに全処理を委託します。これらは一緒にインストールされる必要があります。
- 強制リミットは各リクエストに適用されます。リミットが指定されない場合、デフォルトのリミットに制限されます。
廃止予定の機能
- Aodh 採用により、Ceilometer の Alarm 機能は廃止予定になりました。
- トピックベースの notifier パブリッシャー採用により、RPC パブリッシャー・コレクターは廃止予定になりました。
- 非メートル法のメーターは依然廃止予定で、今後のリリースで削除される予定です。
OpenStack Identity (Keystone)
新機能
- 実験的: 新しい REST API の使用により、ドメイン関連の設定オプションは、設定ファイルの代わりに SQL DB 上に保存できるようになりました。
- 実験的: Keystone は今回、X.509 SSL クライアント認証を用いたトークンレス認証に対応しました。
- Keystone 単位のプロバイダ WebSSO 設定に対応しました。
- ユーザ、プロジェクトドメインにそれぞれマッピングするため、SAML アサーションに
openstack_user_domain
、openstack_project_domain
属性が追加されました。 - クレデンシャル一覧 API は今回、結果をクレデンシャルタイプでフィルタリングできるようになりました。
- 安定版の Driver Interfaces 定義により、Keystone のソースコードに含まれないドライバーの対応を改善しました。
- Fernet トークン、フェデレーション、DB でのドメイン固有設定、ロール割当を含む、いくつかの機能が強化されました。
- keystone.conf 中で、ユーザの設定が有効かどうかを判断する変数が追加されました。
アップグレード時の注意
- EC2 トークンミドルウェア (Juno で廃止予定化) は今後 Keystone では利用できません。このミドルウェアは keystonemidleware パッケージに移管されました。
-
compute_port configuration
オプション (Juno で廃止予定化) も今後利用できません。 - XML ミドルウェアのスタブも削除されました。これに伴い、
keystone-paste.ini
設定ファイルにおける XML ミドルウェアへの参照も削除されました。 - stats_monitoring とstats_reporting paste フィルタが削除されました。これに伴い、
keystone-paste.ini
設定ファイルにおけるこれらへの参照も削除されました。 - Icehouse で廃止予定化した外部認証プラグイン ExternalDefault、ExternalDomain、LegacyDefaultDomain、LegacyDomain は今後利用できません。
-
keystone.conf
は今回、ドライバーのエントリポイント名を参照するようになりました。例えば、ドライバーがモジュールのフルパスではなく sql、ldap、uuid と指定できるようになりました。サンプル設定ファイルで他の例を参照してください。 - 今回、
keystone-manage
コマンドにファイルの代わりにエントリポイントを公開するようになりました。 -
keystone-manage db_sync
における DB スキーマのダウングレードは今後サポートされません。アップグレードのみサポートされます。 - 以前のリリースにおける拡張機能 (OAuth デリゲーション、Federated Identity 対応、エンドポイントポリシー) は今回、デフォルトで有効になりました。
- プロキシ経由での Keystone アクセスのため、新しい
secure_proxy_ssl_header
設定オプションが利用可能になりました。 -
keystone.conf
ファイル中でいくつかの設定オプションが廃止予定、名称変更、新セクションに移動されました。 - ドメイン名情報は今回、ポリシールール中で
domain_name
属性として利用可能になりました。
非推奨の機能
- Eventlet での Keystone 実行は廃止予定となり、Mitaka リリースで削除される予定です。
- リソースバックエンドとしての LDAP 利用 (つまり、プロジェクト用とドメイン用) は廃止予定となり、Mitaka リリースで削除される予定です。
- エントリポイント利用採用により、ドライバークラスへのフルパス利用は廃止予定になりました。Mitaka リリースでは、エントリポイントを使用しなければなりません。
-
keystone.conf
ファイル中の [resource]、[role] セクション中で、ドライバー指定なしでの assignment ドライバー利用は廃止予定になりました。Mitaka リリースでは、リソースとロールのドライバーはデフォルトで SQL ドライバーになります。 -
keystone-paste.ini
では、エントリポイントを指定する use ディレクティブ採用により、paste.filter_factory
利用は廃止予定になりました。 - ドメイン指定なしのユーザー、グループ、プロジェクト作成要求(従来はデフォルトドメインにフォールバックしていました)は今回廃止予定になり、Nリリースで削除される予定です。
- assignment マネージャの廃止予定メソッドは、[resource]、[role] マネージャ中の同一メソッド採用により削除されました。
OpenStack Block Storage (Cinder)
新機能
- Generic image caching 機能がサポートされました。これにより、VM用イメージは初回利用時にバックエンドストレージ上にキャッシュされるため、以降はコピーオンライトにより高速な新規ボリューム作成が可能です。 Read docs for more info
- 無停止バックアップ機能のサポート Read docs for more info.
- ボリュームの Consistency Groups のクローン機能のサポート Read docs for more info.
- バックエンドストレージの機能リストの取得サポート (extra-specs に対応する機能一覧の取得) Read docs for more info.
- 階層化 quota のサポート
- Thin provisioned LVM が利用可能な場合、LVMバックエンドのデフォルトとして利用します。
- ドライバーの初期化失敗時に、訂正した cinder service-list を表示することが出来ます。
- ボリュームマイグレーション管理機能の改善
- 以前のボリュームマイグレーション実行結果を確認できます。
- 管理者は、 cinder list コマンドでボリュームマイグレーションの状態を監視できます
- マイグレーション中のボリュームに対する他のボリューム操作を防止するために、新しいボリュームの状態 maintenance が追加されました。
- マイグレーション完了後のバックエンドでのボリューム名・ボリュームIDの一貫性が改善されました。
アップグレード時の注意
- Kilo またはそれ以前のc-volまたはc-apiのサービスと、Libertyの各サービスの同時実行を防止するために、RPC APIへのパラメータの変更とObjectへの変換が導入されました。
非推奨の機能
- シンプル・チャンススケジューラが削除されました
- HDS HUS iSCSI ドライバーが廃止されました。
- Coraid ドライバーが廃止されました。
- Solaris iSCSI ドライバーが廃止されました。
- アタッチ中のボリュームに対するイメージアップロード機能で、 --force オプションが削除されました。
- v1 APIが廃止予定になりました。
OpenStack Orchestration (Heat)
新機能
Convergence
convergence は新しいオーケストレーションエンジンで、heat ツリーの中で開発が進められています。Liberty では、convergence エンジンを使用する利点として以下のような点があります。
- リソース処理の並列度の改善 (大規模テンプレートのスケーラビリティーの改善)
- すでに更新が処理中のものに対して stack-update が実行可能
- heat-engine 障害に対する処理の改善 (開発中)
convergence エンジンを有効にするには、/etc/heat/heat/conf ファイルの [DEFAULT] セクションに convergence_engine=true を設定して、heat-engine を再起動します。一度有効にすると、その後作成されるスタックは convergence エンジンを使用するようになりますが、既存のスタックに対する処理ではそれまでのエンジンを引き続き使用されます。
Convergence は本番環境でテストされたものではなく、β版の品質と認識すべきです。注意してご利用ください。Liberty リリースでは、Convergence は評価・スケーラビリティテストの目的で有効にする事をお勧めします。Mitaka サイクルでは Convergence をデフォルトエンジンにする事を検討する予定です。Convergence 関連のバグは launchpad のconvergence-bugs タグで管理されています。
条件付きリソース公開
クラウドサービスに実際にインストールされたリソースのみユーザが利用可能になります。運用者は更に、リソースタイプごとの policy.json 中の標準的なポリシールールを用いて、利用者が利用可能なリソースをコントロールする事ができます。
heat_template_version: 2015-10-15
2015-10-15 は YAML ドキュメントが HOT テンプレートである事、Liberty リリースまでに追加/削除された機能が含まれている可能性がある事を示しています。
- Fn::Select function の削除 (パスベースの get_attr。 get_param 参照を使用すべきです)
- get_attr API 呼出で <attribute name> が指定されなかった場合、全属性の辞書型が返却されます (例: { get_attr: [<resource name>]})
- 新しい str_split 固有機能の追加
- 既存の list_join 機能の複数行受け渡し機能を追加
- str_replace、list_join にマップ/リストのパース機能を追加 (これらは自動的に JSON でシリアライズされます)
REST API/heatclient の追加
- Stack は今回、(複数の)タグを付与可能になり、stack-list はこれらのタグでフィルタリング/ソート可能になりました。
- "heat stack-preview ..." は提案された stack-update の変更点のプレビューを返すようになりました。
- "heat template-validate --show-nested ..." は全てのテンプレートリソースも検証するようになり、ユーザインターフェース作成に便利な、入れ子データを返すようになりました。
- "heat resource-type-template --template-type hot ..." は HOT 形式でテンプレートを生成します。
- "heat resource-type-list" はユーザが利用可能なタイプのみ表示するようになり、名前、バージョン、support_status で結果をフィルタリングできるようになりました。
- "heat template-version-list" は利用可能なテンプレートバージョン一覧を表示します。
- "heat template-function-list ..." はテンプレートバージョンの利用可能な関数一覧を表示します。
既存リソースの拡張
- ソフトウェアのデプロイは今回、ソフトウェアデータのデプロイ とHeat へのシグナルバック で Zaqar が利用可能になりました。
- Stack アクションは今回、リモートの OS::Heat::Stack リソース上で実行可能になりました。
- OS::Nova::Server は今回、deletion_policy: Snapshot に対応しました。
- OS::Heat::ResourceGroup update_policy は今回、batch_create と rolling_update オプションの指定に対応しました。
新規リソース
以下のリソースがこの Heat リソースで追加されました。
- OS::Barbican::Order [1]
- OS::Barbican::Secret [1]
- OS::Ceilometer::GnocchiAggregationByMetricsAlarm [1]
- OS::Ceilometer::GnocchiAggregationByResourcesAlarm [1]
- OS::Ceilometer::GnocchiResourcesAlarm [1]
- OS::Cinder::VolumeType [2]
- OS::Designate::Domain
- OS::Designate::Record
- OS::Heat::None
- OS::Heat::TestResource
- OS::Keystone::Endpoint
- OS::Keystone::Group [2]
- OS::Keystone::GroupRoleAssignment
- OS::Keystone::Project [2]
- OS::Keystone::Role [2]
- OS::Keystone::Service
- OS::Keystone::User [2]
- OS::Keystone::UserRoleAssignment
- OS::Magnum::BayModel
- OS::Manila::SecurityService
- OS::Manila::Share
- OS::Manila::ShareNetwork
- OS::Manila::ShareType
- OS::Mistral::CronTrigger
- OS::Mistral::Workflow
- OS::Monasca::AlarmDefinition [4]
- OS::Monasca::Notification [4]
- OS::Neutron::ExtraRoute [3]
- OS::Nova::Flavor [2]
- OS::Sahara::DataSource
[1] これらは非 Integrated プロジェクト用のため、Kilo では contrib として存在していました。これらのリソースは今回、Big Tent プロジェクトとして Heat と一緒に配布されます。
[2] これらは admin ロールを持つユーザが必要であったため、contrib リソースとして Kilo に含まれていました。これらは今回、Heat の一部として配布されるようになりました。運用者は policy.json の修正により特権ユーザからこれらの機能を隠すことができます。(参考までに、OS::Nova::Flavor は提供されるデフォルトのポリシーファイルで admin でないユーザからアクセス出来ないようになっています)
[3] これらは、Heat プロジェクトで承認されていないアプローチを使用していたため、Kilo では contrib リソースとして存在していました。これらは今回、Heat の一部として配布され、UNSUPPORTED として記載されています。
[4] これらのリソースは未だ OpenStack Big Tent プロジェクトになっていないプロジェクト用のものであるため、UNSUPPORTED として記載されています。
今回、クラウド運用者が新しい OS::Keystone::* リソースを用いて、Keystone サービスカタログエントリとユーザを管理するための Heat テンプレートを利用できるようになりました。
非推奨のリソースプロパティー
すでに多くのリソースプロパティーが DEPRECATED (削除予定) としてドキュメントに記載されていました。 これらのうち 15 個が今回 HIDDEN (隠し状態) 扱いになりました。これらは、ドキュメントからは削除される予定ですが、作成済みのスタックやテンプレートは Heat のアップグレード後も引き続き動作します。どのリソースプロパティーと属性が利用可能かを確認するには、 リソースタイプレファレンスを参照してください。
アップグレード時の注意
設定の変更
/etc/heat/heat.conf [DEFAULT] セクションの注目すべき変更点
- hidden_stack_tags が追加され、指定したタグ名が含まれるスタックは stack-list の結果に表示されません (デフォルトでは、sahara-create スタックを非表示にする data-processing-cluster リストされています)。
- instance_user は非推奨になり、完全に削除されました。OS::Nova::Server リソースを使用して作成された Nova サーバーは、クラウドイメージのデフォルトのユーザー設定の構成でブートされるようになりました。 AWS::EC2::Instance は、依然として ec2-user を作成します。
- max_resources_per_stack を -1 に設定して強制を無効にすることができるようになりました。
- enable_cloud_watch_lite は、この REST API が非推奨となったため、デフォルトで false に設定されるようになりました。
- default_software_config_transport に ZAQAR_MESSAGE のオプションが追加されました。
- default_deployment_signal_transport に ZAQAR_SIGNAL のオプションが追加されました。
- auth_encryption_key は正確に 32 文字で設定する必要がある旨が記載されるようになりました。
- list_notifier_drivers は非推奨となり、削除されました。
- ポリシーオプションが [oslo_policy] セクションに移動しました。
- use_syslog_rfc_format が非推奨となり、デフォルト値は true となりました。
heat.conf のその他のセクションの注目すべき変更点:
- バージョン指定なしの keystone url を指定するための [clients_keystone] auth_uri が追加されました。
- [heat_api] ワーカーはデフォルトで 4 に設定されるようになりました (以前は 0 で、ホスト CPU 1 つあたりで作成されるワーカー数は 1 でした)。
ポリシーファイル /etc/heat/policy.json が per-resource-type のアクセスポリシーで設定できるようになりました。例:
"resource_types:OS::Nova::Flavor": "rule:context_is_admin"
Kilo から Liberty へのアップグレード
sql のライブマイグレーションをサポートするための開発は進んでいますが、アップグレード中には、heat サービスを停止することを引き続き推奨します。下位バージョンの SQL スキーマへのマイグレーションはサポートされなくなりました。Kilo にロールバックするには、アップグレードを実行する前のデータベースのスナップショットから復元する必要があります。
OpenStack Data Processing (Sahara)
新機能
- 新しいプラグインとバージョン:
- HDP 2.2 / 2.3 をサポートする Ambari プラグイン
- Apache Hadoop 2.7.1 が追加になり、同 2.6.0 が廃止予定に
- NameNode と ResourceManager の冗長構成対応を含む CDH 5.4.0
- MapR 5.0.0 追加
- Spark 1.3.1 追加、同 1.0.0 が廃止予定に
- HDP 1.3.2 と Apache Hadoop 1.2.1 対応を削除
- Spark EDP ジョブ付き Swift 利用に対応
- CDH と Ambari プラグインにおいて、Spark EDP ジョブに対応
- パブリック/プロテクトリソースに対応
- OpenStack クライアントを使用開始
- 全 Sahara リソースの編集に対応
- クラスタ用の Hadoop 自動設定を追加
- Direct エンジンが廃止予定になり、Mitaka リリースで削除されます。
- ジョブバイナリーとデータソース用ストレージバックエンドオプションとして OpenStack Manila NFS 共有を追加
- EDP ジョブテンプレート用インターフェース設定の定義と利用に対応
非推奨の機能
- Direct プロビジョニングエンジン
- Apache Hadoop 2.6.0
- Spark 1.0.0
- 全 Hadoop 1.X 削除
OpenStack Search (Searchlight)
今回が Searchlight の最初のリリースです。Searchlight は、ユーザーの検索要求をオフロードすることで、様々な OpenStack サービスの検索機能と検索性能を劇的に改善することを目的としています。Searchlight は、Keystone の RBAC ベースの、OpenStack サービスにまたがる検索を提供します。OpenStack サービスのデータを ElasticSearch に登録し、要求された検索クエリーに対するセキュリティーレイヤーを提供しています。ElasticSearch は Lucene を使った検索エンジンです。分散でスケーラブルな、リアルタイムに近い、多面的な、マルチテナントに対応した、全文検索エンジンで 、RESTful なウェブインタフェースを持っています。
Key New Features
- Searchlight Search API: OpenStack のリソースタイプ単位の API を ElasticSearch ネイティブクエリーとしてサポート
- Bulk Indexing CLI: searchlight-manage インデックス作成コマンドラインインターフェース
- 更新に基づく差分通知
- リソースタイプのプラグインシステム: リソースのインデクシングと検索の追加と管理用
- Devstack 対応
インデックスが作成された新たなリソースタイプ
- OS::Nova::Server Nova サーバーインスタンス
- OS::Glance::Image & OS::Glance::Metadef Glance イメージとメタデータ定義
- OS::Designate::Zone & OS::Designate::RecordSet Designate ドメインとレコードセット
アップグレード時の注意
なし
非推奨の機能
なし
OpenStack DNS (Designate)
新機能
- 実験的機能: Hook Point API
- Horizon プラグインは別レポジトリーになりました
- 削除済みドメインを除去 (purge) 機能
- ドメイン単位の Ceilometer exists 定期イベント
- 非同期アクション
- Import
- Export
- designate-pool-manager の定期タスクでの active/passive フェールオーバー
- OpenStack クライアント対応
追加された DNS Server バックエンド
- InfoBlox
- Designate
アップグレード時の注意
- 新しいサービス
designate-zone-manager
- tooz が対応しているバックエンドを使用することを推奨します。
- ZooKeeper が推奨ですが、 tooz が対応しているものであればどれも使用できます。
- tooz バックエンドを使用しない場合は、すべての zone-manager がすべてのゾーンの所有権を持っているとみなします。その結果、1 時間あたり 'n' 個の exists メッセージが送られます。 'n' は zone-manager のプロセス数です。
-
designate-pool-manager
は定期タスクでの active/passive フェールオーバーを行います。- tooz が対応しているバックエンドを使用することを推奨します。
- tooz バックエンドを使用しない場合、すべての pool-manager がすべてのゾーンの所有権を持っているとみなします。その結果、定期タスクが複数回実行され、予期しない結果になる可能性があります。
非推奨の機能
- V1 API
- 将来的に削除予定です。 V1 に対して通信する Designate CLI インタフェースが必要な操作がまだあります。 Horizon パネルは V1 のみを使用しています。
OpenStack Messaging Service (Zaqar)
主要な新機能
- 事前署名付き URL:新しい REST API エンドポイントは、セキュリティを損なわずに、共有されるリソース全般の十分なコントロールを提供する事前署名付き URL に対応します。
- メール通知:Zaqar のサブスクライバの電子メールアドレスを扱う、通知サービス用の新しいタスクドライバー。新しいメッセージがキューにポストされた際、サブスクライバは電子メールでメッセージを受信します。
- ポリシー対応:他の殆どの OpenStack コンポーネントと同様、
policy.json
ファイルを用いた、きめの細かい権限コントロールに対応 - 永続転送(Persistent Transport):Zaqar 用永続転送の代替方式として、websocket に対応しました。今回、接続の確立オーバーヘッドなしで大量データの交換をするために、ユーザは自分のアプリケーションと Zaqar の間の長時間存在する接続を作成可能になりました。
OpenStack Dashboard (Horizon)
新機能
- 新しいネットワークトポロジ:ネットワークトポロジ図は折りたたみ可能なネットワークを含む対話型グラフで置換され、大規模デプロイでのスケーラビリティが大幅に改善されました (https://blueprints.launchpad.net/horizon/+spec/curvature-network-topology)。
- プラグインの改善:Horizon はインクルードする JavaScript ファイルを自動認識し、プラグイン可能な SCSS と置換用 Django テンプレート用の機構が実装されました。
- Compute (Nova)
- インスタンスの shelve、unshelve に対応 (https://blueprints.launchpad.net/horizon/+spec/horizon-shelving-command)
- v2 ブロックデバイスマッピング対応 (v2 が利用不可の場合、v1 にフェールバック) (https://blueprints.launchpad.net/horizon/+spec/horizon-block-device-mapping-v2).
- Networking (Neutron)
- サブネットプール経由のサブネット割当に対応 (https://blueprints.launchpad.net/horizon/+spec/neutron-subnet-allocation)
- フローティング IP を持つ LBaaS VIP を簡単に関連付けるアクションを追加 (https://blueprints.launchpad.net/horizon/+spec/lbaas-vip-fip-associate)
- Images (Glance)
- メタデータエディタは AngularJS を用いて更新されました。(https://blueprints.launchpad.net/horizon/+spec/angularize-metadata-update-modals).
- Project ダッシュボードからメタデータエディタを使用してCompute イメージメタデータを編集できるようになりました。(https://blueprints.launchpad.net/horizon/+spec/project-images-metadata)
- Block Storage (Cinder)
- ボリュームマイグレーション対応を有効化 (https://blueprints.launchpad.net/horizon/+spec/volume-migration)
- ボリュームタイプが編集できるようになりました (説明フィールドを含む) (https://blueprints.launchpad.net/horizon/+spec/volume-type-description).
- Orchestration (Heat)
- Heat トポロジの改善 (以前はアイコンが無く、不明なリソースとして表示されていたリソースがより区別しやすく) (https://blueprints.launchpad.net/horizon/+spec/heat-topology-display-improvement).
- Data Processing (Sahara)
- 統合されたジョブインターフェースマップ。これは、ジョブが要求または受け入れる設定データ中で渡される、人が理解しやすい方法です (https://blueprints.launchpad.net/horizon/+spec/unified-job-interface-map-ui).
- ジョブバイナリー用の編集機能を追加 (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-job-binaries)
- データソースの編集機能を追加 (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-data-sources)
- ジョブテンプレートの編集機能を追加 (https://blueprints.launchpad.net/horizon/+spec/data-processing-edit-templates).
- クラスタ用イベントログ公開 (https://blueprints.launchpad.net/horizon/+spec/sahara-event-log).
- シェルジョブタイプ対応を追加 (https://blueprints.launchpad.net/horizon/+spec/sahara-shell-action-form).
- Databases (Trove)
- 初のデータベースクラスタ作成・管理対応を追加。現在 Vertica と MongoDB に対応 (https://blueprints.launchpad.net/horizon/+spec/database-clustering-support).
- Identity (Keystone)
- Identity Provider と Protocol 関連の WebSSO 用マッピングを追加 (https://github.com/openstack/horizon/commit/3b4021c0ad0e8d7b10aa8c2dcd8c13a5717c450c)
- トークンハッシュが設定可能に (https://github.com/openstack/django_openstack_auth/commit/ece924a79d27ede1a8475d7f98e6d66bc3cffd6c と https://github.com/openstack/horizon/commit/48e651d05cbe9366884868c5331d49a501945adc)
- Horizon (内部の改善)
- AngularJS 中の翻訳に完全対応 (より簡単なツールを使用して) (https://blueprints.launchpad.net/horizon/+spec/angular-translate-makemessages)
- JavaScript テスト用に Karma を追加 (https://blueprints.launchpad.net/horizon/+spec/karma)
- JavaScript の書式チェック(linting)用に ESLint を追加 (eslint-config-openstack ルールを使用) (https://blueprints.launchpad.net/horizon/+spec/jscs-cleanup).
- Horizon は今回、既存の Django テンプレートの上書きに対応しました (https://blueprints.launchpad.net/horizon/+spec/horizon-theme-templates).
- JavaScript ファイルは今回、自動的にインクルードされるようになりました (https://blueprints.launchpad.net/horizon/+spec/auto-js-file-finding)
アップグレード時の注意
- 今回、Django 1.8 に対応し、同 1.7 がサポートする最小バージョンになりました。 (https://blueprints.launchpad.net/horizon/+spec/drop-django14-support).
- データベースをバックエンドにしたセッションは、その構造が変更されたためアップグレード時に永続化しない模様です (https://github.com/openstack/django_openstack_auth/commit/8c64de92f4148d85704b10ea1f7bc441db2ddfee、 https://github.com/openstack/horizon/commit/ee2771ab1a855342089abe5206fc6a5071a6d99e)
- Horizon は既にテストで QUnit を使用しておらず、requirements から削除されました (https://blueprints.launchpad.net/horizon/+spec/replace-qunit-tests-with-jasmine)
- Horizon は今回、settings ファイル中でデフォルトの Web URL (
WEBROOT
)、静的ファイル配置 (STATIC_ROOT
)、静的ファイル URL (STATIC_URL
)用の設定オプションを複数設定可能になりました。 - テーマの配置場所は
openstack_dashboard/static/themes
からopenstack_dashboard/themes
に移動されました。パスは必要に応じて更新する必要があるかもしれません。それに加えて、Horizon は Bootstrap マークアップと連携するようになり、テーマもこの方法論に合わせて構築すべきです。詳細は、上部のバーと横のナビゲーションを参照してください。 - 廃止予定だった
OPENSTACK_QUANTUM_NETWORK
設定オプションが削除されました。これをまだ使用している場合、OPENSTACK_NEUTRON_NETWORK
で置き換えてください。 - 今回、性能上の理由で選択した拡張機能を無効化するため、settings 中の
OPENSTACK_NOVA_EXTENSIONS_BLACKLIST
オプションが新設されました。 (https://github.com/openstack/horizon/commit/18f4b752b8653c9389f8b0471eccaa0659707ebe). - Trove と Sahara のパネルは
openstack_dashboard/contrib
中に移動しました。これは、主にサービスチームによるレビュー用に分離を提供するためです。将来、これらのパネルは Horizon にて保持される代わりに、プラグインとなるかも知れません。 (https://blueprints.launchpad.net/horizon/+spec/plugin-sanity) - Cinder が v2 API を使用している場合でも、Horizon は Cinder 用の
volume
とvolumev2
両方のエンドポイントを必要とします。
OpenStack Trove (DBaaS)
新機能
- Redis
- Redis の設定グループ
- クラスター対応
- MongoDB
- 1つのインスタンスのバックアップとリストア
- ユーザー管理とデータベース管理
- 設定グループ (Configuration Groups)
- Percona XtraDB クラスターサーバー
- クラスター対応
- オペレーターによる、特定のデータストアに対してインスタンスフレーバーの関連付けをサポート
- Horizon でのデータベースクラスターのサポート
- データストアとバージョンの管理 API
- Trove インスタンスを 1 つの管理テナントに作成できるようになりました。これにより、Nova インスタンスがユーザーに見えなくなります。
OpenStack Bare metal (Ironic)
Ironic はリリースモデルを変更し、開発サイクルの途中でもリリースを行うモデルになりました。 Liberty ではバージョン 4.0 がリリースされ、その後 2 回マイナーアップデートがありました。バージョン 4.2 が OpenStack 全体の Liberty リリースの1つとして扱われ、安定版の更新の対象となります。
詳細なリリースノートはこちらを参照してください: http://docs.openstack.org/developer/ironic/releasenotes/index.html
新機能
- ハードウェア状態として ENROLL が追加されました。この状態は、新しく作成されたノードのデフォルトの状態となります。
- abort 操作 (verb) が追加されました。これにより、ユーザーは特定の操作を進行中であっても中断できるようになります。
- REST API で問い合わせとフィルタリングのサポートが改善されました。
- CORS ミドルウェアのサポートが追加されました。
ハードウェアドライバー
- ハードウェアドライバーに新しく BootInterface が追加されました。これは DeployInterface から機能を分離したものです。
- iLO 仮想メディアドライバーが Swift なしで動作するようになりました。
- Cisco IMC ドライバーが追加されました。
- OCS ドライバーが追加されました。
- UCS ドライバーが追加されました。
- Wake-On-Lan Power ドライバーが追加されました。
- ipmitool ドライバーが IPMI v1.5 に対応しました。
- APC MasterSwitchPlus シリーズの PDU 向けの SNMP ドライバーがサポートされました。
- pxe_ilo ドライバーが UEFI Secure Boot をサポートしました (iLO ドライバーの以前のリリースでは agent_ilo と iscsi_ilo だけが UEFI Secure Boot をサポートしていました)。
- iRMC ドライバーに仮想メディアサポートが追加されました。
- DRAC ドライバーに BIOS 設定が追加されました。
- PXE ドライバーで GRUB2 がサポートされました。
非推奨の機能
- DriverInterface のメソッド vendor_passthru と driver_vendor_passthru は削除されました。これらは Kilo で削除予定になっており、 @passthru デコレーターに置き換えられました。
- Nova baremetal のデプロイメントからデータをインポートするマイグレーションツールは削除されました。
- 定期タスク (periodic task) デコレーターの parellel オプションが削除予定になりました。
- 削除予定であった admin_api ポリシールールが削除されました。
- 元々の bash デプロイ RAM ディスクのサポートが削除予定になり、 2 サイクル以内に削除されます。すべてのデプロイドライバーは ironic-python-agent プロジェクトを使用すべきです。
アップグレード時の注意
- 新しく作成されたノードは、新しく追加された ENROLL 状態になります。以前は、ノードの初期状態は AVAILABLE でした。 AVAILABLE の場合、ハードウェアが準備ができる前に Nova に公開されてしまう可能性があります。
- Kilo で API バージョンヘッダーが追加されました。そのため、Liberty API と通信しようとするクライアントは適切なバージョン文字列を各 HTTP リクエストで渡さなければいけません。現在の API バージョンは 1.14 です。
OpenStack Key Manager (Barbican)
新機能
- プロジェクト管理者がプロジェクト単位で認証局を作成する機能を追加しました。また、プロジェクト管理者はプロジェクト単位で好みの認証局(CA)のセットを定義・管理可能になりました。これは、プロジェクトがプロジェクト独自のセキュリティドメインを実現できるようにします。
- Barbican は今回、プロジェクト配下で作成可能な Barbican リソースの数量制限用にプロジェクト単位のクォータサポートを実装しました。デフォルトでは、クォータは無制限に設定され、Barbican の設定で上書きできるようになっています。
- プロジェクトレベルキーの内包 (wrap) に使用されるマスターキーのローテーションに対応しました。この軽量アプローチでは、プロジェクトレベルキー (KEK) のみが新しいマスターキー (MKEK) に再度内包されます。(http://specs.openstack.org/openstack/barbican-specs/specs/liberty/add-crypto-mkek-rotation-support-lightweight.html)
- Keystone、Nova、Manila フォーマットにマッチするバージョン情報を返すための Barbican のルートリソース更新に対応しました。これは keystoneclient のバージョン付きエンドポイント検出機能で使用されます。
- 管理者用操作が全て通常のエンドポイントで可能になったため、管理者エンドポイントが削除されました。Oslo ポリシー経由でアクセス制御が適用されるため、エンドポイントを分ける必要がなくなったのです。
- SQL 接続の管理用に sqlalchemy プールを有効にする設定を追加しました。
- GET /v1/secrets?acl-only=true リクエストを使用する ACL 経由でアクセス可能なシークレット一覧機能を追加しました。
- ACL 操作、RBAC ポリシー、シークレット関連の Barbican API 周りの機能テストのカバレッジを改善しました。
- SnakeOil CA プラグインインスタンス作成関連の問題を修正しました。
- Barbican クライアント CLI は今回、認証に Keystone トークンを利用可能になりました。
以前はユーザ名+パスワードベースの認証のみ対応していました。
- Barbican クライアントは今回、認証命令の作成・一覧表示機能を実装しました。
アップグレード時の注意
- プロジェクトシークレット関連テーブルを削除しました。シークレットプロジェクトの関連性は外部キーで管理されます。詳細は http://specs.openstack.org/openstack/barbican-specs/specs/liberty/data-remove-tenant-secret-assoc.html を参照してください。
- Barbican 設定ファイルが
barbican.conf
に名称変更されました。
OpenStack Image Service (Glance)
サービスの運用、インストール、設定、開発、使用に関する詳細を含む、更新されたプロジェクトガイド: http://docs.openstack.org/developer/glance/
新機能
- 署名付きイメージのアップロードに対応しました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/image-signing-and-verification-support.html を参照してください。
- イメージの並列遅延削除が可能になりました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/scrub-images-in-parallel.html を参照してください。
- Glance ノードの状態をヘルスチェックミドルウェアで監視できるようになりました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/healtcheck-middleware.html を参照してください。
- 【実験的な】Artifacts API が利用可能になりました。注:本 API は標準 API となるまでに将来変更される可能性があります。
- S3 ストアは今回、プロキシに対応しました。詳細は http://specs.openstack.org/openstack/glance-specs/specs/liberty/http-proxy-support-for-s3.html を参照してください。
- Swift ストアは今回、v3 認証に対応しました。
- python-glanceclient は今回、Keystone セッションのいくつかの先進機能に対応しました。
- python-glanceclient は今回、Metadata Definition Catalog 用タグに対応しました。
アップグレード時の注意
- 今回、python-glanceclient はデフォルトで Glance API v2 を使用し、v2 が利用不可の場合は v1 にフェールバックするようになりました。
- 指定された各バックエンドストアに依存して、バックエンドストアの依存関係はオプション的にインストールされるようになりました。
- Swift, S3, VMawre などのバックエンドストアは今回、Python 3 に対応しました。
- デフォルトのメタデータ定義の更新と同様にいくつかの新しいものはソースコードと一緒に公開されます。
- 更なる Python 3 対応が Glance API に追加され、今回互換性を確保するためのテストを用いて、継続対応が強化されました。
- 今回、MySQL DB バックエンドのデフォルト文字コードが UTF-8 になりました。
- マイグレーションスクリプトが更新され、テーブルの文字コードをチェックするようになりました。
- スキーマの ram_disk、kernel 属性が NULL を許容するようになり、id が v2 API で読込専用属性になりました。
-
client_socket_timeout
設定オプションが追加され、最近の eventlet ソケットタイムアウトの挙動を恩恵を得られるようになりました。 -
scrub_pool_size
設定オプションが追加され、scrubber の並列スレッド数を設定できるようになりました(デフォルトは1)。 - Glance v1 API を用いて、イメージの状態を変更できる重要なバグが修正されました。
非推奨の機能
- 実験的なカタログインデックスサービスは削除され、今回 Searchlight と呼ばれる分離プロジェクトになりました。
- scrubber 用のファイルベースのキューが削除された事に伴い、
scrubber_datadir
、cleanup_scrubber
、cleanup_scrubber_time
設定オプションは削除されました。
新機能
- アベイラビリティゾーンに対応しました。
- インスタンスを共用するための管理者 API コンポーネントを追加しました。
- プールウェイトを追加し、Manila スケジューラが新しい共有を既存の共有サーバを持つプール上に配置できるようになりました。
- あるホストプールから別のホストプールへの共有マイグレーションに対応しました。(実験的)
- 汎用ドライバーで共有の容量拡張機能を追加しました。
- 一貫性グループに対応しました。これにより、複数のファイルシステム共有のスナップショットを同時に作成できるようになります。(実験的)
- NetApp cDOT ドライバーと汎用ドライバーで一貫性グループに対応しました。
- シンプロビジョニングでオーバーサブスクリプション (容量超過) に対応しました。
- 新しい Windows SMB ドライバー:
- Windows サービスインスタンスと SMB 共有の公開に対応しました。
- Manila API サービスのトータルのスループットを向上する新しい
osapi_share_workers
設定オプションを追加しました。 - 共有フック機能を追加しました。これにより、ドライブ共有メソッド呼出しの前後、N秒ごとに呼び出される追加の定期実行フック、ドライバーのアクション結果の更新でアクションを実行する事ができるようになります。
- NetApp cDOT ドライバーの改善:
- 新しい Manila 共有をバックアップする flexvol 作成用の netapp:dedup、 netapp:compression 変数を追加しました。
- 管理/管理解除と shrink_share に対応しました。
-
extended_share
API コンポーネントに対応しました。 - ストレージアレイと通信する netapp-lib PyPI プロジェクトに対応しました。
- HP 3PAR ドライバーの改善:
- 重複排除、シンプロビジョニング、hp3par_flash_cache 機能のレポートに対応しました。これらは、共有タイプと CapabilitiesFilter が要求された機能を持つホスト上で共有が配置できるようにします。
- 共有サーバ対応を追加しました。
- Huawei Manila ドライバーの改善:
- ストレージプール、extend_share、manage_existing、shrink_share、リードオンリー共有、smartcache、smartpartition 対応を追加しました。
- 重複排除、シンプロビジョニング、圧縮機能のレポートに対応しました。
- VNX Manila ドライバーでアクセスレベル対応を追加しました。
- Manila HDS HNAS ドライバー対応を追加しました。
- GlusterFS 専用ドライバーを追加しました。
- GlusterFS ドライバーは今回、互換共有レイアウトの一覧を指定できるようになりました。
- v2 API にマイクロバージョン対応を追加しました。
非推奨の機能
-
share_reset_status
API コンポーネントは廃止予定となり、share_instance_reset_status
で置換されました。