Difference between revisions of "ReleaseNotes/Liberty/ja"
(Created page with "* プラグインの改善:Horizon はインクルードする JavaScript ファイルを自動認識し、プラグイン可能な SCSS と置換用 Django テンプレー...") |
(Created page with "* Compute (Nova) ** インスタンスの shelve、unshelve に対応 (https://blueprints.launchpad.net/horizon/+spec/horizon-shelving-command) ** v2 ブロックデバイス...") |
||
Line 538: | Line 538: | ||
* 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) |
Revision as of 12:28, 18 October 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つのディスクに対するリクエストのみ処理します。親プロセスはワーカープロセスが死んだ事を検知し、(適切なリッスンソケットを持つ) ワーカープロセスを再起動します。Ringu ファイルの更新があり、そのサーバーに新しいポートを持つデバイスが見つかった場合、親プロセスは不足しているサーバを新たに実行します。また、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)
- Add HGST volume type support w/os-brick
- 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 ..." はテンプレートバージョンの利用可能な関数一覧を表示します。
Enhancements to existing resources
- Software deployments can now use Zaqar for deploying software data and signalling back to Heat
- Stack actions are now performed on remote OS::Heat::Stack resources
- OS::Nova::Server now supports deletion_policy: Snapshot
- OS::Heat::ResourceGroup update_policy now supports specifying batch_create and rolling_update options
新規リソース
以下のリソースがこの 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)
- Added support for subnet allocation via subnet pools (https://blueprints.launchpad.net/horizon/+spec/neutron-subnet-allocation).
- Added actions to easily associate LBaaS VIP with a floating IP (https://blueprints.launchpad.net/horizon/+spec/lbaas-vip-fip-associate).
- Images (Glance)
- The metadata editor has been updated with AngularJS (https://blueprints.launchpad.net/horizon/+spec/angularize-metadata-update-modals).
- Compute images metadata can now be edited from the Project dashboard, using the new metadata editor (https://blueprints.launchpad.net/horizon/+spec/project-images-metadata).
- Block Storage (Cinder)
- Enabled support for migrating volumes (https://blueprints.launchpad.net/horizon/+spec/volume-migration).
- Volume types can be now edited, and include description fields (https://blueprints.launchpad.net/horizon/+spec/volume-type-description).
- Orchestration (Heat)
- Improvements to the heat topology, making more resources identifiable where previously they had no icons and were displayed as unknown resources (https://blueprints.launchpad.net/horizon/+spec/heat-topology-display-improvement).
- Data Processing (Sahara)
- Unified job interface map. This is a human readable method for passing in configuration data that a job may require or accept (https://blueprints.launchpad.net/horizon/+spec/unified-job-interface-map-ui).
- Added editing capabilities for job binaries (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-job-binaries).
- Added editing capabilities for data sources (https://blueprints.launchpad.net/horizon/+spec/allow-editing-of-data-sources).
- Added editing capabilities for job templates (https://blueprints.launchpad.net/horizon/+spec/data-processing-edit-templates).
- Exposed event log for clusters (https://blueprints.launchpad.net/horizon/+spec/sahara-event-log).
- Added support for shell job types (https://blueprints.launchpad.net/horizon/+spec/sahara-shell-action-form).
- Databases (Trove)
- Added initial support for database cluster creation and management. Vertica and MongoDB are currently supported (https://blueprints.launchpad.net/horizon/+spec/database-clustering-support).
- Identity (Keystone)
- Added mapping for Identity Provider and Protocol specific WebSSO (https://github.com/openstack/horizon/commit/3b4021c0ad0e8d7b10aa8c2dcd8c13a5717c450c).
- Configurable token hashing (https://github.com/openstack/django_openstack_auth/commit/ece924a79d27ede1a8475d7f98e6d66bc3cffd6c and https://github.com/openstack/horizon/commit/48e651d05cbe9366884868c5331d49a501945adc).
- Horizon (internal improvements)
- Full support for translation in AngularJS, along with simpler tooling (https://blueprints.launchpad.net/horizon/+spec/angular-translate-makemessages).
- Added Karma for JavaScript testing (https://blueprints.launchpad.net/horizon/+spec/karma).
- Added ESLint for JavaScript linting, using the eslint-config-openstack rules (https://blueprints.launchpad.net/horizon/+spec/jscs-cleanup).
- Horizon now supports overriding of existing Django templates (https://blueprints.launchpad.net/horizon/+spec/horizon-theme-templates).
- JavaScript files are now automatically included (https://blueprints.launchpad.net/horizon/+spec/auto-js-file-finding).
アップグレード時の注意
- Django 1.8 is now supported, and Django 1.7 is our minimum supported version (https://blueprints.launchpad.net/horizon/+spec/drop-django14-support).
- Database-backed sessions will likely not persist across upgrades due to a change in their structure (https://github.com/openstack/django_openstack_auth/commit/8c64de92f4148d85704b10ea1f7bc441db2ddfee and https://github.com/openstack/horizon/commit/ee2771ab1a855342089abe5206fc6a5071a6d99e).
- Horizon no longer uses QUnit in testing, and it has been removed from our requirements (https://blueprints.launchpad.net/horizon/+spec/replace-qunit-tests-with-jasmine).
- Horizon now has multiple configuration options for the default web URL (
WEBROOT
), static file location (STATIC_ROOT
) and static file URL (STATIC_URL
) in its settings files. - Themes have moved location from
openstack_dashboard/static/themes
, toopenstack_dashboard/themes
. Paths may need to be updated accordingly. Furthermore, Horizon is aligning closer with Bootstrap markup, and themes should be built around this ideology; see the top bar and side navigation for details. - The deprecated
OPENSTACK_QUANTUM_NETWORK
configuration option has been removed. If you still use it, replace it withOPENSTACK_NEUTRON_NETWORK
- There is now an
OPENSTACK_NOVA_EXTENSIONS_BLACKLIST
option in the settings, to disable selected extensions for performance reasons (https://github.com/openstack/horizon/commit/18f4b752b8653c9389f8b0471eccaa0659707ebe). - Trove and Sahara panels now reside in
openstack_dashboard/contrib
. This is to provide separation for reviews provided mostly by the service teams. In the future, these panels may become plugins rather than being kept in Horizon (https://blueprints.launchpad.net/horizon/+spec/plugin-sanity). - Horizon requires both a
volume
andvolumev2
endpoint for Cinder, even if only using v2.
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)
新機能
- Added the ability for project administrators to create certificate authorities per project. Also, project administrators are able to define and manage a set of preferred certificate authorities (CAs) per project. This allows projects to achieve project specific security domains.
- Barbican now has per project quota support for limiting number of Barbican resources that can be created under a project. By default the quota is set to unlimited and can be overridden in Barbican configuration.
- Support for a rotating master key which is used for wrapping project level keys. In this lightweight approach, only the project level key (KEK) is re-wrapped with new master key (MKEK). This is currently applicable only for the PKCS11 plug-in. (http://specs.openstack.org/openstack/barbican-specs/specs/liberty/add-crypto-mkek-rotation-support-lightweight.html)
- Updated Barbican's root resource to return version information matching Keystone, Nova and Manila format. This is used by keystoneclient's versioned endpoint discovery feature.
- Removed administrator endpoint as all operations are available on a regular endpoint. No separate endpoint is needed as access restrictions are enforced via Oslo policy.
- Added configuration for enabling sqlalchemy pool for the management of SQL connections.
- Added ability to list secrets which are accessible via ACL using GET /v1/secrets?acl-only=true request.
- Improved functional test coverage around Barbican APIs related to ACL operations, RBAC policy and secrets.
- Fixed issues around creation of SnakeOil CA plug-in instance.
- Barbican client CLI can now take a Keystone token for authentication. Earlier only username and password based authentication was supported.
- Barbican client now has ability to create and list certificate orders.
アップグレード時の注意
- Removed project secret association table. Secret project relationship is maintained by foreign key. For more detail, see http://specs.openstack.org/openstack/barbican-specs/specs/liberty/data-remove-tenant-secret-assoc.html .
- Renamed barbican configuration file to
barbican.conf
.
OpenStack Image Service (Glance)
Updated project guide that includes some details on operating, installing, configuring, developing to and using the service: http://docs.openstack.org/developer/glance/
新機能
- Added support for uploading signed images. For more information, see http://specs.openstack.org/openstack/glance-specs/specs/liberty/image-signing-and-verification-support.html .
- Scrubbing of images in parallel is now possible. For more information, see http://specs.openstack.org/openstack/glance-specs/specs/liberty/scrub-images-in-parallel.html .
- The health of a Glance node can be monitored using the healthcheck middleware. For more information, see http://specs.openstack.org/openstack/glance-specs/specs/liberty/healtcheck-middleware.html .
- The EXPERIMENTAL Artifacts API is now available for use. Please note, it is subject to change in the future until it becomes a standard API.
- S3 store now has proxy support. For more information, see http://specs.openstack.org/openstack/glance-specs/specs/liberty/http-proxy-support-for-s3.html .
- Swift store now has v3 authentication support.
- python-glanceclient now support some advanced aspects of keystone sessions.
- python-glanceclient now supports tags for Metadata Definition Catalog.
アップグレード時の注意
- python-glanceclient now defaults to using Glance API v2 and if v2 is unavailable, it will fallback to v1.
- Dependencies for backend stores are now optionally installed corresponding to each store specified.
- Some stores like swift, s3, vmware now have python 3 support.
- Some new as well as updated default metadata definitions ship with the source code.
- More python 3 support added to Glance API, and now continuous support is extended by the means of tests to ensure compatibility.
- utf-8 is now the default charset for the backend MySQL DB.
- Migration scripts have been updated to perform a sanity check for the table charset.
- 'ram_disk' and 'kernel' properties can now be null in the schema and 'id' is now read only attribute for v2 API.
- A configuration option
client_socket_timeout
has been added to take advantage of the recent eventlet socket timeout behaviour. - A configuration option
scrub_pool_size
has been added to set the number of parallel threads that a scrubber should run and defaults to 1. - An important bug that allowed to change the image status using the Glance v1 API has now been fixed.
非推奨の機能
- The experimental Catalog Index Service has been removed and now is a separate project called Searchlight.
- The configuration options
scrubber_datadir
,cleanup_scrubber
andcleanup_scrubber_time
have been removed following the removal of the file backed queuing for scrubber.
新機能
- Enabled support for availability zones.
- Added administrator API components to share instances.
- Added pool weigher which allows Manila scheduler to place new shares on pools with existing share servers.
- Support for share migration from one hostpool to another hostpool (experimental).
- Added shared extend capability in the generic driver.
- Support for adding consistency groups, which allow snapshots for multiple filesystem shares to created at the same point in time (experimental).
- Support for consistency groups in the NetApp cDOT driver and generic driver.
- Support for oversubscription in thin provisioning.
- New Windows SMB driver:
- Support for handling Windows service instances and exporting SMB shares.
- Added new
osapi_share_workers
configuration option to improve the total throughput of the Manila API service. - Added share hooks feature, which allows actions to be performed before and after share drive methods calls, call additional periodic hook for each 'N' tick, and update the results of a driver's action.
- Improvements to the NetApp cDOT driver:
- Added variables netapp:dedup, and netapp:compression when creating the flexvol that backs up a new manila share.
- Added manage/unmanage support and shrink_share support.
- Support for
extended_share
API component. - Support for netapp-lib PyPI project to communicate with storage arrays.
- Improvements to the HP 3PAR driver:
- Added reporting of dedupe, thin provisioning and hp3par_flash_cache capabilities. This allows share types and the CapabilitiesFilter to place shares on hosts with the requested capabilities.
- Added share server support.
- Improvements to the Huawei Manila driver:
- Added support for storage pools, extend_share, manage_existing, shrink_share, read-only share, smartcache and smartpartition.
- Added reporting of dedupe, thin provisioning and compression capabilities.
- Added access-level support to the VNX Manila driver.
- Added support for the Manila HDS HNAS driver.
- Added GlusterFS native driver.
- GlusterFS drivers can now specify the list of compatible share layouts.
- Added microversion support (v2 API).
非推奨の機能
- The
share_reset_status
API component is deprecated and replaced byshare_instance_reset_status
.