Jump to: navigation, search

ReleaseNotes/Icehouse/ja

< ReleaseNotes/Icehouse
Revision as of 01:31, 23 April 2014 by Yosshy (talk | contribs) (主要な新機能)


OpenStack 2014.1 (Icehouse) リリースノート

Contents

全般的なアップグレードの注意点

  • bug 1294246 を避けるため、Windows のパッケージ作成者は pbr 0.8 を使用すべきです。
  • log-config オプションは log-config-append に変更されており、従来行われていた他の既存の設定を完全に上書きするのではなく、指定された設定のみ追加するようになります (https://bugs.launchpad.net/oslo/+bug/1169328, https://bugs.launchpad.net/oslo/+bug/1238349)。
  • 停止時間を最小化する為、OpenStack Compute をアップグレードする前に OpenStack Networking をアップグレードして neutron-metadata-agent を再起動しなければなりません。Compute は、neutron-metadata-agent サービスによって今回提供される X-Tenant-ID を検証できなければなりません (https://bugs.launchpad.net/neutron/+bug/1235450)。

OpenStack Object Storage (Swift)

主要な新機能

  • 機能検出機能: Swift プロキシーサーバーは デフォルトでリクエストに応答するようになりました(無効に設定する事もできます)。リクエストに対する応答はクラスター情報が含まれ、クライアントはそのクラスターがどのような機能をサポートしているかを判断する事ができるようになります。これにより一つのクライアントが複数のSwiftクラスターとコミュニケーションを取り、要求した機能がサポートしている機能があるSwiftクラスターを利用できるようになります。
  • システムメタデータの保持方法: Swiftはアカウントとコンテナのシステムレベルのメタデータをサポートするようになりました。システムメタデータはコアSwiftサーバーを通じてカスタムメタデータを調べる事無く、安全でセキュアな形で関連するSwift リソースの内部カスタムメタデータを格納できるようになります。この新ゲートキーパーミドルウェアによりクライアントから送信あるいはリクエストされたデータからのシステムメタデータのリークを防ぎます。
  • アカウントレベルACLとACLフォーマットv2: アカウントにACLまたは他の形式でのアカウントレベルアクセス制御の特権ヘッダーを持つようになりました。このヘッダーの値は認証システムで解釈できるJSON形式です。インプリメンテーションリファレンスはTempAuthによって提供されています。次のドキュメントを参照してください。http://swift.openstack.org/overview_auth.html
  • オブジェクトレプリケーションssync (rsync代替): Swiftストレージノードはレプリケーション通信用にrsyncの代わりにSwift プリミティブを使えるようになりました。
  • 読み取り失敗時の自動リトライ: オブジェクトサーバーの読み取りのソースタイムアウト時に、指定した範囲での他のサーバーを試す事ができるようになりました。これによりクライアントリクエストの失敗をエンドユーザーに隠す事ができます。
  • 今後のストレージポリシーのための取り組み

既知の問題

現時点ではありません。

アップグレード時の注意

アップグレードに影響する設定の変更については、 https://github.com/openstack/swift/blob/master/CHANGELOG にある完全な変更履歴ノートを読んで下さい。

従来通り、Swift はダウンタイム無しでアップグレードできます。

OpenStack Compute (Nova)

主要な新機能

アップグレード対応

  • 制約付きでライブアップグレード(訳注:稼働中のソフトウェアバージョンアップ)に対応しました。これは、クラウド構築者が Compute のアップグレード実施の為のクラウド全体の停止なしで、最初に制御基盤をアップグレードし、続いて個々のコンピュートノードをアップグレードできるようにします。

Compute ドライバー

Hyper-V
  • RDP(訳注:Windows のリモートデスクトップ)コンソールに対応
Libvirt (KVM)
  • Libvirt ドライバーは今回、Compute インスタンス起動用のカスタマイズされたカーネルコマンドラインオプションを提供できるようになりました。カーネルコマンドラインオプションは、Glance に保存されたイメージメタデータ中の os_command_line キーが提供されていれば、そこから取得されます。提供されていなければ、デフォルトのカーネルコマンドラインオプションが使用されます。
  • Libvirt ドライバーは今回、インスタンス用のブロックデバイスアクセスを提供する為に、VirtIO Block (virtio-blk) の代わりに VirtIO SCSI (virtio-scsi) を使用できるようになりました。VirtIO SCSI は、VirtIO Block の将来的な後継として、改良されたスケーラビリティと性能を実現する目的で設計された準仮想化 SCSI コントローラデバイスです。
  • Libvirt ドライバーは今回、エントロピー増加を提供する為に、Compute インスタンスへの VirtIO RNG デバイス追加に対応しました。Virtio RNG は準仮想化乱数生成器です。これは、コンピュートインスタンスのエントロピープールを充足する為、コンピュートノードがコンピュートインスタンスに対してエントロピーを提供できるようにします。使用されるデフォルトのエントロピーデバイスは /dev/random ですが、ホストに接続されたハードウェア RNG デバイスの使用も可能です。Virtio RNG デバイスの使用は、インスタンス構築に使用されたイメージのメタデータ中の hw_rng プロパティ使用で有効になります。
  • Libvirt ドライバーは今回、デフォルトのビデオドライバー(cirros)以外のビデオドライバーを使用するようインスタンスに設定できるようになりました。これは、異なるビデオドライバーモデル、異なる量のビデオ RAM、異なるモニタ数を指定できるようにします。これらの値はイメージメタデータ中の hw_video_modelhw_video_vramhw_video_head プロパティにより設定できます。現在対応しているビデオドライバーモデルは vgacirrusvmvgaxenqxl です。
  • Libvirt ドライバーにワッチドッグ対応が追加されました。使用されるワッチドッグデバイスは i6300esb です。これは、イメージプロパティ中の hw_watchdog_action プロパティか、フレーバーの拡張仕様 (extra_specs) を disabled 以外の値に設定する事により有効になります。対応する hw_watchdog_action プロパティの値(インスタンス障害イベント中の取りうるワッチドッグデバイス用アクションを意味する)は poweroffresetpausenone です。
  • High Precision Event Timer (HPET) は今回、Libvirt ドライバー使用時に作成されたインスタンスでは無効化されるようになりました。このオプション使用は、Windows ゲストで高負荷時にクロックがずれる問題が発覚したためです。
  • Libvirt ドライバーは今回、より高い信頼性の為に、インスタンス起動中の Neutron イベントの待機に対応しました。これは、これらのイベント送信に対応する、適度に新しい Neutron が必要で、ネットワークの準備完了を期待するインスタンスと、必要となる実際の通信路との間の競合を避ける事ができます。
VMware
  • VMware Compute ドライバーは今回、仮想マシンの Diagnostics(診断)コールに対応しました。Diagnostics は「nova diagnostics INSTANCE」(INSTANCE はインスタンス名またはインスタンスIDで置換)コマンド使用で取得できます。
  • VMware Compute ドライバーは今回、ISOイメージからのインスタンス起動に対応しました。
  • VMware Compute ドライバーは今回、キャッシュされたイメージのエージングに対応しました。
XenServer
  • 全ての XenServer 専用設定項目は名称が変更になり、nova.conf 中の [xenserver] セクションに移動されました。古い項目名は本リリースでは以前機能しますが、古い項目名は今回廃止予定になり、Nova の今後のリリースでこれらの対応が削除される予定です。
  • PCI passthrough のサポートが初めて追加されました。
  • XenServer CI 導入を通じて、グループ B ステータスが保守されました。
  • 複数のエフェメラルディスクにおける マイグレーションリサイズ を含む、エフェメラルディスク対応が改善されました。
  • vcpu_pin_set に対応しました(Dom0 用の CPU リソースを固定する際に必須)。
  • 多数の性能と安定性の向上が行われました。

API

  • Compute API V3 にて OS-DCF:diskConfig API 属性がサポートされなくなりました。
  • Compute API は現在 XML と JSON フォーマット両方をサポートしていますが、XML フォーマットサポートは廃止予定となり、今後のリリースで削除される予定です。
  • Compute API は今回、廃止されたコンピュートノードを永久に削除する機構を公開しました。以前は nova-compute サービスが無効化され、システムが再インストールされた場合にも、nova-compute サービスが一覧に残っていました。この機能は ExtendedServicesDelete API 拡張で提供されています。
  • V3 API の admin_action プラグインを複数のプラグインに分割しました。これにより、運用者は現在 admin_action プラグインが提供している機能のサブセットを有効化する事ができるようになります。
  • Compute サービスは今回、OpenStack Networking (Neutron) での認証時にテナント名の代わりにテナントIDを使用するようになりました。この改良は重複するテナント名を許容する OpenStack Identity API v3 用にサポートされています。
  • Compute API は今回、ハイパーバイザの IP アドレスを公開するようになりました。管理者は nova hypervisor-show コマンドを使用してこの IP アドレスを取得する事ができます。

スケジューラー

  • スケジューラーは今回、初のキャッシュスケジューラードライバ実装を含んでいます。キャッシュスケジューラーはスケジューラーフィルターとウェイトを適用する為の既存の機能を使用しますが、利用可能なホスト一覧をキャッシュします。ユーザーのリクエストがキャッシュスケジューラーに届くと、キャッシュスケジューラーはキャッシュされたホスト一覧をベースにスケジュール実行を試みるので、目に見えてスケジューラー性能が向上します。
  • 新しいスケジューラーフィルター AggregateImagePropertiesIsolation が導入されました。この新しいフィルターは、名前空間のイメージ属性とホストアグリゲートの属性のマッチングをベースにインスタンスをホストにスケジュールします。任意のホストアグリゲートに所属しないホストは、全てのイメージベースのインスタンス用の有効なスケジューリング対象に残されます。どのイメージプロパティがフィルターに評価されるかを明示する為、新しい Compute サービス設定キー aggregate_image_properties_isolation_namespaceaggregate_image_properties_isolation_separator が使用されます。
  • OpenStack Compute のウェイト平準化:以下を参照してください。
    • https://review.openstack.org/#/c/27160/ ウェイトが平準化されました。これにより値を係数でかける必要がなくなりました。ウェイターがノード上に置くウェイトの最大値は 1.0、最小値は 0.0 です。
  • スケジューラーは今回、サーバグループをサポートします。次のタイプがサポートされます:anti-affinity、affinity フィルター。これは、予め定義されたポリシーにしたがってデプロイされたサーバがスケジューリングされます。

他の機能

  • 通知 (Notification) は今回、キーペアの生成・削除においても生成されるようになりました。
  • 通知は今回、Compute ホストの有効化、無効化、電源ON、シャットダウン、再起動、メンテナンスモード突入・解除の際にも生成されるようになりました。
  • Compute サービスは今回、サービスのシャットダウンが要求された際に既に処理中の要求がサービス停止前に完全に処理できるようにするため、新しいリクエスト処理を無効化するグレースフルシャットダウンができるようになりました。
  • Compute サービスは、以前 deleted とマークされたインスタンスが稼働中である事が検出された際に取るべき動作を running_deleted_instance_action 設定キーで定義できます。新しい shutdown 値が追加されました。この新しい値は、管理者がランタイムリソース開放中に診断用にこの状態で見つかったインスタンスを任意で保持できるようにします。
  • OpenStack Compute において、ファイル埋め込み機能は今回、デフォルトで無効化されました。起動時にゲスト OS をカスタマイズする為に、ファイル埋め込み機能の代わりに ConfigDrive やメタデータサーバ機能の利用が推奨されています。ファイル埋め込み機能を有効にするためには、/etc/nova/nova.conf 中の inject_keyinject_partition 設定項目を修正し、nova-compute サービスを再起動して下さい。ファイル埋め込み機能は今後のリリースで削除される可能性があります。
  • ファイル中の全ての設定グループが見てわかる名前をちゃんと使用する目的で、/etc/nova/nova.conf 設定ファイルのフォーマットに数々の変更が行われました。多数のドライバ固有フラグ(Libvirt ドライバを含む)は固有ののオプショングループに移動されました。

既知の問題

  • OpenStack Compute は他のプロジェクトのより新しい API バージョンを使用するいくつかの機能がありますが、Icehouse でテストされた API バージョンは以下のものだけです。
    • Keystone v2
    • Cinder v1
    • Glance v1

アップグレード時の注意

  • スケジューラーとウェイトの平準化 (https://review.openstack.org/#/c/27160/): 以前のリリースでは、Compute と Cells のスケジューラーは生のウェイト(=ウェイターが返した値で、ウェイトを扱うプロセスにより使用される)を使用していました。
    • Compute 用の複数のウェイターを使用している場合:
      • 複数のウェイターを使用する場合(以前のリリースでは、Nova は compute 用のウェイターを1つだけ公開していました)、大きな生の値を返す他のウェイターに対して重要なウェイターを優先させる為に、係数を人為的に増やす事が可能です。あなたのウェイターをチェックし、今回1ホストあたりのウェイトの最大値・最小値が常に 1.00.0 となるよう量を調整する必要があります。
    • セルを使用している場合:
      • nova.cells.weights.mute_child.MuteChild: ウェイターは、暫くその容量を更新していない子セルにアサインされたウェイトとして mute_weight_value 値を返します。これはまだ使用できますが、(値が 1.0 となるので)ウェイトを扱うプロセスによって最終的なウェイトが計算される時に効果がない事になります。子セルを無効化する為にウェイターを使用する場合、mute_weight_multiplier を調整する必要があります。
      • nova.cells.weights.weight_offset.WeightOffsetWeigher は新しい設定オプション offset_weight_multiplier を導入しました。この新しいオプションは調整する必要があります。以前のリリースでは、ウェイターはウェイトを扱うプロセスで各セル用にオフセットを設定された値を返していました。これらの中の勝者が依然同じである間、勝者はウェイト値 1.0 を得ます。どの他のウェイターに対してもこの勝者を優勢にする為にこのウェイターを使用して、この値を信用するのであれば、この係数を適切に調整する必要があります。
  • 初期の Docker Compute ドライバは Havana リリースに含まれていました。このドライバは Nova から独自のリポジトリに移されました。新しい場所は http://git.openstack.org/cgit/stackforge/nova-docker です。
  • https://review.openstack.org/50668 - compute_api_class 設定オプションは削除されました。
  • https://review.openstack.org/#/c/54290/ - 以下の廃止予定の設定オプションエイリアスは、新しい名前を使用する方向で削除されました。
    • service_quantum_metadata_proxy
    • quantum_metadata_proxy_shared_secret
    • use_quantum_default_nets
    • quantum_default_tenant_id
    • vpn_instance_type
    • default_instance_type
    • quantum_url
    • quantum_url_timeout
    • quantum_admin_username
    • quantum_admin_password
    • quantum_admin_tenant_name
    • quantum_region_name
    • quantum_admin_auth_url
    • quantum_api_insecure
    • quantum_auth_strategy
    • quantum_ovs_bridge
    • quantum_extension_sync_interval
    • vmwareapi_host_ip
    • vmwareapi_host_username
    • vmwareapi_host_password
    • vmwareapi_cluster_name
    • vmwareapi_task_poll_interval
    • vmwareapi_api_retry_count
    • vnc_port
    • vnc_port_total
    • use_linked_clone
    • vmwareapi_vlan_interface
    • vmwareapi_wsdl_loc
  • PowerVM ドライバは削除されました: https://review.openstack.org/#/c/57774/
  • nova.conf 中の keystone_authtoken のデフォルト値は変更されました: https://review.openstack.org/#/c/62815/
  • libvirt lvm 名は instance_name_template からインスタンスの UUID に変更されました (https://review.openstack.org/#/c/76968)。デフォルトでない instance_name_template を使用している場合、マニュアルのクリンナップが必要になる可能性があります。
  • rbd ディスク名は instance_name_template からインスタンスの UUID に変更されました。変更後に古い仮想ディスクの手動削除が必要になります(TBD レビュー)
  • Icehouse は要件により libguestfs を導入しました。現在 Havana を実行中のシステム上の Icehouse インストールの依存性は、Havana ノードが libguestfs 使用の開始と、それによる予期せぬ障害の原因になる可能性があります。Nova のパッケージ群を最新版に更新する場合、システム上のパッケージアップグレードを開始する前に、Havana ノード上で libvirt_inject_partition=-2 を設定する事をおすすめします。
  • プライベートなフレーバの作成は、今回自動的なテナントへのアクセスを追加するようになりました。これは Havana で文書化されていた挙動ですが、Havana 以前の実際の Nova の実装ではテナントが自動的にプライベートフレーバへのアクセスが追加されませんでした。
  • Nova は従来、nova.conf.sample を含んでいました。このファイルは自動的に生成されていましたが、今回、直には含まれなくなりました。Nova をパッケージ化する際にサンプルの設定ファイルを含めたい場合、etc/nova/README.nova.conf を見てパッケージ作成時にファイルを生成する方法を確認して下さい。
  • Nova は今回、libvirt ゲストが起動する際に Neutron からのイベントを要求するのがデフォルトになりました。Neutron の前に Nova をアップグレードする場合、vif_plugging_is_fatal=Falsevif_plugging_timeout=0 を設定して Neutron がその機能をサポートするまで、Nova でその機能を無効化しなければなりません。推奨の順番は、Nova (本機能を無効化)、Neutron(通知を有効化)、vif_plugging_timeout はデフォルト値で vif_plugging_is_fatal=True を有効化の順番です。
  • Nova は Icehouse で compute ノードの限定的なライブアップグレードモデルに対応しました。これを行う為には、[upgrade_levels]/compute=icehouse-compat を設定して、まず制御基盤(nova-coimpute 以外全て)のアップグレードを行います。これは、Icehouse の制御サービスに Havana の compute サービスと会話できるようにします。個々の compute ノードのアップグレードは、この後通常通り行うことが出来ます。全ての compute がアップグレードされたら、compute バージョンオプションをデフォルト値に戻して、制御サービスを再起動して下さい。
  • 以下の設定オプションは、本リリースで廃止予定となりました。 nova.conf.sample を参照して、これらの代替オプションを確認して下さい。[GROUP]/option
    • [DEFAULT]/rabbit_durable_queues
    • [rpc_notifier2]/topics
    • [DEFAULT]/log_config
    • [DEFAULT]/logfile
    • [DEFAULT]/logdir
    • [DEFAULT]/base_dir_name
    • [DEFAULT]/instance_type_extra_specs
    • [DEFAULT]/db_backend
    • [DEFAULT]/sql_connection
    • [DATABASE]/sql_connection
    • [sql]/connection
    • [DEFAULT]/sql_idle_timeout
    • [DATABASE]/sql_idle_timeout
    • [sql]/idle_timeout
    • [DEFAULT]/sql_min_pool_size
    • [DATABASE]/sql_min_pool_size
    • [DEFAULT]/sql_max_pool_size
    • [DATABASE]/sql_max_pool_size
    • [DEFAULT]/sql_max_retries
    • [DATABASE]/sql_max_retries
    • [DEFAULT]/sql_retry_interval
    • [DATABASE]/reconnect_interval
    • [DEFAULT]/sql_max_overflow
    • [DATABASE]/sqlalchemy_max_overflow
    • [DEFAULT]/sql_connection_debug
    • [DEFAULT]/sql_connection_trace
    • [DATABASE]/sqlalchemy_pool_timeout
    • [DEFAULT]/memcache_servers
    • [DEFAULT]/libvirt_type
    • [DEFAULT]/libvirt_uri
    • [DEFAULT]/libvirt_inject_password
    • [DEFAULT]/libvirt_inject_key
    • [DEFAULT]/libvirt_inject_partition
    • [DEFAULT]/libvirt_vif_driver
    • [DEFAULT]/libvirt_volume_drivers
    • [DEFAULT]/libvirt_disk_prefix
    • [DEFAULT]/libvirt_wait_soft_reboot_seconds
    • [DEFAULT]/libvirt_cpu_mode
    • [DEFAULT]/libvirt_cpu_model
    • [DEFAULT]/libvirt_snapshots_directory
    • [DEFAULT]/libvirt_images_type
    • [DEFAULT]/libvirt_images_volume_group
    • [DEFAULT]/libvirt_sparse_logical_volumes
    • [DEFAULT]/libvirt_images_rbd_pool
    • [DEFAULT]/libvirt_images_rbd_ceph_conf
    • [DEFAULT]/libvirt_snapshot_compression
    • [DEFAULT]/libvirt_use_virtio_for_bridges
    • [DEFAULT]/libvirt_iscsi_use_multipath
    • [DEFAULT]/libvirt_iser_use_multipath
    • [DEFAULT]/matchmaker_ringfile
    • [DEFAULT]/agent_timeout
    • [DEFAULT]/agent_version_timeout
    • [DEFAULT]/agent_resetnetwork_timeout
    • [DEFAULT]/xenapi_agent_path
    • [DEFAULT]/xenapi_disable_agent
    • [DEFAULT]/xenapi_use_agent_default
    • [DEFAULT]/xenapi_login_timeout
    • [DEFAULT]/xenapi_connection_concurrent
    • [DEFAULT]/xenapi_connection_url
    • [DEFAULT]/xenapi_connection_username
    • [DEFAULT]/xenapi_connection_password
    • [DEFAULT]/xenapi_vhd_coalesce_poll_interval
    • [DEFAULT]/xenapi_check_host
    • [DEFAULT]/xenapi_vhd_coalesce_max_attempts
    • [DEFAULT]/xenapi_sr_base_path
    • [DEFAULT]/target_host
    • [DEFAULT]/target_port
    • [DEFAULT]/iqn_prefix
    • [DEFAULT]/xenapi_remap_vbd_dev
    • [DEFAULT]/xenapi_remap_vbd_dev_prefix
    • [DEFAULT]/xenapi_torrent_base_url
    • [DEFAULT]/xenapi_torrent_seed_chance
    • [DEFAULT]/xenapi_torrent_seed_duration
    • [DEFAULT]/xenapi_torrent_max_last_accessed
    • [DEFAULT]/xenapi_torrent_listen_port_start
    • [DEFAULT]/xenapi_torrent_listen_port_end
    • [DEFAULT]/xenapi_torrent_download_stall_cutoff
    • [DEFAULT]/xenapi_torrent_max_seeder_processes_per_host
    • [DEFAULT]/use_join_force
    • [DEFAULT]/xenapi_ovs_integration_bridge
    • [DEFAULT]/cache_images
    • [DEFAULT]/xenapi_image_compression_level
    • [DEFAULT]/default_os_type
    • [DEFAULT]/block_device_creation_timeout
    • [DEFAULT]/max_kernel_ramdisk_size
    • [DEFAULT]/sr_matching_filter
    • [DEFAULT]/xenapi_sparse_copy
    • [DEFAULT]/xenapi_num_vbd_unplug_retries
    • [DEFAULT]/xenapi_torrent_images
    • [DEFAULT]/xenapi_ipxe_network_name
    • [DEFAULT]/xenapi_ipxe_boot_menu_url
    • [DEFAULT]/xenapi_ipxe_mkisofs_cmd
    • [DEFAULT]/xenapi_running_timeout
    • [DEFAULT]/xenapi_vif_driver
    • [DEFAULT]/xenapi_image_upload_handler

OpenStack Image Service (Glance)

主要な新機能

既知の問題

ありません。

アップグレード時の注意

  • Glance は oslo.messaging を使用して、独自の通知コードをリプレースしました。notification_driver + transport_url の組合せの使用が推奨されます。古い設定 notifier_strategy は廃止予定ですが、まだ機能します。

OpenStack Dashboard (Horizon)

主要な新機能

サポート言語

  • I18nTeam のご協力によりHorizonは次の言語をサポートしました。ヒンディー語、ドイツ語、セルビア語. オーストラリア英語、イギリス英語、ドイツ語、フランス語、日本語、韓国語、ポーランド語、ポルトガル語、簡体字と繁体字の中国語、スペイン語、ロシア語への翻訳が更新されました。

Nova

  • ライブマイグレーションサポート
  • HyperV コンソールサポート
  • ディスク設定サポート
  • ホストアグリゲーションとアベイラビリティゾーンの管理サポートの改善
  • フレーバ拡張スペックの設定サポート

Cinder

  • Cinder表示でロールベースのアクセスサポート
  • v2 API サポート
  • ボリュームの拡張のサポート

Neutron

  • ルータルールサポート -- neutronからリターンしたルータルールを表示します。

Swift

  • パブリックコンテナーの作成およびそれらのコンテナーへのリンク提供のサポート
  • 擬似ディレクトリの明示的作成のサポート  

Heat

  • 既存スタックを更新する機能
  • テンプレートの検証
  • 環境ファイル追加のサポート

Ceilometer

管理者は、サービス全体にわたるプロジェクトごとの日次使用状況レポートを表示できるようになりました。

ユーザーエクスペリエンスの向上

  • ナビゲーションの拡張性強化
    • ダッシュボードおよびパネルのプライマリナビゲーションが更新され、タブ型ナビゲーションに代わってアコーディオン型ナビゲーションが実装されました。ページナビゲーションでダッシュボードおよびパネルグループの展開と折りたたみができるようになりました。この変更により、より多くのダッシュボードを追加できるようになった上、ダッシュボード内のパネル数の増加に対応します。
  • ウィザード
    • Horizon では、複数ステップの相互依存タスクを完了するためのウィザードコントロールが提供されるようになりました。この機能は、ネットワーク作成のアクションで利用されています。
  • テーブルのインライン編集
    • テーブル内のフィールドの編集をサポートするようにテーブルが記述することが可能となり、別のフォームを開く必要性が低減されました。管理ダッシュボード、プロジェクトパネルは、この最初の使用例です。
  • セルフサービス型のパスワード変更
    • Identity API v3 (Keystone) の拡張機能を活用することにより、ユーザーは管理者の介入なしに自分のパスワードを変更できるようになりました。この機能は、以前は Identity API v2.0 のみで利用可能でした。
  • サーバー側のテーブルフィルタリング
    • テーブルを容易にワイヤリングできるようになり、単にオンページ検索を実行するのではなく、ユーザーが選択した検索条件に基づいて、基となっている API コールからの結果をフィルタリングできるようになりました。

フレームワーク

  • JavaScript
    • ユーザーエクスペリエンス改善策として、AngularJS が主要 JavaScrip フレームワークとして Horizon に採用されました。JavaScript は、Horizon インターフェースを実行するためのブラウザーの必要条件となりました。Juno よりさらなる改善が図られます。
      • Horizon で使用する再利用可能なチャートの追加
      • Jasmine テストライブラリの統合
  • Django 1.6 の完全サポート
  • プラグインアーキテクチャー
    • Horizon は、ダッシュボード、パネルグループ、およびパネルの動的なローディング/無効化に対応するようになりました。有効化されたディレクトリに単にファイルを追加するだけで、Horizon にロードされる項目の選択を変更することができます。Django 設定ファイルを編集する必要がなくなりました。
  • 統合テストフレームワーク
    • Horizon は、稼働中の devstack システムに対する統合テストの実行をサポートするようになりました。テストスイートには制限がありますが、これは極めて重要な進歩です。

既知の問題

Identity API v3 のマルチドメインサポートを利用した場合、ユーザーはデフォルトドメイン以外のドメインのリソースを管理できません。

アップグレード時の注意

JavaScript をサポートするブラウザの利用が前提になりました。

"can_set_password" のデフォルト値が False になりました。明示的に True に設定しない限り、インスタンス起動画面ではインスタンスの「管理者パスワード (Admin password)」の設定項目が表示されません。すべてのハイパーバイザーがこの機能に対応しているわけではなく、これはユーザーにとって紛らわしいことです。また、現在ではパスワードを取得するもっと安全な方法が提供されています (LP#1291006 参照)。

"can_set_mountpoint" のデフォルト値が False になりました。 ダッシュボードでボリュームのマウントポイントの設定項目を追加するには、設定ファイルで True に設定する必要があります。現在のところ、Xen ハイパーバイザーだけがこの機能をサポートしています (LP#1255136 参照)。

OpenStack Identity (Keystone)

主要な新機能

  • 新しい v3 API 機能
    • /v3/OS-FEDERATION/ により、Keystong は複数の認証プロバイダ用に Shibboleth を介した連合認証ができるようになり、連携属性を OpenStack グループベースのロール割当にマッピングできるようになりました (documentation 参照)。
    • POST /v3/users/{user_id}/password により、API ユーザーが自身のパスワードを更新できるようになりました (documentation 参照)。
    • GET v3/auth/token?nocatalog により、API ユーザーはオンライントークン検証実行時にサービスカタログ受信のオプトアウトができるようになりました (documentation 参照)。
    • /v3/regions は複数リージョンのデプロイ記述用のパブリックインターフェースを提供します (documentation 参照)。
    • /v3/OS-SIMPLECERT/ は今回、PKI トークン検証に使用される証明書を発行します (documentation 参照)。
    • /v3/OS-TRUST/trusts は今回、trustsremaining_uses 属性を介した、限定利用の委託(delegation)を提供可能になりました。
  • アサインバックエンド(認可データの情報源)は今回、アイデンティティバックエンド(認証データの情報源)から完全に切り離されました。これは、例えばあなたのデプロイのアイデンティティデータを LDAP に置き、認可データを SQL に置くことができるようになったという事です。
  • トークン KVS ドライバは今回、Redis, Cassandra, MongoDB のような永続的なキーバリューストアへの書き込みに対応しました。
  • Keystone のドライバインターフェースは今回、リリース間のカスタムドライバ実装の互換性追跡が簡単になるように、Abstract Base Classes (ABC) として実装されました。
  • Keystone のデフォルト etc/policy.json は読みやすいフォーマットに書き換えられました。
  • Notifications は今回、ロール、グループ、トラストの生成・更新・削除イベントの応答で発行されるようになりました。
  • カスタムの拡張やドライバ実装は今回、「disable」イベント(これは「update」イベントの一部としてのみ外部に公開される)を含む内部のみのイベント通知を受信できるようになりました。
  • Keystone は今回、認証イベントの応答としてCloud Audit Data Federation (CADF) イベント通知を発行するようになりました。
  • 追加プラグインは、単一ドメイン対複数ドメインのデプロイを尊重して REMOTE_USER を介して外部の認証を扱う為に提供されます。
  • policy.json は今回、例えば %(target.{entity}.domain_id)s を用いて、ドメイン指向の操作でターゲットドメイン上の強制ができるようになりました。アサイメントバックエンド用の LDAP ドライバは今回、グループベースのロール割当操作に対応しました。
  • Keystone は今回、トークン廃止「リスト」対応を引き続き提供するのに加え、トークン廃止「イベント」を発行するようになりました。トークン廃止イベントは(トークン廃止リストと比較して)オーバーヘッドが極力小さくなるよう設計されており、Juno リリース開発中に Keystone がトークン永続性を除去できるようになります。
  • デプロイヤは今回、API 応答でコレクションの任意のサイズ制限を定義できるようになりました(例えば、GET /v3/users が 10,000 ユーザーではなく 100 ユーザーのみ応答するよう設定できます)。クライアントには切り捨てが発生した事が通知されます。
  • 要求された Accept-Language ヘッダに従って応答を翻訳する為の遅延翻訳が可能になりました。
  • Keystone は今回、国際化対応のログメッセージを発行するようになりました。
  • コレクションのフィルタリングは今回、可能であれば、性能改善の為にドライバレイヤで実行されるようになりました。

既知の問題

  • Bug 1291157: OS-FEDERATION 拡張使用時、アイデンティティプロバイダ又はプロトコルを削除しても以前発行されたトークンが拒否されません。これは stable/icehouse ブランチでは修正されない予定です。
  • Bug 1308218: GET /v2.0/tenants/{tenant_id}/users の応答で重複するユーザーリソースが返される可能性が有ります。

アップグレード時の注意

  • v2 API は廃止に向けた準備に入りましたが、Icehouse リリースでは安定版としてサポートされます。 Juno リリースにおいて現在対応待ちの v3 API のサポートが広く行われれば、v2 API は公式に廃止予定となる可能性があります。
  • keystone.middleware.auth_token の後方互換性は削除されました。auth_token ミドルウェアは今後 Keystone からは提供されないので、代わりに keystoneclient.middleware.auth_token をインポートしなければなりません。
  • s3_token ミドルウェアモジュールは今後 Keystone から提供されないので、代わりに keystoneclient.middleware.s3_token をインポートしなければなりません。keystone.middleware.s3_token の後方互換性は Juno で削除される予定です。
  • デフォルトのトークン期間は 24 時間から 1 時間に削減されました。これにより、どの時点でも永続的に保持しなければならないトークン数が効果的に削減され、また (PKI デプロイでは) トークン削除リストのオーバヘッドが削減されます。
  • keystone.contrib.access.core.AccessLogMiddleware は、eventlet のデバッグアクセスログまたは Apache httpd アクセスログのいずれかを使う方向で廃止予定となりました。K リリース(訳注:Juno の次のリリース)で削除される可能性があります。
  • keystone.contrib.stats.core.StatsMiddleware は外部ツールを使用する方向で廃止予定となりました。Kリリースで削除される可能性があります。
  • keystone.middleware.XmlBodyMiddleware は "application/json" 対応のみの方向で廃止予定となりました。Kリリースで削除される可能性があります。
  • v3 API バージョンの EC2 クレデンシャルシステムが実装されました。これを使用する為には、 keystone-paste.ini に以下のセクションが必要となります。
[filter:ec2_extension_v3]
paste.filter_factory = keystone.contrib.ec2:Ec2ExtensionV3.factory

... また、ec2_extension_v3keystone-paste.ini[pipeline:api_v3] セクション中にパイプライン変数を追加する必要があります。

  • サンプルの policy.jsonpolicy.v3cloudsample.json で更新されたように 新しい v3 EC2 クレデンシャル CRUD のルールを提供する為、etc/policy.json が更新されました。
  • マイグレーション番号 38~40 は、全てのロール割り当てデータを、ロール参照用に第一クラスのカラムを持つ1つの統合されたテーブルに移動させます。
  • ????? TODO: 上記移動の逆マイグレーションは oslo-incubator db に
  • 新しい設定オプション mutable_domain_id は、ドメインレベルの管理境界に関するセキュリティを強化するために、デフォルトでは false になっています。これにより、Havana であなたが使用している API 機能が動作しないかもしれません。もし問題があれば、値を true に設定し、是非 Keystone コミュニティにあなたのユースケースを教えて下さい。
  • TODO: 理想的ではないすべてのデフォルト値は、今後変更される可能性があります。
  • Keystone のイベント通知発行機能の oslo.messaging への移行により、潜在的に Havana の設定項目とは互換性のない新しい設定オプションが必要になります (TODO: 新旧設定値の列挙)。

OpenStack Network Service (Neutron)

主要な新機能

Icehouseでは、Neutronの安定性とテストに注力し、既存の多くのプラグインとドライバーの性能や安定性の問題が修正されました。

新しいドライバーとプラグイン

  • IBM SDN-VE
  • Nuage
  • OneConvergence
  • OpenDaylight

新しいロードバランサ用ドライバー

  • Embrane
  • NetScaler
  • Radware

新しいVPN用ドライバー

  • Cisco CSR

既知の問題

  • Novaの新しいコールバック機能を利用する際、nova_urlの URL にバージョンを含める必要があります。(例) "http://127.0.0.1:8774/v2"
  • ミドクラは Icehouse 版の Midonet プラグインを外部の公開レポジトリでメンテナンスしています。プラグインは https://github.com/midokura/neutron にあります。詳しい情報は Midokura に問い合わせてください (info@midokura.com)。
  • Advance Service プラグイン (訳注: LBaaS, VPNaaS などの高度なネットワークサービス) が有効な場合、スキーママイグレーションにおいて設定によってはスキーマが正常にアップデートできない可能性があります。そのため、実システムを移行する前に、データーベースのコピーを使ってマイグレーションのテストを行ってください。Neutronチームは次期マイナーアップデートにて、本問題に取り組む予定です。

アップグレード時の注意

  • OVSプラグインとLinux Bridgeプラグインは非推奨となったため、使用しないでください。OVSとLinux Bridgeプラグインは、ML2プラグインに統合されたため、ML2プラグイン一つでサポートされます。Havanaより、ML2プラグインに変換するための移行スクリプト が提供されています。移行後はロールバックできないため、実システムで実施する前にデーターベースのコピーを使ってテストすることを推奨します。
  • Neutronチームは、古いQuantumの設定ファイルオプションを次期リリースまで延長サポートしています。Icehouseが、これらのオプションがサポートされる最後のリリースとなりますので、Neutronのオプションへのアップデートを推奨します。
  • APIとのやり取りに、XMLは非推奨となります。将来のリリースでXMLは廃止されるため、できるだけ早くJSONでのやり取りに移行してください。

OpenStack Block Storage (Cinder)

主要な新機能

  • 既存ボリュームのタイプを変更可能(retype)
  • Cinderバックアップオブジェクトへのボリュームメタデータのサポートを追加。
  • 複数APIワーカーの実装。
  • クォータの削除が可能に。
  • Cinderへのバックアップインポート・エクスポートが可能に。
  • ボリュームアタッチ・デタッチ時の自動FCゾーニングを行うFiber Channel ゾーンマネージャが追加。
  • ボリュームタイプの暗号化のアップデートが可能に。
  • アタッチ・デタッチ時にCeilometer notificationsを行う。

新しいバックエンド用のドライバーとプラグイン

  • EMC VMAX/VNX SMI-S FC ドライバー
  • EMC VNX iSCSI ダイレクトドライバー
  • HP MSA 2040
  • IBM SONAS と Storwize V7000 Unified Storage Systems
  • NetApp ESeries

既知の問題

  • 複数サーバで接続失敗の再接続を行う場合、常に最初のサーバへ接続する (Bug: #1261631)
  • Storwize/SVC ドライバーはボリュームコピーの状態を確認するとクラッシュする(Bug: #1304115)
  • Glance API v2 がサポートされていない (Bug: #1308594)
  • Cinder v1を有効にしておくことが推奨されます。Novaはまだv2と疎通することができません。

アップグレードの注意

  • 強制デタッチAPIは管理者のみが呼び出せるようようになり、このAPIのポリシーのデフォルトも管理者とオーナーではなくなりました。
  • Simple/Chance スケジューラーは削除されました。同じ機能を使う場合には代わりにFilterスケジューラーを使う必要があり、cinder.conf へ scheduler_driver=cinder.scheduler.filter_scheduler.FilterScheduler を設定します。
  • hp3par_domain オプションはHavanaリリース時に非公式に削除されていまし。これは何もしません。

OpenStack Telemetry (Ceilometer)

主要な新機能

  • API 追加
    • クエリー制約でのメーター、サンプル、アラームの項目の任意の複雑な組み合わせへの対応
    • ストレージドライバー固有の機能を見つけるためのケーパビリティ API
    • 統計情報の選択的な集約機能、新規のカーディナリティ関数や標準偏差関数
    • メーターとは独立した、サンプルへの直接アクセス
    • StackTach 形式のイベント API
  • アラーム機能の改善
    • 時間制約付きのアラーム。 1日の中での時間や週の日に基づいて上限や下限を設定できるようになりました。
    • サンプル数が異常に少ないデータの除外
    • 閾値に基づくアラームにより適した、ディスクとネットワーク用のレートベースのメーター
  • 組み込みタッチポイント
    • collector を、外部通知を発行する独立した通知エージェントに分割
    • プラグイン式のリソース検出におけるパイプライン設定を再設計
    • 生の通知ペイロードの設定可能な永続性(StackTach スタイル)
  • ストレージドライバー
    • HBase, SQLAlchemy, DB2 ドライバー間の機能互換性をほぼ達成
    • リソースクエリーの最適化
    • HBase: アラーム機能のサポート
  • 新しいメトリックスの情報源
    • SDN コントローラ上の Neutron ノースバウンド API
    • VMware vCenter Server API
    • ベアメタルホスト上の SNMP デーモン
    • OpenDaylight REST API

既知の問題

アップグレード時の注意

  • 既存の collector サービスは、アップグレード後に同様に起動しなければならない新しい通知エージェントと連携するよう拡張されました。
  • MongoDB ストレージドライバは今回、MongoDB バージョン 2.4 以降のインストールを要求します(Havana では 2.2 でした)。アップグレード手順 を参照して下さい。

OpenStack Orchestration (Heat)

主要な新機能

  • HOT テンプレート: HOT テンプレートフォーマット が Heat テンプレートを編集する際の推奨フォーマットとしてサポートされるようになりました。
  • OpenStack リソース: 他のテンプレートからネイティブの OpenStack リソースに移植するのに十分なリソースタイプが使えるようになりました。
  • ソフトウェア設定: ソフトウェア設定を様々な手法やツールを使って実行するための新しい API とリソースが追加されました。
  • 非管理者ユーザー: 管理者ユーザー権限なしで任意のスタックを起動できるようになりました。スタックのドメインユーザーを設定してこの機能を有効にする際には、アップグレード時の注意を参照してください。* オペレーター API: クラウドオペレーターが全スタックを操作するための専用の管理者 API が提供されます。
  • リソースのオートスケーリング: OS::Heat::AutoScalingGroupOS::Heat::ScalingPolicy は、リソースの任意のコレクションのオートスケーリングを可能にします。
  • 通知 (Notifications): スタックの状態変化やオートスケーリングのトリガーなどのイベント発生時に Heat は RPC 通知を送信するようになりました。
  • Heat engine のスケーリング: オーケストレーションの負荷を複数の heat-engine インスタンスで分散できるようになりました。ロックはプラグイン構造の分散ロックで調停されます。デフォルトでは SQL ベースのロックプラグインが使われます。
  • get_file を用いたファイル埋め込み: intrinsic function get_file は、作成・更新アクションのスタック用にファイルを埋め込めるようにする為に python-heatclient と Heat が使用します。これは、ファイルの設定や分割したファイル中のネストしたスタックに有用です。
  • Cloud-init リソース: OS::Heat::CloudConfig, OS::Heat::MultipartMime
  • スタックの abandon (放棄) とadopt (引き取り): スタックの abandon ができるようになりました。adandon では、実際の OpenStack リソースを削除せずに Heat からスタックを削除します。 abandon されたデータはスタックの adopt で利用できます。 adopt は、すでに存在する OpenStack リソースを使って新しいスタックを作成します。 adopt 機能は、Icehouse リリースの Heat では実験的な機能と考えてください。
  • スタックのプレビュー: スタックプレビューアクションを使うと、指定されたテンプレートでスタックを作成した場合に作成されるリソースのリストが得られます。
  • 新規のリソース: 以下のリソースがこのリリースで新たに実装されました。

既知の問題

  • stack-update の操作中に何らかのエラー (例: クラウドの一時的なエラー、Heat のバグ、ユーザーテンプレートのエラーを原因とするエラーなど) が発生すると、スタックが修復不可能なエラー状態になる可能性があります。現在、スタックの更新を試みるのは、スタックを削除して再作成することによるエラーから回復が実行可能な場合のみに推奨されます。
  • stack-adopt の操作は、実験的な機能と考えるべきです。
  • CFN API は、全エラーに対して HTTP ステータスコード 500 を返します (bug 1291079)。
  • ボリューム切断の競合が原因で、ボリューム接続が含まれるスタックの削除を複数回試みる必要がある場合があります (bug 1298350)。

アップグレード時の注意

Heat のセキュリティモデルについての全般的な注意を読んでください。

下記の遅延認証方法とスタックドメインユーザーのセクションを参照して下さい。

非推奨となったリソース

以下のリソースはこのリリースで非推奨となりました。将来削除されることがあります。

  • OS::Neutron::RouterGateway はもはや使用すべきではありません。代わりに OS::Neutron::Router の external_gateway_info プロパティを使ってください。

遅延認証方法

デフォルトの deferred_auth_method である password は Icehouse では非推奨です。したがって、この設定はデフォルトですが、Heat をデプロイする場合には deferred_auth_method=trusts を使うように変更することを強く推奨します。この設定が Juno でのデフォルトになる予定です。このモデルには以下の利点があります。

  • Heat のデーターベース内にユーザー認証情報を保持するのを避けることができます。
  • スタック作成時にパスワードやトークンを指定する必要がなくなります。
  • ユーザーの代理として Heat のサービスユーザーが実行できるアクションを制限することができます。

遅延操作で trusts を有効にするには、

  • Keystone サービスで Heat が OS-TRUST extension を使用するように確実に設定します。
  • /etc/heat/heat.confdeferred_auth_method = trusts を設定します。
  • (オプション) heat サービスユーザーに委譲するロール (heat.conftrusts_delegated_roles) を指定します (trusts_delegated_roles のデフォルト値は heat_stack_owner で、以下ではこの値を使います。自サイトの RBAC ポリシーに合うロールリストに変更することもできます)。
  • 委譲するロールは確実に存在するようにします。例えば、keystone role-list を実行すると heat_stack_owner が表示されることを確認します。
  • Heat スタックを作成する全ユーザーが、そのスタックを作成するプロジェクトにおいてこのロールを持つようにします。 スタック所有者 (そのスタックを作成したユーザー) と heat サービスユーザー間の trust がスタック作成時に Heat により作成され、スタックが存在している間ずっと heat_stack_user ロールが heat サービスユーザーに委譲されます。

より詳細な情報については このブログ記事 を読んでください。

スタックドメインユーザー

管理者以外のユーザーが特定のリソースを作成できるようにするには、デプロイ時に行うべき設定があり、keystone ドメインとドメイン管理者ユーザーを作成する必要があります。作成しなかった場合、Heat は以前の動作に戻って動作しますが、この挙動は Juno ではなくなる可能性があります。

$OS_TOKEN はトークンを表します。例えば、サービス管理用トークンや、ユーザーやドメインを作成できるロールを持ったユーザーの有効なトークンなどです。 $KEYSTONE_ENDPOINT_V3 は v3 keystone エンドポイントを表します。例えば、http://<keystone>:5000/v3 (なお、<keystone> は keystone サービスの IP アドレスか解決可能なホスト名) です。

手順の概要:

  • python-openstackclient を用いて "heat" keystone ドメインを作成します (keystoneclient CLI インタフェースはドメインをサポートしていません)
   openstack --os-token $OS_TOKEN --os-url=$KEYSTONE_ENDPOINT_V3 --os-identity-api-version=3 domain create heat --description "Owns users and projects created by heat"

このコマンドはドメイン ID を返します。この値を以下では $HEAT_DOMAIN_ID として参照します。

  • "heat" ドメイン用のドメイン管理者ユーザーを作成します。
   openstack --os-token $OS_TOKEN --os-url=$KEYSTONE_ENDPOINT_V3 --os-identity-api-version=3 user create --password $PASSWORD --domain $HEAT_DOMAIN_ID heat_domain_admin --description "Manages users and projects created by heat"

このコマンドはユーザー ID を返します。この値を以下では $DOMAIN_ADMIN_ID として参照します。

  • ドメインの管理者ロールを追加して、作成したユーザーをドメイン管理者にします。
   openstack --os-token $OS_TOKEN --os-url=$KS_ENDPOINT_V3 --os-identity-api-version=3 role add --user $DOMAIN_ADMIN_ID --domain $HEAT_DOMAIN_ID admin
  • heat.conf に作成したドメイン ID とドメイン管理者ユーザーのユーザー名/パスワードを設定します。
   stack_domain_admin_password = <password>
   stack_domain_admin = heat_domain_admin
   stack_user_domain = <domain id returned from domain create above>

詳しい情報は このブログ記事を読んでください。

OpenStack Database service (Trove)

主要な新機能

  • ユーザー / スキーマの管理
    • ユーザーは MySQL のユーザーとスキーマの CRUD 操作を Trove API 経由で行うことができます。
  • フレーバー/ Cinder ボリュームのリサイズ
    • Trove インスタンスを規定するフレーバーの拡張/縮小ができます。
    • データストアがより大きなボリュームが必要とする場合 Cinder ボリュームの拡張ができます。
  • 複数データストアへの対応
    • MySQL と Percona の全機能でのサポート。
    • MongoDB, Redis, Cassandra, Couchbase の実験的なサポート (全機能ではない)。
  • 設定グループ
    • 設定オプションのグループを定義し、新規のインスタンスや既存のインスタンスに適用できます。
  • バックアップとリストア
    • データストアが提供するバックアップソフトウェアを実行し、出力を Swift コンテナーに送ります。
    • フルバックアップと差分バックアップ。
  • Designate による DNS サポート (オプション)
    • インスタンスの DNS を設定するかを指定するフラグがあります。

既知の問題

今のところありません。

アップグレード時の注意

  • Trove Conductor は新しいデーモンで、ゲストからのデーターベース通信をプロキシーします。このサービスをインストールして実行する必要があります。
  • 新しいデータストア機能を利用するには、オペレーターはあなたのシステムでサポートしたいデータストアを定義 (または削除) する必要があります。
  • 新しい機能である設定グループを使うと、オペレーターは特定のデータストア向けに設定オプションのサブセットを定義できます。

OpenStack Documentation

主要な新要素

日本語版備考

  • 原文バージョン : https://wiki.openstack.org/w/index.php?title=ReleaseNotes/Havana&oldid=49583
    • 原文の変更があった場合は、差分を日本語版にも反映してください。原文のままでも構いません。
    • 更新時は上記の「原文バージョン」も更新してください。History を確認して、更新日付のところのリンクの URL を貼り付けてください。

翻訳ボランティア

  • Amotoki
  • Gang Sung Jin
  • Nao
  • Yuko Katabami
  • Yosshy (吉山あきら)