Jump to: navigation, search

ReleaseNotes/Havana/ja

< ReleaseNotes/Havana
Revision as of 17:01, 18 October 2013 by Yosshy (talk | contribs) (主な新機能)

Contents

OpenStack 2013.2 (Havana) リリースノート

In this document you'll find a description of key new features, known bugs and upgrade tips for the 2013.2 (Havana) release of OpenStack.

OpenStack Object Storage (Swift)

主な新機能

  • グローバルクラスタのサポート

Swift 1.8.0 で導入された"リージョン"というコンセプトは、分離されたレプリケーション 用ネットワークの使用と、読み込み・書き込みアフィニティの設定をサポートするよう拡 張されました。これらの機能は広域にわたる1つのSwiftクラスタのサポートを提供するた めに組み合わせる。

  • 追加の設定ファイル conf.d のサポート

Swiftデーモンとサーバーはオプションで設定パラメータにディレクトリを許可すること ができます。これは設定ファイルの異なるパートを分けて管理することができます: たとえば、ミドルウェアごとの特定設定を別のファイルへ分けることができます。

  • ディスクパフォーマンス

オブジェクトサーバーはシステム全体のパフォーマンス向上と、遅延の平準化の ためにスレッドプールが使われるように構成可能になった。また、多くのディスク操 作が信頼性向上と、性能改善のため整理された。

  • memcache接続のプーリングがサポートされた
  • ハンドオフノードの選択のためのより高速な演算

重要なバグ修正

  • memcacheのエントリが期限切れにならないことがあるバグが修正された
  • クライアントが切断した後にもプロキシがストレージノードからデータを読み込み続けてしまう場合がある問題を修正
  • バージョン管理された書き込みでのUTF-8の取り扱いの問題を修正

Additional operational polish

  • Set default wsgi workers to cpu_count

wsgi ワーカー数のデフォルト値を1から自動へ変更。プロキシ、アカウント、コンテナ、オブジェクトのwsgiサーバのワーカー数の新しいデフォルト値は、サーバのCPUコア数と同じワーカー/プロセス数で生成される。 This will not be ideal for some configurations, but it's much more likely to produce a successful out of the box deployment.

  • reveal_sensitive_prefix は認証トークンのフィルタが可能になった

プロキシサーバで記録される

  • Added support to replicating handoff partitions first in object

replication. Can also configure now many remote nodes a storage node must talk to before removing a local handoff partition.

  • Added crossdomain.xml middleware. See

http://docs.openstack.org/developer/swift/crossdomain.html for details

  • Numerous improvements to get Swift running under PyPy

既知の問題

  • If you're using cells, there's an issue when deleting instances. Different than Grizzly, deleting instances will delete them immediately from the top level (API) cell before telling the child cell to delete the instance. This was not intended. A side effect of this is that delete.start and delete.end notifications will be sent. If the instance delete in the child cell succeeds, a 2nd delete.start and delete.end notification will be sent. If it does not, the DBs end up out of sync where the instance appears gone from the API cell, but still exists in the child cell. The natural healing code built into cells will end up correcting this and restoring the instance in the API cell DB after some time, depending on healing configuration. This bug will be corrected in havana-stable shortly after release.
  • Check http://bugs.launchpad.net/nova

アップグレード時の注意

Read full change log notes at https://github.com/openstack/swift/blob/master/CHANGELOG to see any config changes that would affect upgrades.

As always, Swift can be upgraded with no downtime.

OpenStack Compute (Nova)

主な新機能

API

  • Compute (Nova) REST API に実験的な新バージョン (v3) が追加されました。新しいバージョンでは、多くの API の整理が行われるとともに、 拡張 API にバージョンをつけて実装するためのフレームワークが入ります。 (blueprint)
  • 以下の拡張 API (extension) が Compute (Nova) REST API に追加されました。
    • CellCapacities: Cell 内の RAM 総量と未使用の RAM 容量を取得できるようになりました。 (blueprint)
    • ExtendedFloatingIps: Floating IP 追加コマンドに fixed_address パラメーター (省略可能) が追加され、 Floating IP に関連付ける固定 IP を指定できるようになりました。 (blueprint)
    • ExtendedIpsMac: サーバーのレスポンスに MAC アドレスが追加されました。(blueprint)
    • ExtendedQuotas: デフォルト値と異なるテナントのクォータを削除し、クォータのデフォルト値に戻せます。 (blueprint)
    • ExtendedServices: サービスが無効になっている理由を設定・取得できます。 (blueprint)
    • ExtendedVolumes: インスタンス情報に接続中のボリュームが追加されました。 (blueprint)
    • Migrations: 進行中のリサイズやマイグレーションの一覧を Cell やリージョン毎に取得できます。 (blueprint)
    • ServerUsage: インスタンスの詳細表示 (instance show) で launched_atterminated_at の値を取得できます。 (blueprint)
    • UsedLimitsForAdmin: 管理 API でテナント毎のクオータ上限を取得できます。 (blueprint)
  • Compute サービスの EC2 API が返すエラーコードの 公式の EC2 API との一貫性が向上しました。 (blueprint)

Cell

  • Cell スケジューラでフィルターと重み付けがサポートされました。設定の [cells] グループの新規オプション scheduler_filter_classesscheduler_weight_classes で設定できます。 ram_by_instance_typeweight_offset モジュールが新規に追加され、前のリリースで使われていた Cell のランダム選択は削除されました。また、フィルタークラス TargetCellFilter により、管理者がスケジューラーヒントを使って特定の Cell にインスタンスを作成するように指示できます。これにより概念上は Cell スケジューリングは既存のホストスケジューリングと同様に動作するようになります。 (blueprint)
  • Cell 内での仮想マシンインスタンスのライブマイグレーションがサポートされました。 Cell 間でのライブマイグレーションはサポートされていません。(blueprint)
  • Cell 使用時に Nova から Cinder が利用できるようになりました。 (blueprint)

Compute

全般
  • 利用可能なハイパーバイザーに Docker を使ったコンテナの作成・管理が追加されました。 (blueprint)
  • インスタンスを "shelve" する (棚上げにする) 機能が追加されました。この機能を使うと、長期間停止されたインスタンスをハイパーバイザーから追い出し、リソースを解放できます。(blueprint)
  • vendor_data セクションがメタデータサービスとコンフィグドライブ機能に追加されました。これにより、メタデータを拡張してベンダー固有やサイト固有のデータをゲストで利用できるようになります。 (blueprint)
ベアメタルドライバー
  • Tilera のベアメタルプロビジョニングに対応したバックエンドがベアメタルドライバーに追加されました。 (blueprint)
Hyper-V ドライバー
  • Windows Server / Hyper-V Server 2012 R2 のサポート (blueprint)
  • VHDX フォーマットのサポート (blueprint)
  • エフェメラルストレージのサポート (blueprint).
  • Ceilometer 連携用のコンピュート情報のサポート (blueprint).
libvirt (KVM) ドライバー
  • QEMU ゲストエージェント (qemu-guest-agent) のサポート。 * hw_qemu_guest_agent プロパティが "yes" で作成されたゲストで有効になります。 ( blueprint).
  • 物理コンピュートノードから仮想ゲストへの PCI デバイスのパススルーのサポート。現在のところ、パススルーが動作する実装は libvirt ドライバーだけである。 (base blueprint, libvirt blueprint).
  • libvirt を使ったハイパーバイザーでの Cinder からの QoS パラメータの抽出とそれに基づくディスクアクセスのレート制限のサポート (blueprint).
  • RBD をイメージ格納バックエンドとしてサポート (blueprint).
PowerVM ドライバー
  • ハードリブートに対応 (change).
vmwareapi (VMWare) ドライバー
  • 複数クラスターの管理をサポート (blueprint)
  • イメージのクローン方法指定 - イメージに対してリンクによるクローンかフルクローンイメージのどちらを使うかを指定可能 (blueprint)
  • コンフィグドライブのサポート (blueprint)
XenServer ドライバー
  • Supports showing a log of a server console (blueprint)
  • Support for splitting up large ephemeral disks into 1024GB or 2000GB chunks to work around VHD max disk size limitations (blueprint)
  • Allow images to have the setting of AutoDiskConfig=disabled, to mean users are unable to set AutoDiskConfig=Manual on these images and servers (blueprint)
  • Improvements to how nova communicates with the Nova agent, so you are able to use both cloud-init and the Nova agent in the same cloud. (blueprint)
  • Ability to boot VMs into a state where they are running a linux distribution installer, to help users build their own custom images (blueprint)
  • Experimental support for XenServer core, and running nova-compute in a XenServer core Dom0. (blueprint)
  • Experimental support for using the LVHD storage SR, and support for booting from compressed raw glance images (blueprint)
  • Much work to improve stability and supportability. Examples include the ability to configure the compression ratio used for snapshots sent to glance and auto rollback of errors during the Resize down of servers due to disks been too small for the destination size.

クォータ

  • クォータのデフォルト値が編集できるようになりました。以前はクォータのデフォルト値は固定値でした。 nova quota-class-update default <key> <value> コマンドで、クォータのデフォルト値を更新できます。(blueprint)
  • Quotas may now be defined on a per-user basis (blueprint)
  • ユーザー単位のクォータが定義できるようになりました。 (blueprint)
  • 特定のテナントやユーザーに対するクォータが削除できるようになりました。その場合、そのテナントやユーザーのクォータはデフォルト値に戻ります。 (blueprint)

ネットワーク

  • ネットワークと IP アドレスの割当がインスタンスの用意などの他の操作と並行して行われるようになり、起動時間が短縮されました。

(blueprint)

  • インスタンスに割り当てられたコンピュートノードのホスト名を Nova から Neutron に渡すようになりました。 Neutron プラグインはこの情報を使って、コンピュートノードの物理ネットワーク設定を必要に応じて変更します。 (blueprint).

通知 (notifications)

  • ホストアグリゲートの作成、削除、拡大、縮小やそれ以外の更新の際の通知が行われるようになりました。 (blueprint).
  • インスタンス作成失敗時に通知が行われるようになりました。 (blueprint).

Scheduler

  • Added force_nodes to filter properties, allowing operators to explicitly specify the node for provisioning when using the baremetal driver (blueprint).
  • Added the ability to make the IsolatedHostsFilter less restrictive, allowing isolated hosts to use all images, by manipulating the value of the new restrict_isolated_hosts_to_isolated_images configuration directive in nova.conf (blueprint).
  • Added a GroupAffinityFilter as a counterpart to the existing GroupAntiAffinityFilter. The new filter allows the scheduling of an instance on a host from a specific group of hosts (blueprint).
  • Added the ability for filters to set the new run_filter_once_per_request parameter to True if their filtering decisions are expected to remain valid for all instances in a request. This prevents the filter having to be re-run for each instance in the request when it is unnecessary. This setting has been applied to a number of existing filters (blueprint).
  • Added per-aggregate filters AggregateRamFilter and AggregateCoreFilter which enforce themselves on host aggregates rather than globally. AggregateDiskFilter will be added in a future release (blueprint).
  • Scheduler performance has been improved by removing the periodic messages that were being broadcasted from all compute nodes to all schedulers (blueprint).
  • Scheduler performance has been improved by allowing filters to specify that they only need to run once for a given request for multiple instances (blueprint).

ストレージ

  • 接続する Cinder ボリュームを暗号化できるようになりました。データは読み書き時に必要に応じて復号/暗号化されますが、インスタンスには通常のブロックストレージデバイスに見えます。 (blueprint).
  • インスタンスに接続された Cinder ボリュームを透過的に交換する機能が追加されました。ボリュームを交換している間インスタンスが短時間停止することはありますが、ボリュームへのリード、ライトが失われることはありません。 (blueprint).
  • NFS か GlusterFS 上にあるボリュームに接続する際に Nova は Cinder で設定されたマウントオプションを使うようになりました。以前はボリュームにアクセスする各コンピュートノードでマウントオプションを設定する必要がありました。 (blueprint).
  • ネイティブでの GlusterFS サポートが追加されました。 nova.confqemu_allowed_storage_driversgluster に設定された場合、QEMU は fuse 経由ではなく libgfapi を使ってボリュームに直接アクセスするように設定されます。 (blueprint).
  • GlusterFS のようにスナップショットをそれ自身ではサポートしていないストレージをバックエンドに使用している場合であっても、 Cinder のボリュームスナップショットを作成する機能を提供するため、QEMU のスナップショット機能を使用するようになりました。 (blueprint).
  • ストレージへのアクセスで iSER トランスポートプロトコルがサポートされました。 TCP 上の iSCSI と比較してよい性能が得られます。 (blueprint).

Conductor

  • conductor は複数のワーカースレッドを起動し、並列で動作できるようになりました。起動するスレッド数はnova.confworkers の値で決まります。 (blueprint).

内部的な変更

  • Nova は Oslo が提供する共通サービス基盤を使用するようになりました。 (blueprint)
  • データベースマイグレーションが必要なバグ修正をバックポートできるように変更が行われました。 (blueprint)
  • Nova システムのライブアップグレードのサポートに向け非常にたくさんの進展がありました。 Havana では、サービス間で送信されるメッセージのバージョンの制御 (nova.conf の [upgrade_levels] セクションを参照) (blueprint) と、コードとデータベーススキーマの詳細の分離を容易にするオブジェクト層 (blueprint) などの改良が行われました。

既知の問題

  • cell を使っている場合、インスタンスの削除時に問題があります。 Grizzly と違い、インスタンスの削除を行うと、 child cell にそのインスタンスの削除を通知する前にインスタンスは最上位の (API) cell から即座に削除されてしまいます。これは意図した動作ではありません。 この副作用として delete.start と delete.end 通知が送信されます。 child cell でのインスタンス削除が成功すると、2つ目の delete.start と delete.end 通知が送信されます。失敗した場合は、データベースは同期できていない状態となり、インスタンスは API cell からは消えているが、 child cell には存在したままになってしまいます。このバグは、リリース後すぐに havana-stable で修正される予定です。
  • 既知の問題については http://bugs.launchpad.net/nova を確認してください。

アップグレード時の注意

  • Note that periodic tasks will now run more often than before. The frequency of periodic task runs has always been configurable. However, the timer for when to run the task again was previously started after the last run of the task completed. The tasks now run at a constant frequency, regardless of how long a given run takes. This makes it much more clear for when tasks are supposed to run. However, the side effect is that tasks will now run a bit more often by default. (https://review.openstack.org/#/c/26448/)
  • The security_groups_handler option has been removed from nova.conf. It was added for Quantum and is no longer needed. (https://review.openstack.org/#/c/28384/)
  • This change should not affect upgrades, but it is a change in behavior for all new deployments. Previous versions created the default m1.tiny flavor with a disk size of 0. The default value is now 1. 0 means not to do any disk resizing and just use whatever disk size is set up in the image. 1 means to impose a 1 GB limit. The special value of 0 is still supported if you would like to create or modify flavors to use it. (https://review.openstack.org/#/c/27991/).
  • A plugins framework has been removed since what it provided was possible via other means. (https://review.openstack.org/#/c/33595)
  • The notify_on_any_change configuration option has been removed. (https://review.openstack.org/#/c/35264/)
  • The compute_api_class option has been deprecated and will be removed in a future release. (https://review.openstack.org/#/c/28750/)
  • Nova now uses Neutron after Quantum was renamed. (https://review.openstack.org/#/c/35425/)
  • Nova will now reject requests to create a server when there are multiple Neutron networks defined, but no networks specified in the server create request. Nova would previously attach the server to *all* networks, but consensus was that behavior didn't make sense. (https://review.openstack.org/#/c/33996/)
  • The vmware configuration variable 'vnc_password' is now deprecated. A user will no longer be required to enter as password to have VNC access. This now works like all other virt drivers. (https://review.openstack.org/#/c/43268/)


OpenStack Image Service (Glance)

主な新機能

プロパティ(属性)保護

特定のユーザグループに任意のエンティティの異なるプロパティを作成・更新・読取する権限を付与できます。 Image Service 中でイメージのプロパティには2つのタイプがあります:

  • コアプロパティ(イメージスキーマにより指定)
  • メタプロパティ(イメージに付与可能な任意のキー・バリューのペア)

Image Service のパブリック API コールを介したメタプロパティへのアクセスは、プロパティ保護設定ファイル(glance-api.conf ファイル中で指定)を使用して特定のユーザのグループに制限する事ができます。例:

  • 全プロパティ操作を管理者のみに制限。
  • 管理者と課金ロールを持つユーザの両方に、x_billing_code_ で始まる全プロパティの読取・修正権限を付与。

blueprint

Registry API

Registry サービスに、RPC-over-HTTP を使用した(db_api 互換の)新しい API が用意されました。 この API は、

  • 新しい Glance が、初期の registry サービスを使用する古いバージョンの Glance システムのサポートを継続できるようにします。Glance v2 は registry サービス利用を完全に廃止しているため、この事が幾つかのケースでセキュリティホール(パブリックサービスとしてインストールされた場合、全てのデータベースのパラメータを glance-api.conf 中に記述する必要があった)となる可能性がありました。
  • registry の API を修正する事無く、データベースAPIに新しいメソッドを実装しやすくします。

blueprint

この更新は、直接データベースバックエンドと通信するのと同様に、リモートの registry サービスと通信する registry データベースドライバを含みます。 registry サービスは全てのデータベース API パブリック関数を実装しており、これは実際 API の外側から使用されます。 Image Service の API v2 は有効にすべきであり、Image Service クライアントはこの API を使用すべきです。 blueprint

ストレージ対応

Image Service は今回、以下のバックエンドストレージに対応しました:

  • Sheepdog…Image Serivce はイメージをバックエンドの Sheepdog クラスタに保存できます。Sheepdog は QEMU 用の分散ストレージシステムを提供するOSS プロジェクトです。 "Sheepdog Website" blueprint
  • Cinder… OpenStack Block Storage (Cinder) を Image Service のブロックストレージバックエンドとして使用できます。blueprint
  • GridFS…Image Service は GridFS 分散ファイルシステムをサポートします。

サポートは新しい .conf オプション mongodb_store_uri と mongodb_dtore_db を使用して有効になります。 `gridfs://<IMAGE>` の書式による GridFS のURLをサポートします。"GridFS Website" blueprint

複数のイメージロケーション

Image Service のイメージを複数の場所(ロケーション)に保存する事が可能になりました。 これにより、イメージデータの効果的な利用と、1番目のイメージの事故に備えてバックアップイメージの使用が可能になります。blueprint

関連アップデート:

  • ロケーション API 用ポリシーレイヤ(イメージロケーションの変更をポリシーチェック可能に) blueprint
  • ダイレクトURLメタデータ。各 Image Service のストレージシステムはイメージロケーションデータベースにロケーションメタデータを保存できるようになりました。これにより、direct_url 有効時にクライアントへダイレクト URL 指定メタデータを返せるようになります。

例えば、file://URL に対して、NFS をエクスポートするホスト、マウントポイント、FSタイプをクライアントに返せるようになりました。blueprint

  • イメージダウンロード時の複数ロケーション対応。これは API クライアントが複数のバックエンドストアからイメージを利用できるようにします。blueprint
  • インデックスされたチェックサムイメージプロパティ。チェックサムイメージプロパティをインデックスできるようになりました。これにより、ユーザがチェックサムを指定する事でイメージを検索できるようになります。blueprint
  • Scrubber のアップデート。Scrubber は削除済みのイメージをクリーンアップするユーティリティです。Scrubber が pending_delete イメージ用に複数ロケーションに対応するようになりました。blueprint
  • メタデータチェック。ロケーションの変更時にイメージロケーションプロキシレイヤにおいてメタデータのチェックができるようになりました。 blueprint

待って、まだあるよ!

  • コンテナとディスクのフォーマットの設定。Glance は従来、決め打ちのコンテナとディスクフォーマットの集合のみサポートしていました。これらが任意のインストール済みシステムにおいてサポートされた実際のフォーマットの集合と一致する事は稀でした。利用可能なコンテナとディスクのフォーマットが設定できるようになります。blueprint
  • ストレージクォータ。ユーザは全ストレージシステム間で(合計)何バイトに制限する事ができるようになりました(.conf ファイル中で設定された total_storage_quota).。blueprint
  • メンバシップポリシー。メンバシップAPIにポリシー制約が追加されました(イメージ/ロケーションポリシー制約と同様)。新しいポリシーは new_member、add_member、get_member、modify_member、get_members、delete_member を含みます。blueprint

既知の問題

OpenStack Dashboard (Horizon)

リリース概要

Havana リリースにて3つの新しいプロジェクトがサポートされるようになりました。 そして幾つかの新しい機能が既存のプロジェクトに対して追加されました。まず、 管理者・ユーザー双方にとってユーザエクスペリエンスが改善されました。 コミュニティは成長し続けています。Havana は OpenStack Dashboard プロジェクト にとって最善のリリースだと言えるでしょう。


ハイライト

新機能

Heat

OpenStack オーケストレーションプロジェクト Heat が Havana にてデビューしました。 Horizon は Heat の全ての機能をサポートします。特筆するところとして Heat テンプレートフォーマット , トポロジー仮想化, そしてリソース検査からの動的なフォーム生成機能をサポートしています。

Ceilometer

また Havana では OpenStack Metering プロジェクトである Ceilometer がデビューしました。 Horizon 最初の Ceilometer のサポート機能として管理者がクラウドリソースの使用量を指示 出来るようになりました。またシステムの利用状況の確認を管理者が理解しやすくなりました。


Domains, Groups そして Identiry API v3 サポート

Identify サービス Keystone v3 API への対応と共に Horizon は Domains, Groups, Roles の管理と Domains, Groups, Domain ベース認証そして Domain コンテキストスイッチに 対する割り当て機能をサポートします。


Trove データベース

OpenStack Database as a Service プロジェクトである Trove が Havana から インキュベーションを卒業しました。Trove データベースのプロビジョニング・管理そしてバックアップ を OpenStack ダッシュボードから可能にしてくれた方々に対して感謝します。

Nova 機能

幾つもの OpenStack コンピュート (Nova) の新機能が Horizon でサポートになりました。 Havana リリースの新しい機能は下記のとおりです。


  • デフォルトクオータの編集
  • 管理者のインスタンスパスワードの初期化機能
  • アベイラビリティゾーンのサポート
  • リージョンサポートの改善
  • インスタンスサイズの編集
  • ボリュームからの起動機能の改善
  • プロジェクト単位でのフレーバ機能サポート


これらの機能はどこで、いつ、どのようにインスタンスが稼働したのかをより良く制御します。


Neutron 機能

幾つもの重要な OpenStack ネットワーキング (Neutron) に対する機能が Havana から追加されました。主な機能は下記のとおりです。

  • VPN as a Service
  • Firewall as a Service
  • 対話的なネットワークトポロジ編集機能
  • Neutron, Nova network 間でのセキュリティグループとクオータ機能

これらは Neutron で SDN を構築する際にとても柔軟に機能します。


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

自己パスワード変更機能

Ideintify API 2.0 (Keystone) の変更でユーザは自分のパスワードを管理者権限を要することなく出来るように なりました。これは今まで以上にセキュリティ的に強固でありユーザに利便性をもたらします。この機能は Identify API v3 ではまだ実装されていません。


改善された管理者情報構成

管理者向けダッシュボードの幾つかの区分にてグループ情報がより論理的になりました。 また付け加えて、管理者がホストの状態・ホストのアグリゲーツ・アベイラビリティゾーンとの 関連性をより理解しやすくなりました。


ユーザログアウトのメッセージ改善

幾つかの新しい指示器が追加になりました。これはユーザが不意にログアウトした際に何故かを ユーザに通達するものです。これらの指示器はユーザセッションが破棄された際、またタイムアウト・ 認証が許可されない区分へのアクセスがあった際に役立ちます。


セキュリティグループテンプレート

今まではセキュリティグループの編集にうんざいるすような作業が必要でした。Horizon チームは 予め設定されたテンプレートを用意することで2クリックにて設定出来るようにしました。これらの ルールは SECURITY_GROUP_RULES 設定項にあります。


コミュニティ

翻訳チーム

OpenStack 翻訳チームは Havana リリースに深く関わり Horizon は今までで一番の品質を保てました。 翻訳チームのコミュニティ構築の成功にお祝い申し上げます。


ユーザエクスペリエンスグループ

OpenStack ユーザエクスペリエンスチームの誕生は OpenStack の UX 改善を形成しました。彼らは OpenStack ダッシュボードの設計と改善に欠かせない存在となりました。

Under The Hood

LESS コンピレーション

Python コミュニティの LESS サポートが Horizon における NodeJS の削除を押し進めました。 我々は lesscpy モジュールをスタイルシートの LESS にコンパイルすることが出来ます。


Role ベースのアクセスコントロール

Horizon はその他の OpenStack プロジェクトの policy.json を利用するよう変貌を遂げようとしています。 policy.json はダッシュボードのアクセスコントロールを施行します。これはアクセスコントロールがより 容易に編集でき、元となる OpenStack プロジェクトと Horizon との間での同期を維持することに役立ちます。 がしかしこの機能は現在 Keystone と Nova の一部に関してのみサポートされています。フルサポートは次期 リリースにて予定されています。これらの機能を有効にするには POLICY_FILES_PATH と POLICY_FILES を 設定することで可能になります。


その他の改善点

  • Swift コンテナとオブジェクトメタデータのサポート
  • クオータ利用の可視化
  • Neutron 利用時における Cisco N1K ルータプラグインの追加ダッシュボード
  • 自己もしくは認証 SSL 証明書のチェック機能
  • Glance イメージ形式の編集機能
  • 多くの場面でのソーティング機能
  • API コールの最適化
  • 必須項目フィールドの改善
  • セキュリティ観点からの非アクティブ状態からのセッションタイムアウト機能
  • 重要な PEP8 とコードクオリティの改善
  • 数百のバグフィックスとユーザエクスペリエンスの改善

アップグレード時の注意

許可されたホスト

Horizon のプロダクション環境でのデプロイを行うには setting.py ファイルもしくは local_settings.py ファイル内で ALLOWED_HOSTS を追加する必要があります。この設定は Django 1.5 にて追加されセキュリティの観点で重要なものです。 詳細情報は Django ドキュメント内 local_settings.py.example ファイルを御覧ください。


Keystone と Neutron の機能を有効にする

もし既存コンフィギュレーションに OPENSTACK_KEYSTONE_BACKEND もしくは OPENSTACK_NEUTRON_NETWORK の設定を 有していた場合、追加された新しいオプションを local_settings.example を参照したくなるでしょう。既存のコンフィギュレーション は動作し続けるでしょう。がしかし、Havana での幾つかの新しい機能を有効するには正しい鍵を設定する必要があります。

既知の問題と制限

セッション生成とヘルスチェック

もしヘルスモニタリングサービスを有効にするのであれば、過度のセッション生成問題を引き起こすでしょう。 この問題は直ちに改善されう予定ですが、推奨される回避策としてはセッションを削除するジョブを定期的に 作成することです。


一斉に大量リソースを削除する問題

'sellect all' チェックボックスを使用すると一斉に大量のリソースを削除しネットワークタイムアウトを引き起こすでしょう。 このことは APIs が bulk-deletion にネイティブに対応していないことが根底にあり、従って Horizon は各々のリソースを独立して 削除しに掛かるため引き起こる問題である。


Neutron におけるセキュリティグループ名の衝突問題

Nova Network は単一のセキュリティグループ名を用いる。Neutron は名前でも UUID でも受け付けます。これらをサポートするため Horizon は選択されたセキュリティグループ名をパスします。しかしながら、Neutron において他のプロジェクトで指定のあった セキュリティグループ名と同等の名前のセキュリティグループ名を管理者が用いた場合に幾つかのデータ孤立問題が引き起こります。 Neutron は複数のセキュリティグループ名を検知しインスタンス稼働に失敗します。現時点での回避策としてユニークな名前を つけることです。


互換性 =

Havana Horizon は Havana / Grizzly 間で互換性を持つべきです。Grizzly にない新しい機能は言うまでもないが Horizon 上でのみ 機能します。3rd パーティデベロッパの努力が互換性を維持するために大いに役立ちました。

OpenStack Identity (Keystone)

主な新機能

  • 導入の柔軟性の改善
    • 「assignments」ドライバーにより決定される認可データ (テナント/プロジェクト、ロール、ロール割り当て。例: SQL) を、「identity」ドライバーにより決定される認証データ (ユーザー、グループ。例: LDAP) と別のバックエンドに保存できるようになりました。
    • 「credentials」ドライバーにより決定されるクレデンシャル (例: ec2 トークン) を認証データと別のバックエンドに保存できるようになりました。
    • よりきめ細かい RBAC ポリシールール (例: API リクエスト / レスポンス内容の属性項目に基づいたルール) を指定できるようになりました。
    • REMOTE_USER を用いた外部認証のプラグイン可能な処理。
    • トークン生成がプラグイン可能になり、トークンの永続性と分離されました。トークン生成は現在、UUID ベースと PKI ベースがあります。運用者は keystone.token.provider.Provider インターフェースの独自実装を作成でき、それを使用するよう keystone に [token] provider と設定できるようになりました。その結果、この新しい設定オプションのため、[signing] token_format が非推奨になりました。
    • Apache httpd の後ろの導入に対する最高級のサポート
  • New deployment features
    • Ability to cache the results of driver calls in a key-value store (for example, memcached or redis)
    • keystone-manage token_flush command to help purge expired tokens
  • New API features
    • Delegated role-based authorization to arbitrary consumers using OAuth 1.0a
    • API clients can now opt out of the service catalog being included in a token response
    • Domain role assignments can now be inherited by that domain's projects
    • Aggregated role assignments API
    • External authentication providers can now embed a binding reference into tokens such that remote services may optionally validate the identity of the user presenting the token against an presented external authentication mechanism. Currently, only kerberos is supported.
    • Endpoints may now be explicitly mapped to projects, effectively preventing certain endpoints from appearing in the service catalog for certain based on the project scope of a token. This does not prevent end users from accessing or using endpoints they are aware of through some other means.
  • Event notifications emitted for user and project/tenant create, update, and delete operations
  • General performance improvements
  • The v2 and v3 API now use the same logic for computing the list of roles assigned to a user-project pair during authentication, based on user+project, group+project, user+domain-inherited, and group+domain-inherited role assignments (where domain-inherited role assignments allow a domain-level role assignment to apply to all projects owned by that domain). The v3 API now uses a similar approach for computing user+domain role assignments for domain-scoped tokens.
  • Logs are handled using a common logging implementation from Oslo-incubator, consistent with other OpenStack projects
  • SQL migrations for extensions can now be managed independently from the primary migration repository using keystone-manage db_sync --extension=«extension-name».

既知の問題

  • six v1.4.1 or higher is an undocumented requirement (bug 1237089). Without six, Keystone will fail on startup with either ImportError: No module named six or pkg_resources.DistributionNotFound: six.
  • An experimental implementation of domain-specific identity backends (for example, a unique LDAP configuration per domain) was started in Havana but remains incomplete and will be finished during Icehouse.

OpenStack Network Service (Neutron)

主な新機能

New Name

The OpenStack Networking project has a new name in this release: Neutron. The Havana release will run using configuration files from Grizzly Quantum; however the usage of Quantum is deprecated and deployers should update all references at their earliest opportunity. Support for the Quantum configuration files and executable names will dropped in 2014.1 (Icehouse).

Advanced Services

Neutron added two new advanced services during the latest development cycle and revised the load balancer service.

Load Balancer (LBaaS) Previously released as experimental features the in 2013.1 (Grizzly) release, the load balancing service and API extensions are now suitable for deployment. This release ships an updated API and with HAProxy driver support. Vendor drivers are expected in Icehouse and Radware has already made an out of tree Havana compatible driver available for download. The load balancing service can run on multiple network nodes.

VPN (VPNaaS) Site-to-Site IPSec VPNs are now supported via the VPN service plugin. The VPN API supports IPSec and and L3 agent ships with an OpenSwan driver.

Firewall (FWaas)A new edge firewall service is included in this release. The firewall service enable tenant to configure security in depth as rules can be applied both at the edge via the firewall API and on the VIF via the security group API. The FWaaS API and drivers are considered experimental as the Neutron will continue development during the next release cycle. The team welcomes community feedback on this extension.

New Plugins

Modular Layer 2 (ML2) The Modular Layer 2 (ML2) plugin is a new OpenSource plugin to Neutron. This plugin is a framework allowing OpenStack Networking to simultaneously utilize the variety of layer 2 networking technologies found in complex real-world data centers. It currently works with the existing Open vSwitch, Linux Bridge, and L2 agents. The ML2 plugin supports local, flat, VLAN, GRE and VXLAN network types via a type drivers and different mechanism drivers. There are vendor drivers available for Arista, Cisco Nexus, Hyper-V, and Tail-f NCS. ML2 is a replacement for the Linux Bridge and Open vSwitch plugins which are now considered deprecated. More ML2 information

Other Features

  • Support for PXE Boot Options in when creating a port
  • Improved translation support

既知の問題

Upgrades from Grizzly

Starting the neutron-server after upgrading code, but prior to migration will result in some database models being created without the proper migrations occurring. The following upgrade setups should be taken to ensure a properly upgraded database.

  • Ensure that the database is stamped for Grizzly prior to stopping service.quantum-db-manage --config-file /path/to/quantum.conf --config-file /path/to/plugin/conf.ini stamp grizzly
  • Stop quantum-server and deploy the Neutron code Do not start the neutron-server at this time.
  • Run Havana Migration neutron-db-manage --config-file /path/to/quantum.conf --config-file /path/to/plugin/conf.ini upgrade havana
  • Start neutron-server

Agents May Report a Different Host Name

Neutron switched the method to determine a host's name from using the host's FQDN to the result returned by the gethostname(2) call. The change was made to be consistent with the rest of OpenStack. The hostname reported by an agent may be different and will change after the agents are updated to Havana. If so, it is necessary to reschedule all networks onto the new L3 and DHCP agent names to restore service. The change will results in a brief data plane outage will while the deployer reschedules the network.

L3 Agent No Longer Defaults to Sending Gratuitous ARPs

The L3 Agent previous defaults to sending gratuitous ARPs. The calls to send the gratuitous ARPs cause kernel panics when deployed using network namespaces on some distributions. Deployers may enable gratuitous ARP by setting send_arp_for_ha=3 in the L3 Agent's configuration file.

Firewall as a Service

The experimental FWaaS API extension only supports one active policy per tenant. The behavior will change in the during the Icehouse development cycle to allow for different policies to be attached to different tenant routers.

アップグレード時の注意

  • Changes to neutron-dhcp-agent require you to first upgrade your dhcp-agents. Then wait until the dhcp_lease time has expired. After waiting at least dhcp_lease time, update neutron-server. Failure to do this may lead to cases where an instance is deleted and the dnsmasq process has not released the lease and neturon allocates that ip to a new port. (https://review.openstack.org/#/c/37580/)
  • There is a new default policy.json file. Deployers with existing deployments should update their files as many options have changed: policy.json

Deprecation Notices

  • The usage of "quantum" or "Quantum" in configuration files and executable names is officially deprecated. This is the last release that will support those names and new deployments should use proper Neutron names for those values. Support for compatibility will only exist in this release.
  • The Linux Bridge and Open vSwitch plugins have been feature frozen and will be removed in the J (2014.2) release. New deployments should choose ML2 instead of the individual Open vSwitch or Linux Bridge plugins.

OpenStack Block Storage (Cinder)

主な新機能

  • ボリュームマイグレーション(異なる Cinder バックエンドにボリュームを移動させる為の管理者API)
  • V2 API にスケジューラヒント拡張追加
  • LVM 無しで直接ディスクを使えるようにする為のローカルブロックストレージドライバ追加
  • 既存ボリュームのサイズ拡張機能追加
  • あるテナントから別テナントへのボリューム転送機能追加
  • デフォルトクォータ設定の編集用API追加
  • スナップショットからボリュームを作る際に依存関係を排除する、バックエンド用のスナップショット自動展開用設定オプション追加
  • ボリュームアタッチ時、インスタンスUUIDに加えて「ホスト名」を指定可能にするAPI追加
  • バックアップレイヤを汎用化し、内部的な調整無しで任意の iSCSI デバイスからのバックアップを可能に
  • バックアップサービスに Ceph ドライバ追加(CephからCephへの差分バックアップ可能な、バックアップ先としてCephを選択可能)
  • QoS情報追加(Nova に情報が渡されて、ハイパーバイザによって使用される)
  • 新しい Windows ストレージサーバドライバ (blueprint)

新しいハードウェアベンダドライバ

  • Dell EqualLogic ドライバ
  • VMware VMDK ドライバ
  • IBM General Parallel File System (GPFS) ドライバ

既存ドライバの主要な強化点

  • Huawei ストレージシステム用ファイバチャネルドライバ追加
  • Nexenta ストレージ対応用 NFS ボリュームドライバ追加
  • ほぼ全てのベンダドライバに対する、各種アップデートとデバイスに特化した機能強化
  • IBM Stowize ドライバにボリュームマイグレーション用の調整実施

新しいバックアップドライバ

  • ボリュームバックアップ用 Ceph ドライバ
  • IBM Tivoli Storage Manager (TSM) ドライバ

既知の問題

  • Bug #1237338 : VMware ボリュームドライバでボリューム→イメージのアップロードが失敗する
  • Bug: #1240299 : 全ての LVM ボリュームにおけるボリュームのゼロクリア処理がシンプロビジョニングされた LVM まで消去する。修正がリリースされるまで、cinder.conf 中で volume_clear=None を設定する事。

アップグレード時の注意

  • ThinLVM ボリュームドライバの機能は、今回標準の LVM iSCSI ボリュームドライバの一部になりました。設定ファイル中の volume_driver="cinder.volume.drivers.lvm.LVMISCSIDriver" を lvm_type="thin" に変更する必要があります。後方互換性のため、Havana リリースでは、この変更は volume_driver が "cinder.volume.drivers.lvm.ThinLVMVolumeDriver" に設定されている場合は自動的に行われますが、Icehouse では cinder.conf 中でこれらのオプションを更新する必要があるでしょう。

OpenStack Metering (Ceilometer)

主な新機能

API

  • 統計エンドポイントが、groupby 引数を使用して、数個のフィールドによるサンプルのグループ化が可能になりました。
  • 新しいアラーム API が利用可能になりました(Alarms参照)。
  • API 経由でユーザが独自のサンプルとメータを POST 可能になりました。

アラーム

アラームは、単位時間あたりの閾値に対する統計動向の比較に基づいて、ユーザとオペレータがアクションを実行できるようにする為の新しい機能です。これは以下のサービスにより構成されます。

  • ceilometer-api は、アラームのライフサイクル全般の制御を提供する新しい /v2/alarms エンドポイントを提供するようになりました。
  • ceilometer-alarm-evaluator は、アラームの状態が変化した時に検知する為、アラームを定期的に評価します。
  • ceilometer-alarm-notifier は、アラームが発行されて、関連付けられたアクションが実行された際、ceilometer-alarm-evaluator が送信する通知を受信します。

アラーム API はまた、アラーム状態遷移とルール変更の履歴を提供します。

Collector

  • HBase ドライバ追加
  • DB2 (NoSQL) ドライバ追加
  • SQLAlchemy ドライバ改善
  • MongoDB ドライバ改善
  • データベースから古いサンプルを削除可能にする TTL 機能追加
  • イベントの保存機能追加
  • SQLAlchemy ドライバにイベントストレージ機能を追加

Publisher ドライバ

  • UDP ベースの Publisher 追加

Transformer

  • unit-scaling transformer、rate-of-change transformer 追加

Meter

  • 特別な Python ミドルウェアを使用した API リクエストメータを追加
  • 新しい Neutron 帯域幅計測機能からのサンプル保存機能追加

Compute エージェント

  • Hyper-V 対応追加

既知の問題


OpenStack Orchestration (Heat)

主な新機能

Much improved documentation

Initial integration with Tempest

Concurrent resource operations

  • Non dependent create, update and delete operations are now performed in parallel

Much improved networking/Neutron support

  • New LBaaS, FWaaS and VPNaaS resources

Initial support for native template language (HOT)

Provider and Environment abstractions

  • Abstractions to provide a way to customize resource types using nested templates see documentation and blog post

Ceilometer integration for metrics/monitoring/alarms

  • Adds a new resource type OS::Ceilometer::Alarm which configures a ceilometer alarm
  • Also we have integration with Ceilometer alarms for AutoScaling actions, which are now triggered by Ceilometer alarms. The previous mechanism where metrics/alarms are processed by Heat still exists, but is now deprecated and will most likely be removed during Icehouse.

UpdateStack improvements

  • Several resource types now provide better support for non-destructive updates, including resizing an Instance. Also we now create replacement resources before deleting the previous resource, allowing better upgrade continuity and roll-back capability.

Initial integration with keystone trusts functionality

  • Initial integration with keystone trusts, so when heat.conf specifies deferred_auth_method=trusts, we no longer store encrypted credentials to perform deferred operations (for example AutoScaling adjustments), but instead create a trust and store the ID of the trust.
  • (下記の「既知の問題」を参照のこと)

Improved resource documentation

Many more native resource types

New Rackspace resource types

  • Rackspace::Cloud::DBInstance
  • Rackspace::Cloud::LoadBalancer
  • Rackspace::Cloud::Server

Stack suspend/resume

  • Support for a new API "actions" path, which enables stack suspend/resume

Consolidated configuration to a single heat.conf and a single paste-api.ini

  • 下記の「アップグレード時の注意」を参照してください。
  • Also added new config options to provide limitations on:
template size
number of stacks per tenant
number of events per stack
stack nesting depth

Heat Standalone Mode

  • Heat can now be configured to run in standalone mode, allowing it to orchestrate onto an external OpenStack

既知の問題

  • Heat does not support specifying region name when getting API endpoints from keystone see bug
  • Integration with keystone trusts (deferred_auth_method=trusts) will only work if you have the latest keystoneclient 0.4.1, however this is not reflected in the requirements.txt of Heat yet
https://bugs.launchpad.net/python-keystoneclient/+bug/1231483
  • Integration with keystone trusts requires at least RC3 of keystone due to this issue
https://bugs.launchpad.net/keystone/+bug/1239303

アップグレード時の注意

  • Heat now uses one config file (/etc/heat/heat.conf) instead of per-service files.
  • The API processes now use a single paste configuration file (/etc/heat/api-paste.ini) instead of per-service files.
  • There is now support for a global environment definition in /etc/heat/environment.d/ (see environment documentation)
  • All OS::Neutron* resources have been renamed "OS::Quantum*", the old names will still work if you install the provided default environment which aliases the old names to the new resources.

OpenStack ドキュメント

主な新機能

  • ドキュメントのバグを簡単に報告できるよう、各ページにバグ報告のリンクを作成しました。
  • マニュアルが完全に再構成されました。Havana リリースでは、以下のガイドがあります:
    • OpenStack のインストール
      • Installation Guide for Red Hat Enterprise Linux, CentOS, and Fedora
      • Installation Guide for Ubuntu 12.04 (LTS)
      • Installation Guide for openSUSE and SUSE Linux Enterprise Server
    • OpenStack クラウドの設定および運用
      • Cloud Administrator Guide
      • Configuration Reference
      • Operations Guide
      • High Availability Guide
      • Security Guide
      • Virtual Machine Image Guide
    • OpenStack dashboard およびコマンドラインクライアントの使用法
      • API Quick Start
      • End User Guide
      • Admin User Guide

既知の問題

  • いくつかのガイドが完全には更新されておらず、必要な情報が不足している可能性があります。

memo

  • nova : amotoki
  • cinder: yosshy
  • Keystone: katomo
  • horizon : thirai
  • glance: yosshy
  • ceilometer: yosshy