Jump to: navigation, search

ReleaseNotes/Icehouse/ja

< ReleaseNotes/Icehouse
Revision as of 23:57, 20 April 2014 by Yuko Katabami (talk | contribs) (Ceilometer)

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 プリミティブを使えるようになりました。
  • 読み取り失敗時の自動リトライ: オブジェクトサーバの読み取りのソースタイムアウト時に、指定した範囲での他のサーバを試す事ができるようになりました。これによりクライアントリクエストの失敗をエンドユーザに隠す事ができます。
  • 今後のストレージポリシーのための取り組み

既知の問題

現時点ではありません。

アップグレード時の注意

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)

主要な新機能

アップグレード対応

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

Compute Drivers

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 は準仮想化乱数生成器です。これは、compute インスタンスのエントロピープールを充足する為、コンピュートノードが compute インスタンスに対してエントロピーを提供できるようにします。使用されるデフォルトのエントロピーデバイスは /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] セクションに移動されました。古い項目名は本リリースでは以前機能しますが、古い項目名は今回 deprecated(廃止予定)になり、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/ Weights are normalized, so there is no need to inflate multipliers artificially. The maximum weight that a weigher will put for a node is 1.0 and the minimum is 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

アップグレード時の注意

  • Scheduler and weight normalization (https://review.openstack.org/#/c/27160/): In previous releases the Compute and Cells scheduler used raw weights (i.e. the weighers returned any value, and that was the value used by the weighing proccess).
    • If you were using several weighers for Compute:
      • If several weighers were used (in previous releases Nova only shipped one weigher for compute), it is possible that your multipliers were inflated artificially in order to make an important weigher prevail against any other weigher that returned large raw values. You need to check your weighers and take into account that now the maximum and minimum weights for a host will always be 1.0 and 0.0.
    • If you are using cells:
      • nova.cells.weights.mute_child.MuteChild: The weigher returned the value mute_weight_value as the weight assigned to a child that didn't update its capabilities in a while. It can still be used, but will have no effect on the final weight that will be computed by the weighing process, that will be 1.0. If you are using this weigher to mute a child cell you need to adjust the mute_weight_multiplier.
      • nova.cells.weights.weight_offset.WeightOffsetWeigher introduces a new configuration option offset_weight_multiplier. This new option has to be adjusted. In previous releases, the weigher returned the value of the configured offset for each of the cells in the weighing process. While the winner of that process will still be the same, it will get a weight of 1.0. If you were using this weigher and you were relying in its value to make it prevail against any other weighers you need to adjust its multiplier accordingly.
  • An early Docker compute driver was included in the Havana release. This driver has been moved from Nova into its own repository. The new location is http://git.openstack.org/cgit/stackforge/nova-docker
  • https://review.openstack.org/50668 - The compute_api_class configuration option has been removed.
  • https://review.openstack.org/#/c/54290/ - The following deprecated configuration option aliases have been removed in favor of their new names:
    • 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
  • The PowerVM driver has been removed: https://review.openstack.org/#/c/57774/
  • The keystone_authtoken defaults changed in nova.conf: https://review.openstack.org/#/c/62815/
  • libvirt lvm names changed from using instance_name_template to instance uuid (https://review.openstack.org/#/c/76968). Possible manual cleanup required if using a non default instance_name_template.
  • rbd disk names changed from using instance_name_template to instance uuid. Manual cleanup required of old virtual disks after the transition. (TBD find review)
  • Icehouse brings libguestfs as a requirement. Installing icehouse dependencies on a system currently running havana may cause the havana node to begin using libguestfs and break unexpectedly. It is recommended that libvirt_inject_partition=-2 be set on havana nodes prior to starting an upgrade of packages on the system if the nova packages will be updated last.
  • Creating a private flavor now adds access to the tenant automatically. This was the documented behavior in Havana, but the actual mplementation in Havana and previous versions of Nova did not add the tenant automatically to private flavors.
  • Nova previously included a nova.conf.sample. This file was automatically generated and is no longer included directly. If you are packaging Nova and wish to include the sample config file, see etc/nova/README.nova.conf for instructions on how to generate the file at build time.
  • Nova now defaults to requiring an event from Neutron when booting libvirt guests. If you upgrade Nova before Neutron, you must disable this feature in Nova until Neutron supports it by setting vif_plugging_is_fatal=False and vif_plugging_timeout=0. Recommended order is: Nova (with this disabled), Neutron (with the notifications enabled), and then enable vif_plugging_is_fatal=True with the default value of vif_plugging_timeout.
  • Nova supports a limited live upgrade model for the compute nodes in Icehouse. To do this, upgrade controller infrastructure (everthing except nova-compute) first, but set the [upgrade_levels]/compute=icehouse-compat option. This will enable Icehouse controller services to talk to Havana compute services. Upgrades of individual compute nodes can then proceed normally. When all the computes are upgraded, unset the compute version option to retain the default and restart the controller services.
  • The following configuration options are marked as deprecated in this release. See nova.conf.sample for their replacements. [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

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

Neutron

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

Swift

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

Heat

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

Ceilometer

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

User Experience Enhancements

More Extensible Navigation

The primary dashboard and panel navigation has been updated from the tab navigation to an accordion implementation. Dashboards and Panel Groups are now expandable and collapsible in the page navigation. This change allows for the addition of more dashboards as well as accommodates the increasing number of panels in dashboards.

Wizard

Horizon now provides a Wizard control to complete multi-step interdependent tasks. This is now utilized in the create network action.

Inline Table Editing

Tables can now be written to support editing fields in the table to reduce the need for opening separate forms. The first sample of this is in the Admin dashboard, Projects panel.

Self-Service Password Change

Leveraging enhancements to Identity API v3 (Keystone), users can now change their own passwords without the need to involve an administrator. This functionality was previously only available with Identity API v2.0.

Server side table filtering

Tables can now easily be wired to filter results from underlying API calls based on criteria selected by the user rather than just perform an on page search.


Framework

JavaScript

In a move to provide a better user experience Horizon has adopted AngularJS as the primary JavaScript framework. JavaScript is now a browser requirement to run the Horizon interface. More to come in Juno.

  • Added reusable charts for use in Horizon
  • Integration of Jasmine testing library
Full Django 1.6 support
Plugin Architecture

Horizon now boasts dynamic loading/disabling of dashboards, panel groups and panels. By merely adding a file in the the enabled directory, the selection of items loaded into Horizon can be altered. Editing the Django settings file is no longer required.

Integration Test Framework

Horizon now supports running integration tests against a working devstack system. There is a limited test suite, but this a great step forward.

既知の問題

If utilizing multi-domain support in Identity API v3, users will be unable to manage resources in any domain other than the default domain.

アップグレード時の注意

Browsers used will now need to support JavaScript.

The default for "can_set_password" is now False. This means that unless the setting is explicitly set to True, the option to set an 'Admin password' for an instance will not be shown in the Launch Instance workflow. Not all hypervisors support this feature which created confusion with users, and there is now a safer way to set and retrieve a password (see LP#1291006).

The default for "can_set_mountpoint" is now False, and should be set to True in the settings in order to add the option to set the mount point for volumes in the dashboard. At this point only the Xen hypervisor supports this feature (see 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 (ABCs) として実装されました。
  • 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 の応答で重複するユーザリソースが返される可能性が有ります。

アップグレード時の注意

  • The v2 API has been prepared for deprecation, but remains stable in the Icehouse release. It may be formally deprecated during the Juno release pending widespread support for the v3 API.
  • Backwards compatibility for keystone.middleware.auth_token has been removed. auth_token middleware module is no longer provided by Keystone itself, and must be imported from keystoneclient.middleware.auth_token instead.
  • The s3_token middleware module is no longer provided by Keystone itself, and must be imported from keystoneclient.middleware.s3_token instead. Backwards compatibility for keystone.middleware.s3_token will be removed in Juno.
  • The default token duration has been reduced from 24 hours to just 1 hour. This effectively reduces the number of tokens that must be persisted at any one time, and (for PKI deployments) reduces the overhead of the token revocation list.
  • keystone.contrib.access.core.AccessLogMiddleware has been deprecated in favor of either the eventlet debug access log or Apache httpd access log and may be removed in the K release.
  • keystone.contrib.stats.core.StatsMiddleware has been deprecated in favor of external tooling and may be removed in the K release.
  • keystone.middleware.XmlBodyMiddleware has been deprecated in favor of support for "application/json" only and may be removed in the K release.
  • A v3 API version of the EC2 Credential system has been implemented. To use this, the following section needs to be added to keystone-paste.ini:
[filter:ec2_extension_v3]
paste.filter_factory = keystone.contrib.ec2:Ec2ExtensionV3.factory

... and ec2_extension_v3 needs to be added to the pipeline variable in the [pipeline:api_v3] section of keystone-paste.ini.

  • etc/policy.json updated to provide rules for the new v3 EC2 Credential CRUD as show in the updated sample policy.json and policy.v3cloudsample.json
  • Migration numbers 38, 39 and 40 move all role assignment data into a single, unified table with first-class columns for role references.
  • TODO: deprecations for the move to oslo-incubator db
  • A new configuration option, mutable_domain_id is false by default to harden security around domain-level administration boundaries. This may break API functionality that you depended on in Havana. If so, set this value to true and please voice your use case to the Keystone community.
  • TODO: any non-ideal default values that will be changed in the future
  • Keystone's move to oslo.messaging for emitting event notifications has resulted in new configuration options which are potentially incompatible with those from Havana (TODO: enumerate old/new config values)

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プラグインは動作するかどうか不明なため、本プラグインのユーザはベンダーに確認してください。
  • Advance Service プラグインが有効な場合、スキーマを正常にアップデートできない可能性があります。そのため、実システムを移行する前に、データーベースのコピーを使って移行テストを行ってください。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 Driver
  • EMC VNX iSCSI Direct Driver
  • HP MSA 2040
  • IBM SONAS and Storwize V7000 Unified Storage Systems
  • NetApp ESeries

既知の問題

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

アップグレードの注意

  • 強制デタッチAPIは管理者のみが呼び出せるようようになり、このAPIのポリシーのデフォルトも管理者とオーナーではなくなった。Force detach requires clean up work by the admin, in which the admin would not know when an owner did this operation.
  • Simple/Chance スケジューラーは削除された。同じ機能を使う場合には代わりにFilterスケジューラーを使う必要があり、cinder.conf へ scheduler_driver=cinder.scheduler.filter_scheduler.FilterScheduler を設定する。
  • hp3par_domain オプションはHavanaリリース時に非公式に削除されている。It does nothing.

OpenStack Telemetry (Ceilometer)

主要な新機能

  • API additions
    • arbitrarily complex combinations of query constraints for meters, samples and alarms
    • capabilities API for discovery of storage driver specific features
    • selectable aggregates for statistics, including new cardinality and standard deviation functions
    • direct access to samples decoupled from a specific meter
    • events API, in the style of StackTach
  • Alarming improvements
    • time-constrained alarms, providing flexibility to set the bar higher or lower depending on time of day or day of the week
    • exclusion of weak data points with anomalously low sample counts
    • derived rate-based meters for disk & network, more suited to threshold-oriented alarming
  • Integration touch-points
    • split collector into notification agent solely responsible for consuming external notifications
    • redesign of pipeline configuration for pluggable resource discovery
    • configurable persistence of raw notification payloads, in the style of StackTach
  • Storage drivers
    • approaching feature parity in HBase & SQLAlchemy & DB2 drivers
    • optimization of resource queries
    • HBase: add Alarm support
  • New sources of metrics
    • Neutron north-bound API on SDN controller
    • VMware vCenter Server API
    • SNMP daemons on baremetal hosts
    • OpenDaylight REST APIs

既知の問題

アップグレード時の注意

  • the pre-existing collector service has been augmented with a new notification agent that must also be started up post-upgrade
  • MongoDB storage driver now requires the MongoDB installation to be version 2.4 or greater (the lower bound for Havana was 2.2), see upgrade instructions.

OpenStack Orchestration (Heat)

主要な新機能

  • HOT templates: The HOT template format is now supported as the recommended format for authoring heat templates.
  • OpenStack resources: There is now sufficient coverage of resource types to port any template to native OpenStack resources
  • Software configuration: New API and resources to allow software configuration to be performed using a variety of techniques and tools
  • Non-admin users: It is now possible to launch any stack without requiring admin user credentials. See the upgrade notes on enabling this by configuring stack domain users.
  • Operator API: Cloud operators now have a dedicated admin API to perform operations on all stacks
  • Autoscaling resources: OS::Heat::AutoScalingGroup and OS::Heat::ScalingPolicy now allow the autoscaling of any arbitrary collection of resources
  • Notifications: Heat now sends RPC notifications for events such as stack state changes and autoscaling triggers
  • Heat engine scaling: It is now possible to share orchestration load across multiple instances of heat-engine. Locking is coordinated by a pluggable distributed lock, with a SQL based default lock plugin.
  • File inclusion with get_file: The intrinsic function get_file is used by python-heatclient and heat to allow files to be attached to stack create and update actions, which is useful for representing configuration files and nested stacks in separate files.
  • Cloud-init resources: The OS::Heat::CloudConfig and OS::Heat::MultipartMime
  • Stack abandon and adopt: It is now possible to abandon a stack, which deletes the stack from Heat without deleting the actual OpenStack resources. The resulting abandon data can also be used to adopt a stack, which creates a new stack based on already existing OpenStack resources. Adopt should be considered an experimental feature for the Icehouse release of Heat.
  • Stack preview: The stack-preview action returns a list of resources which are expected to be created if a stack is created with the provided template
  • New resources: The following new resources are implemented in this release:

既知の問題

  • Any error during a stack-update operation (for example from a transient cloud error, a heat bug, or a user template error) can lead to stacks going into an unrecoverable error state. Currently it is only recommended to attempt stack updates if it is practical to recover from errors by deleting and recreating the stack.
  • The new stack-adopt operation should be considered an experimental feature
  • CFN API returns HTTP status code 500 on all errors (bug 1291079)
  • Deleting stacks containing volume attachments may need to be attempted multiple times due to a volume detachment race (bug 1298350)

アップグレード時の注意

Please read the general notes on Heat's security model.

See the sections below on Deferred authentication method and Stack domain users.

Deprecated resources

The following resources are deprecated in this release, and may be removed in the future:

Deferred authentication method

The default deferred_auth_method of password is deprecated as of Icehouse, so although it is still the default, deployers are strongly encouraged to move to using deferred_auth_method=trusts, which is planned to become the default for Juno. This model has the following benefits:

  • It avoids storing user credentials in the heat database
  • It removes the need to provide a password as well as a token on stack create
  • It limits the actions the heat service user can perform on a users behalf.

To enable trusts for deferred operations:

  • Ensure the keystone service heat is configured to use has enabled the OS-TRUST extension
  • Set deferred_auth_method = trusts in /etc/heat/heat.conf
  • Optionally specify the roles to be delegated to the heat service user (trusts_delegated_roles in heat.conf, defaults to heat_stack_owner which will be referred to in the following instructions. You may wish to modify this list of roles to suit your local RBAC policies)
  • Ensure the role(s) to be delegated exist, e.g heat_stack_owner exists when running keystone role-list
  • All users creating heat stacks should possess this role in the project where they are creating the stack. A trust will be created by heat on stack creation between the stack owner (user creating the stack) and the heat service user, delegating the heat_stack_user role to the heat service user, for the lifetime of the stack.

See this blog post for further details.

Stack domain users

To enable non-admin creation of certain resources there is some deployment time configuration required to create a keystone domain and domain-admin user, otherwise Heat will fall back to the previous behavior, but this fallback behavior may not be available in Juno.

 $OS_TOKEN refers to a token, e.g the service admin token or some other valid token for a user with sufficient roles to create users and domains.
 $KEYSTONE_ENDPOINT_V3 refers to the v3 keystone endpoint, e.g http://<keystone>:5000/v3 where <keystone> is the IP address or resolvable name for the keystone service

Steps in summary:

  • Create a "heat" keystone domain using python-openstackclient (the keystoneclient CLI interface does not support domains)
   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"

This returns a domain ID, referred to as $HEAT_DOMAIN_ID below

  • Create a domain-admin user for the "heat" domain
   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"
   

This returns a user ID, referred to as $DOMAIN_ADMIN_ID below

  • Make the user a domain admin by adding the admin role for the domain
   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
  • Update heat.conf with the domain ID and the username/password for the domain-admin user
   stack_domain_admin_password = <password>
   stack_domain_admin = heat_domain_admin
   stack_user_domain = <domain id returned from domain create above>

See this blog post for full details details.

OpenStack Database service (Trove)

主要な新機能

  • User/Schema management
    • Users can do CRUD management on MYSQL Users and Schemas through the Trove API
  • Flavor / Cinder Volume resizes
    • Resize up/down the flavor that defines the Trove instance
    • Resize up the optional Cinder Volume size if the datastore requires a larger volume
  • Multiple datastore support
    • Full feature support for MySQL and Percona
    • Experimental (not full feature) support for MongoDB, Redis, Cassandra, and Couchbase
  • Configuration groups
    • Define a set of configuration options to attach to new or existing instances
  • Backups and Restore
    • Executes native backup software on a datastore, and steam the output to a swift container
    • Full and incremental backups
  • Optional DNS support via designate
    • Flag to define whether to provision DNS for an instance

既知の問題

None yet

アップグレード時の注意

  • Trove Conductor is a new daemon to proxy database communication from guests. It needs to be installed and running.
  • new Datastores feature requires operators to define (or remove) the datastores your installation will support
  • new Configuration Groups feature allows operators to define a subset of configuration options for a particular datastore

OpenStack Documentation

主要な新要素