Newton バージョンのリリースノート¶
14.1.0¶
アップグレード時の注意¶
This release contains a schema migration for the
nova_api
database in order to address bug 1738094:https://bugs.launchpad.net/nova/+bug/1738094
The migration is optional and can be postponed if you have not been affected by the bug. The bug manifests itself through "Data too long for column 'spec'" database errors.
バグ修正¶
The fix for OSSA-2017-005 (CVE-2017-16239) was too far-reaching in that rebuilds can now fail based on scheduling filters that should not apply to rebuild. For example, a rebuild of an instance on a disabled compute host could fail whereas it would not before the fix for CVE-2017-16239. Similarly, rebuilding an instance on a host that is at capacity for vcpu, memory or disk could fail since the scheduler filters would treat it as a new build request even though the rebuild is not claiming new resources.
Therefore this release contains a fix for those regressions in scheduling behavior on rebuild while maintaining the original fix for CVE-2017-16239.
注釈
The fix relies on a
RUN_ON_REBUILD
variable which is checked for all scheduler filters during a rebuild. The reasoning behind the value for that variable depends on each filter. If you have out-of-tree scheduler filters, you will likely need to assess whether or not they need to override the default value (False) for the new variable.
This release includes a fix for bug 1733886 which was a regression introduced in the 2.36 API microversion where the
force
parameter was missing from thePUT /os-quota-sets/{tenant_id}
API request schema so users could not force quota updates with microversion 2.36 or later. The bug is now fixed so that theforce
parameter can once again be specified during quota updates. There is no new microversion for this change since it is an admin-only API.
14.0.10¶
セキュリティー上の問題¶
OSSA-2017-005: Nova Filter Scheduler bypass through rebuild action
By rebuilding an instance, an authenticated user may be able to circumvent the FilterScheduler bypassing imposed filters (for example, the ImagePropertiesFilter or the IsolatedHostsFilter). All setups using the FilterScheduler (or CachingScheduler) are affected.
The fix is in the
nova-api
andnova-conductor
services.
14.0.7¶
バグ修正¶
Includes the fix for bug 1673613 which could cause issues when upgrading and running
nova-manage cell_v2 simple_cell_setup
ornova-manage cell_v2 map_cell0
where the database connection is read from config and has special characters in the URL.
cell データベースが確立する接続方法のためデータベース接続の重要な増加があり、bug 1691545 で修正されました。この修正で、 API サービスのデータベース接続に関するオブジェクトはキャッシュされ、 cell データベースと連携するたびに新しい接続を作成することをせず、再利用するようになりました。
The
nova-manage cell_v2 simple_cell_setup
command now creates the default cell0 database connection using the[database]
connection configuration option rather than the[api_database]
connection. The cell0 database schema is themain
database, i.e. theinstances
table, rather than theapi
database schema. In other words, the cell0 database would be called something likenova_cell0
rather thannova_api_cell0
.
14.0.5¶
紹介¶
This release includes fixes for security vulnerabilities.
既知の問題¶
設定オプション
[libvirt]/live_migration_progress_timeout
により制御されるライブマイグレーションの進捗タイムアウトが、しばしばライブマイグレーションがまだよい進捗にも関わらず進捗タイムアウトで失敗する原因となることが発見されました。これらのチェックが原因となる問題を最小化するには、デフォルトを 0 と変更しました。これはタイムアウトを引き起こさないことを意味します。(これは Ocata と Pike でデフォルトになりました。)ライブマイグレーションがタイムアウトエラーで失敗するのを修正するには、[libvirt]/live_migration_completion_timeout
と[libvirt]/live_migration_downtime
を見てください。
セキュリティー上の問題¶
[CVE-2017-7214] Failed notification payload is dumped in logs with auth secrets
14.0.4¶
既知の問題¶
When generating Libvirt XML to attach network interfaces for the
tap
,ivs
,iovisor
,midonet
, andvrouter
virtual interface types Nova previously generated an empty path attribute to the script element (<script path=''/>
) of the interface.Libvirt 1.3.3 (commit) とそれ以降から、Libvirt はもはやインターフェースのスクリプト要素にからのパス属性を受け付けません。これは RHEL 7.3 およびCentOS 7.3-1611 に同梱される Libvirt 2.0.0 を含みます。Libvirt 1.3.3 またはこれ以降のホストでインタフェース定義に違反する仮想マシンを作成すると、"libvirtError: Cannot find '' in path: No such file or directory" というエラーになります。
Additionally, where virtual machines already exist that were created using earlier versions of Libvirt interactions with these virtual machines via Nova or other utilities (e.g.
virsh
) may result in similar errors.To mitigate this issue Nova no longer generates an empty path attribute to the script element when defining an interface. This resolves the issue with regards to virtual machine creation. To resolve the issue with regards to existing virtual machines a change to Libvirt is required, this is being tracked in Bugzilla 1412834
バグ修正¶
bug 1662699 を修正しました。これは、古い v2 APIで実行される
block_device_mapping_v2.boot_index
検証が v2.1 APIで回帰していたものです。この修正にて、boot_index=None
でサーバーを作成する要求すると、まるでboot_index
が指定されていないかのように扱われます。これはデフォルトでブート可能ではないブロックデバイスを意味します。
14.0.2¶
紹介¶
bug 1635446 を修正するため、新しいデータベーススキーママイグレーションがこのリリースに含まれました。
既知の問題¶
Use of the newly introduced optional placement RESTful API in Newton requires WebOb>=1.6.0. This requirement was not reflected prior to the release of Newton in requirements.txt with the lower limit being set to WebOb>=1.2.3.
バグ修正¶
MySQLバックエンドにおける
build_requests.instance
カラムサイズを増やすデータベーススキーママイグレーション021_build_requests_instance_mediumtext
を含みます。これはとても大きいuser_data
フィールドを持つ新しいインスタンスを作成するために必要となります。
14.0.1¶
紹介¶
Nova 14.0.0 は多くの新しい機能とバグ修正を含みます。リリース期間中のすべての変更を述べるにはとても難しいはずですが、すくなくともアップグレードセクションは読むようお願いします。そこにはあなたのクラウドを 13.0.0(Mitaka)から 14.0.0(Newton)にアップグレードするために必要な修正が記述されています。それでも大きな変更はここで注意する価値があります。これは疲弊するほどのリストではなく、あなたが知ることが必要な重要なものです:
Newton でサポートされる最新 API マイクロバージョンは v2.38 です。
Nova はリソースを提供するために Nova compute ノードが使う、しばらくはオプションである新しい placement RESTful API エンドポイントを提供します。しばらくの間、nova-scheduler はそれを使いませんが、Ocata では placement リソースをチェックする計画です。Newton から Ocata に compute ノードをローリングアップグレードするなら、新しい placement API の使い方に関して以下のノートを見てください。
Cells V2 は単一 cell v2 のみに対してインスタンス起動をサポートします。Ocataで複数セルサポートを追加する計画です。nova-manage 関連コマンドを使用して cellv2 を作成して Ocata に備えることができますが、Cells V2 設定はいまだにこのサイクルでは完全にオプションです。
Nova は イメージリソース取得のためGlance イメージ API を使うようになりました。
API マイクロバージョン 2.36 とそれ以降では他のサービスタイプ API(たとえば /os-volumes)をプロキシコールする REST リソースを非推奨とします。最小 API バージョンを 2.36 に上げるまでサポートします。これはまだ計画されていません(今のところ v2.1 をサポートしています)。しかしそれらを使うのをやめ、むしろ他のサービス自身が提供するものを呼ぶべきです。
14.0.0¶
新機能¶
libvirt ドライバに perf イベントのサポートを追加しました。 nova .conf の libvirt セクションに新しい設定オプション 'enabled_perf_events' を追加しました。これは libvirt>=2.0.0 が必要です。
REST API マイクロバージョン 2.34 からpre-live-migration チェックが非同期に実行されます。``instance-actions``がチェック結果に関する情報を取得するために使われます。新しいアプローチにより rpc タイムアウトが減少します。以前のワークフローは、完全にライブマイグレーション前にブロックしてチェックすることにより、移動元と移動先の compute ノード両方への rpc リクエストをブロックしました。
新しい設定オプション live_migration_permit_auto_converge が追加されました。これにより、ダーティーページの高い比率でライブマイグレーション が遅い進捗の間、ハイパーバイザーがインスタンスの CPU を減速するようにします。これはlibvirt>=1.2.3、QEMU>=1.6.0 を必要とします。
新しい設定オプション live_migration_permit_post_copy が追加され、ライブマイグレーションを nova が動作しているライブマイグレーションを post-copy モードにスイッチするようになりました。libvirt>=1.3.3 と QEMU>=2.5.0 とが必要とされます。もしポストコピーが許可されバージョン要求が合えば、'live_migration_force_complete' の振る舞いもまた変わります。それはライブマイグレーションの間インスタンスをポーズする代わりに動作しているライブマイグレーションを post-copy モードにスイッチします。
os-console-auth-tokens API を修正し、RDP ではなく、すべてのタイプのトークンに対して接続情報を返します。
Hyper-V RemoteFX 機能.
マイクロソフトの RemoteFX は RDP 接続においてビジュアル経験を高めました。Hyper-V上で動作する複数のゲストに対して物理 GPU の仮想インスタンスへのアクセスを提供します。
Hyper-V 2012 R2 の RemoteFX を使うため、一つまたはそれ以上の DirectX 11 が利用可能なディスプレイアダプタが存在しなくてならず、また RDS-Virtualization サーバー機能がインストールされなくてはなりません。
To enable this feature, the following config option must be set in the Hyper-V compute node's 'nova.conf' file:
[hyperv] enable_remotefx = True
To create instances with RemoteFX capabilities, the following flavor extra specs must be used:
os:resolution。ゲスト仮想マシンスクリーン解像度。許容値:
1024x768, 1280x1024, 1600x1200, 1920x1200, 2560x1600, 3840x2160
'3840x2160' は Windows / Hyper-V Server 2016 のみで利用可能です。
os:monitors。モニタのゲスト仮想マシン数。 許容値:
[1, 4] - Windows / Hyper-V Server 2012 R2 [1, 8] - Windows / Hyper-V Server 2016
os:vram。ゲスト仮想マシンのVRAM量。Windows / Hyper-V Server 2016 のみで利用可能です。許容値:
64, 128, 256, 512, 1024
There are a few considerations that needs to be kept in mind:
全てのゲストが RemoteFX ケイパビリティをサポートするわけではありません。
Windows / Hyper-V Server 2012 R2 does not support Generation 2 VMs with RemoteFX capabilities.
解像度ごとに、モニターの最大量が追加できます。制限は以下のとおりです:
Windows / Hyper-V Server 2012 R2:
1024x768: 4 1280x1024: 4 1600x1200: 3 1920x1200: 2 2560x1600: 1
Windows / Hyper-V Server 2016:
1024x768: 8 1280x1024: 8 1600x1200: 4 1920x1200: 4 2560x1600: 2 3840x2160: 1
Microversion v2.26 allows to create/update/delete simple string tags. They can be used for filtering servers by these tags.
マイクロバージョン v2.35 でキーペアのページングサポートが追加されました。GET /os-keypairs リクエストに 'limit' と 'marker' オプションパラメータを追加しました。
マイクロバージョン v2.28 から GET '/v2.1/os-hypervisors/{hypervisor_id}' リクエストを送るとハイパーバイザーの 'cpu_info' フィールドが JSON オブジェクトとして返ります。
Virtuozzo Storage is available as a volume backend in libvirt virtualization driver.
注釈
Only qcow2/raw volume format supported, but not ploop.
Virtuozzo ploop disks can be resized now during "nova resize".
Virtuozzo instances with ploop disks now support the rescue operation
セルに追加された新しいホストを見つけるために新しい nova-manage コマンドが追加されました。もし simple_cell_setup または map_cell0/map_cell_and_hosts/map_instances を使い cellsv2 にマイグレーションしたならば、新しいホストがセルに追加されるときはいつでも、ホストでインスタンスが起動する前に新しい "nova-manage cell_v2 discover_hosts" を実行する必要があります。もし複数ホストを一度に追加するときは一度だけ実行すればすべてを見つけます。このコマンドは API ホストまたは nova_api データベースを使うよう設定されたホスト上で実行されるべきです。セルにホストを追加してこのコマンドを実行しないと、ホストがスケジューラーにより選択されたならビルド失敗またはリスケジューリングになりますので注意してください。discover_hosts コマンドはリクエストをホストにルーティングするために必要ですが、スケジューラーがホストを認識するためには必要ではありません。ホストが見つかる前に失敗することを避けるため、nova-compute ホストを "enable_new_services=False" に設定することを勧めます。
退避アクションで、リクエストボディでホストを提供する際のデフォルトの振る舞いが変更されました。宛先を尋ねるときスケジューラーを経由しない代わりに、リクエストされた宛先とともにそれを呼び、提案されたホストがすべてのフィルターとオリジナルのリクエストにより受け入れられるか確かめます。管理者が宛先を提供するときスケジューラーを呼びたくなければ、新しいリクエストボディフィールド
force
(デフォルトは False)を修正して、スケジューラーを検証することなしに、宛先へ退避操作を強制します。
ライブマイグレーションアクションで、リクエストボディでホストを提供する際のデフォルトの振る舞いが変更されました。宛先を尋ねるときスケジューラーを経由しない代わりに、リクエストされた宛先とともにそれを呼び、提案されたホストがすべてのフィルターとオリジナルのリクエストにより受け入れられるか確かめます。管理者が宛先を提供するときスケジューラーを呼びたくなければ、新しいリクエストボディフィールド
force
(デフォルトは False)を修正して、スケジューラーを検証することなしに、宛先へ退避操作を強制します。
2.37 マイクロバージョンはサーバー作成リクエストで``networks: auto``が指定された時にプロジェクトに対して自動でネットワークリソースを割り当てるサポートを追加しました。もしプロジェクトが利用できるネットワークを持たず、Neutron ネットワークサービスで``auto-allocated-topology`` API が利用可能であれば、Nova はプロジェクトにリソースを割り当てるためにその API を呼びます。Neutronで``auto-allocated-topology`` API が動作するためには、セットアップがデプロイメントに必要です。Neutronでこの機能をセットアップするには、OpenStack ネットワーキングガイドの`Additional features`_ セクションをより詳細に見てください。
注釈
API はデフォルトで 'auto' ではありません。しかし、もし CLI に特定のネットワーク値が提供されなければ、python-novaclient はこのマイクロバージョンに対してデフォルトで 'auto' とします。
注釈
This feature is not available until all of the compute services in the deployment are running Newton code. This is to avoid sending a server create request to a Mitaka compute that can not understand a network ID of 'auto' or 'none'. If this is the case, the API will treat the request as if
networks
was not in the server create request body. Once all computes are upgraded to Newton, a restart of the nova-api service will be required to use this new feature.
Nova はすべての virt ドライバのすべてのバックエンド操作に対して glance バージョン 2 プロトコルを使うことがデフォルトになりました。問題が起きたら glance バージョン 1 プロトコルに戻すため
use_glance_v1
設定オプションがありますが、Ocata の早い時期に削除されるでしょうし、その先は glance バージョン 2 プロトコル だけがつかわれるでしょう。
ironic virt ドライバに新しい機能を追加しました。同時に複数の nova-compute サービスが実行します。これは nova-compute サービス間で ironic ノードを分けるため一貫性のあるハッシュを使い、リソーストラッカーが実行されるたびにハッシュリングを更新します。
インスタンスはインスタンスの生存期間の間、依然として同じ nova-compute により所持されることに注意してください。そのため、インスタンスがのっている ironic ノードはノードが削除されるまで同じ nova-compute により管理されるでしょう。これはまた、nova-compute サービスを削除するとそのサービスが管理していたインスタンスは孤立することとなります。そのためたいていのインスタンスアクションは 同じホストの nova-compute サービスが 立ち上がり(戻り)オンラインになるまで動作しません。
When nova-compute services are brought up or down, the ring will eventually re-balance (when the resource tracker runs on each compute). This may result in duplicate compute_node entries for ironic nodes while the nova-compute service pool is re-balancing. However, because any nova-compute service running the ironic virt driver can manage any ironic node, if a build request goes to the compute service not currently managing the node the build request is for, it will still succeed.
There is no configuration to do to enable this feature; it is always enabled. There are no major changes when only one compute service is running. If more compute services are brought online, the bigger changes come into play.
これは単一の nova-compute サービスが起動しているときのみテストされており、一つより多くではないことに注意してください。そのため、これは CI で正しくテストされるまで複数の compute ホストについて注意してつかわれるべきです。
ironic コンピュートドライバのマルチテナントネットワークはサポートされます。この機能を有効にするには、ironic ノードは 'neutron' ネットワークインタフェースが使われなければなりません。
The Libvirt driver now uses os-vif plugins for handling plug/unplug actions for the Linux Bridge and OpenVSwitch VIF types. Each os-vif plugin will have its own group in nova.conf for configuration parameters it needs. These plugins will be installed by default as part of the os-vif module installation so no special action is required.
POWER アーキテクチャに hugepage サポートを追加しました。
マイクロバージョンは今や(マイクロバージョン 2.27)OpenStack 標準に沿って "OpenStack-API-Version: compute 2.27" ヘッダを伴い要求されます。元々のフォーマット "X-OpenStack-Nova-API-Version: 2.27" もまだ使用されます。
Nova は変更可能な設定を有効としました。あるオプションは正しいプロセスに対して SIGHUP を送ることにより再読み込みされます。ライブマイグレーションに適用するライブマイグレーションオプションはいま進行中です。設定マニュアルを参照してください:
DEFAULT.debug
libvirt.live_migration_completion_timeout
libvirt.live_migration_progress_timeout
次のレガシー通知は新しいバージョンが付与されたペイロードに変換されました:
instance.delete
instance.pause
instance.power_on
instance.shelve
instance.suspend
instance.restore
instance.resize
instance.update
compute.exception
すべてのバージョンが付与された通知は doc/notification_samples ディレクトリ配下にサンプルファイルを持ちます。より詳細な情報は http://docs.openstack.org/developer/nova/notifications.html を参照してください。
Nova は追加された2つの oslo.policy CLI スクリプト が動作するように設定されます。1つめは "oslopolicy-list-redundant --namespace nova" のように呼ばれるもので、プロジェクトのデフォルトに合う policy.[json|yaml] にあるポリシールールのリストを出力します。これらのルールは影響がないのでポリシールールから削除されます。2つ目のスクリプトは "oslopolicy-policy-generator --namespace nova --output-file policy-merged.yaml" のように呼ばれるもので、効果的なポリシーを policy-merged.yaml ファイルに生成します。これはプロジェクトのデフォルトを設定ファイルで上書きしてマージした結果です。
マイクロバージョン v2.33 でハイパーバイザーのページングサポートが追加されました。管理者はハイパーバイザーのリストを得る際 limit と marker を使うことによりページングクエリーを実行できます。結果はハイパーバイザー id によりソートされます。
nova-compute ワーカーは新しい placement API サービスと通信するようになりました。Nova は サービスタイプ 'placement' であるサービスを OpenStack サービスカタログから検索して placement API サービスを決定します。もしサービスカタログに placement エントリがなければ、nova-compute はワーニングをログし、もはや nova-worker プロセスが再起動するまで placement API と再接続を試みません。
新しい [placement] セクションが nova.conf 設定ファイルに追加されました。設定オプションはどのように Nova が新しい placement API サービスと連携するかに影響します。これは通常の keystone auth とセッションのオプションを含みます。
The pointer_model configuration option and hw_pointer_model image property was added to specify different pointer models for input devices. This replaces the now deprecated use_usb_tablet option.
nova-policy コマンドラインはポリシーを検出する開発中の機能を体験するツールとして実装されます。ユーザーは資格情報とインスタンス情報を入力すると、ツールは呼び出すことが許可されている API のリストを返却する。この機能はまだ開発中のためツールのインタフェースは確約されません。
プロジェクトまたはユーザーのクォータ使用量を更新する nova-manage コマンドを追加しました。これはクォータ使用量データベーステーブルが実際の使用量と同期していないときに使用されます。たとえば、もしリソース使用量がクォータ使用量テーブルでは限界にも関わらず実際はそれより少ないならば、nova は仮想マシンがプロジェクトまたはユーザーに作成されることを許可しません。nova-manage コマンドはクォータ使用量テーブルと実際の使用量を再同期するため使われます。
Libvirt ドライバーはゲストクロックと同期し続けるために、サスペンド、かつまたはマイグレートしたゲストの時刻を更新しようとします。この処理は動作するためにゲストエージェントが設定され動作している必要があります。しかし、この処理は破壊的ではありません。
This release includes a new implementation of the vendordata metadata system. Please see the blueprint at http://specs.openstack.org/openstack/nova-specs/specs/newton/approved/vendordata-reboot.html for a detailed description. There is also documentation in the Nova source tree in vendordata.rst.
2.32 マイクロバージョンは仮想デバイスロールタギングサポートを追加します。デバイスロールタギングは、「ゲストの中にあるどのデバイスがどれ?」という質問への回答です。インスタンスをブートする時、選択的任意 'tag' パラメーターを仮想ネットワークインターフェースとブロックデバイスマッピングに設定できます。このタグはメタデータ API とコンフィグドライブを通じてインスタンスに公開されます。それぞれのタグがついた仮想ネットワークインターフェースは仮想ハードウェアについての情報と一緒に一覧化されます。例えば、バスタイプ(例: PCI)、バスアドレス(例: 0000:00:02.0)やMAC アドレスです。タグがついたブロックデバイスについては、公開された ハードウェアメタデータはバス(例: SCSI)、バスアドレス(例: 1:0:2:0)、シリアル番号を含みます。
2.32 マイクロバージョンはまた、メタデータ API について 2016-06-30 バージョンを追加します。2016-06-30 から、メタデータは前のパラグラフで述べたように、ハードウェアメタデータと一緒にタグがついたデバイスを一覧化する'devices' セクションを含みます。
既知の問題¶
もし simple_cell_setup または map_cell0/map_cell_and_hosts/map_instances を使い cellsv2 にマイグレーションし新しいホストをセルに追加するならば、ホストでインスタンスが起動する前に新しい "nova-manage cell_v2 discover_hosts" を実行するまでビルド失敗またはリスケジューリングとなり得ます。これはスケジューラーが素早くホストを検知することになりますが、nova-api はホストが "discovered" になるまでどのようにリクエストをルーティングするか知らないからです。それを避けるには、discover コマンドが実行されるまで新しい compute を disabled にしておくよう助言します。
When using Neutron extension 'port_security' and booting an instance on a network with 'port_security_enabled=False' the Nova API response says there is a 'default' security group attached to the instance which is incorrect. However when listing security groups for the instance there are none listed, which is correct. The API response will be fixed separately with a microversion.
When running Nova Compute and Cinder Volume or Backup services on the same host they must use a shared lock directory to avoid rare race conditions that can cause volume operation failures (primarily attach/detach of volumes). This is done by setting the "lock_path" to the same directory in the "oslo_concurrency" section of nova.conf and cinder.conf. This issue affects all previous releases utilizing os-brick and shared operations on hosts between Nova Compute and Cinder data services.
When using virtual device role tagging, the metadata on the config drive lags behind the metadata obtained from the metadata API. For example, if a tagged virtual network interface is detached from the instance, its tag remains in the metadata on the config drive. This is due to the nature of the config drive, which, once written, cannot be easily updated by Nova.
アップグレード時の注意¶
すべての cloudpipe 設定オプションは 'cloudpipe' グループに移動されました。それらはもはや 'DEFAULT' グループに含まれません。
すべての crypto 設定オプションは 'crypto' グループに追加されました。それらはもはや 'DEFAULT' グループに含まれません。
すべての WSGI 設定オプションは 'wsgi' グループに移動されました。それらはもはや 'DEFAULT' グループに含まれません。
アグリゲートは CellsV2では API データベースに移動されました。このリリースでは、オンラインデータマイグレーションが主データベースにあるすべてのアグリゲートをすべての属性を保ち API データベースに移動します。完了するまでは、新しいアグリゲートを作成しようとすると、 すでにあるアグリゲートとまだマイグレーションされていないアグリゲートが競合しないようにHTTP 409 を返します。
API データベースは主データベースからレガシー ソフトデリート機能をレプリケートしないので、アグリゲートはもはやソフトデリートできないことに注意してください。そのため、削除されたアグリゲートは移行されませんが、削除されたレコードが取り除かれたとしてもユーザーは同様の経験をするでしょう。
nova-manage db online_data_migrations コマンドはサーバーグループをAPI データベースに移行するようになりました。新しいサーバーグループは自動で API データベースに作成されますが、存在するサーバーグループは手動で nova-manage コマンドを使って移行しなくてはなりません。
get_metrics API は nova.compute.monitors.base モジュールでpopulate_metrics に置き換わりました。この変更はそれぞれのモニタープラグインがそれ自身のメトリック値タイプを設定する柔軟性を持つために導入されました。ツリーに含まれるメトリックプラグインはこの変更の一部として修正されます。しかし、ツリーに含まれないプラグインは nova と動作するために新しい API を採用しなくてはなりません。
os-brick <1.4.0で動作するVirtuozzo Storage ドライバでは、nova-compute の rootwrap フィルタ で "pstorage-mount" を許可する必要があります。
You must update the rootwrap configuration for the compute service if you use ploop images, so that "ploop grow" filter is changed to "prl_disk_tool resize".
コンソールプロキシサービス(VNC、シリアル、スパイス)の
record
設定オプションは boolean から string に変更されました。それはWebSocket フレームを記録するために使うファイル名を指定します。
'nova-manage db sync' は今は cell0 データベースと同期できます。インスタンスを保存するためには cell0 db が必要です。さもないとどの cell にもスケジュールできません。 'db sync' コマンドが呼ばれる前に cell0向けの セルマッピングを 'nova-manage cell_v2 map_cell0'を使って作成しなくてはなりません。このコマンドは CellsV2にアップグレードするときのみ呼ばれる必要があります。
A new nova-manage command has been added which will upgrade a deployment to cells v2. Running the command will setup a single cell containing the existing hosts and instances. No data or instances will be moved during this operation, but new data will be added to the nova_api database. New instances booted after this point will be placed into the cell. Please note that this does not mean that cells v2 is fully functional at this time, but this is a significant part of the effort to get there. The new command is "nova-manage cell_v2 simple_cell_setup --transport_url <transport_url>" where transport_url is the connection information for the current message queue used by Nova. Operators must create a new database for cell0 before running
cell_v2 simple_cell_setup
. The simple cell setup command expects the name of the cell0 database to be<main database name>_cell0
as it will create a cell mapping for cell0 based on the main database connection, sync the cell0 database, and associate existing hosts and instances with the single cell.
[ironic]
セクションの非推奨とされたvolume_api_class
設定オプションは削除されました。[DEFAULT]``セクションの 設定オプション ``log_config_append
またはdefault_log_levels
を使ってください。
新しい nova-manage コマンド 'nova-manage cell_v2 map_cell0' が利用できます。どのセルにもスケジュールされないインスタンスを保存するために使われる cell0 に対応付けされたセルを作成します。このコマンドは CellsV2 にアップグレードするときのみ呼ばれる必要があります。
``pointer_model``設定オプションのデフォルト値は 'usbtablet' に設定されました。
次のポリシー強制ポイントは Nova API コードの再構築の過程で削除されました。隠されていたこれらのポリシーポイントの属性は / で表示されるようになりました。
os_compute_api:os-disk-config
- show / acceptOS-DCF:diskConfig
parameter on serversos-access-ips
- show / acceptaccessIPv4
andaccessIPv6
parameters on servers
次のエントリーポイントは削除されました:
nova.api.v21.extensions.server.resize
- allowed accepting additional parameters on server resize requests.nova.api.v21.extensions.server.update
- allowed accepting additional parameters on server update requests.nova.api.v21.extensions.server.rebuild
- allowed accepting additional parameters on server rebuild requests.
フレーバーは CellsV2では API データベースに移動されました。このリリースでは、オンラインデータマイグレーションが主データベースにあるすべてのフレーバーをすべての属性を保ち API データベースに移動します。完了するまでは、新しいフレーバーを作成しようとすると、 すでにあるフレーバーとまだマイグレーションされていないフレーバーが競合しないようにHTTP 409 を返します。
Note that flavors can no longer be soft-deleted as the API database does not replicate the legacy soft-delete functionality from the main database. As such, deleted flavors are not migrated and the behavior users will experience will be the same as if a purge of deleted records was performed.
2.37 マイクロバージョンは次のことを強制します:
networks
は、この API ではサーバー作成のリクエスト本文に必要です。2.37 以前でのサーバー作成では、networks: auto
の指定は、特定のネットワークを要求しないことと同じです。サーバー作成リクエストにおける
networks
オブジェクトのuuid
フィールドはランダム文字列ではならず UUID フォーマットであることが要求されます。より詳細には、 API は "br-" を先頭につけた nic uuid をサポートしていましたが、もはやサポートされないレガシーアーティファクトになりました。
Nova により使われる glance 環境をバージョン 2 REST API にさらす必要があります。この API は 長年利用可能でしたが、以前は Nova バージョン 1 API だけで使用されました。
imageRef input to the REST API is now restricted to be UUID or an empty string only. imageRef input while create, rebuild and rescue server etc must be a valid UUID now. Previously, a random image ref url containing image UUID was accepted. But now all the reference of imageRef must be a valid UUID (with below exception) otherwise API will return 400. Exception- In case boot server from volume. Previously empty string was allowed in imageRef and which is ok in case of boot from volume. Nova will keep the same behavior and allow empty string in case of boot from volume only and 400 in all other case.
Grizzly リリースより以前では、デフォルトのインスタンスディレクトリー名は instance.id フィールドに基づいていました。たとえば、インスタンスのディレクトリー名は
instance-00000008
となっていました。Grizzly では、この機構が変更され、instance.uuid がインスタンスのディレクトリー名として使われました。たとえばインスタンスのパス:/opt/stack/data/nova/instances/34198248-5541-4d52-a0b4-a6635a7802dd/
.In Newton backward compatibility is dropped. For instances that haven't been restarted since Folsom and earlier maintenance should be scheduled before upgrade(stop, rename directory to instance.uuid, then start) so Nova will start using new paths for instances.
Ironic ドライバは python-ironicclient>=1.5.0(以前は >=1.1.0) および、 API バージョン 1.20 またはそれ以上をサポートするため Ironic サービスが必要になりました。スムーズなアップグレードのために、いつも通りに Ironic を Nova の前にアップグレードするべきです。
Ironic ドライバは python-ironicclient>=1.6.0 および、 API バージョン 1.21 をサポートするため Ironic サービスが必要になりました。
キーペアはオンラインデータマイグレーションを使い API データベースに移動されました。マイグレーションの最初の段階で、インスタンスは鍵をローカルストレージに与えられ、そのあとキーペアは API データベースに移動されます。
libvirt セクションの live_migration_tunnelled 設定オプションのデフォルト値が False に変更されました。nova を Newton にアップグレードした後、live_migration_tunnelled を 明示的に True としないとすべてのライブマイグレーションはトンネルされません。これは、デフォルトではマイグレーションは libvirt を通らず、それゆえ暗号化されないことを意味します。
With the introduction of os-vif, some networking related configuration options have moved, and users will need to update their
nova.conf
. For OpenVSwitch users the following options have moved from[DEFAULT]
to[vif_plug_ovs]
- network_device_mtu - ovs_vsctl_timeout For Linux Bridge users the following options have moved from[DEFAULT]
to[vif_plug_linux_bridge]
- use_ipv6 - iptables_top_regex - iptables_bottom_regex - iptables_drop_action - forward_bridge_interface - vlan_interface - flat_interface - network_device_mtu For backwards compatibility, and ease of upgrade, these options will continue to work from[DEFAULT]
during the Newton release. However they will not in future releases.
必要とされる libvirt の最小バージョンは 1.2.1 に増えました。
必要とされる最小の QEMU バージョンはチェックされ、1.5.3 に設定されました。
network_api_class オプションはMitaka で非推奨でしたが、Newton で完全に削除されました。use_neutron オプションがこの機能を置き換えます。
The newton release has a lot of online migrations that must be performed before you will be able to upgrade to ocata. Please take extra note of this fact and budget time to run these online migrations before you plan to upgrade to ocata. These migrations can be run without downtime with
nova-manage db online_data_migrations
.
The
notify_on_state_change
configuration option was StrOpt, which would accept any string or None in the previous release. Starting in the Newton release, it allows only three values: None,vm_state
,vm_and_task_state
. The default value is None.
The deprecated auth parameter
admin_auth_token
was removed from the [ironic] config option group. The use ofadmin_auth_token
is insecure compared to the use of a proper username/password.
The previously deprecated config option
listen
of the groupserial_console
has been removed, as it was never used in the code.
[cells] グループの 'manager' オプションはMitaka で非推奨でしたが、newton で完全に削除されました。影響はありません。
The following deprecated configuration options have been removed from the
cinder
section ofnova.conf
:ca_certificates_file
api_insecure
http_timeout
The 'destroy_after_evacuate' workaround option has been removed as the workaround is no longer necessary.
設定オプション 'osapi_compute_ext_list' と 'osapi_compute_extension' は mitaka で非推奨とされました。したがって、これらのオプションは newton で完全に削除されました。v2 API は削除され、 v2.1 API は拡張を設定するオプションを提供しません。
非推奨とされた 設定オプション``remove_unused_kernels`` は``[libvirt]`` 設定セクションから削除されました。この振る舞いはもはや関連しないので、置き換えは必要ありません。
The extensible resource tracker was deprecated in the 13.0.0 release and has now been removed. Custom resources in the nova.compute.resources namespace selected by the compute_resources configuration parameter will not be loaded.
レガシー v2 API コードは Liberty リリースから非推奨となりました。レガシー v2 API コードは Newton リリースから削除されました。ユーザーはより厳格な入力検証とマイクロバージョンサポートがある v2 API と互換性がある v2.1 API に移行するべきです。ユーザーがまだ v2.1 API に移行する前に v2 互換 API を探すなら、ユーザーは v2.1 API コードをv2 API 互換モードで使うことができます。互換モードは 厳格な入力検証とマイクロバージョンサポートがない v2 API 互換である v2 API のふるまいに近いものです。そのため、API エンドポイント /v2 に対して /etc/nova/api-paste.ini でopenstack_compute_api_legacy_v2 を使うなら、ユーザーは代わりにエンドポイントをopenstack_compute_api_v21_legacy_v2 互換に移行する必要があります。
The 'live_migration_flag' and 'block_migration_flag' options in libvirt section that were deprecated in Mitaka have been completely removed in Newton, because nova automatically sets correct migration flags. New config options has been added to retain possibility to turn tunnelling, auto-converge and post-copy on/off, respectively named
live_migration_tunnelled
,live_migration_permit_auto_converge
andlive_migration_permit_post_copy
.
DEFAULT セクションの 'memcached_server' オプションはMitaka で非推奨でしたが、newton で完全に削除されました。これは oslo cache セクションからオプションにより置き換わりました。
The service subcommand of nova-manage was deprecated in 13.0. Now in 14.0 the service subcommand is removed. Use service-* commands from python-novaclient or the os-services REST resource instead.
Nova の``network_device_mtu``オプションは、ネットワーク MTU をネットワークを作成するときに指定するものなので、13.0.0 での削除に向けて非推奨となりました。
Legacy v2 API code is already removed. A set of policy rules in the policy.json, which are only used by legacy v2 API, are removed. Both v2.1 API and v2.1 compatible mode API are using same set of new policy rules which are with prefix
os_compute_api
.
Mitaka で非推奨とされた
security_group_api
設定オプションは削除されました。正しい security_group_api オプションはuse_neutron
の値を元に選ばれます。これはより一貫したユーザー体験を提供します。
非推奨とされた
volume_api_class
設定オプションは削除されました。それに対しては一つだけ意味あるバックエンドを持つため、もはや必要ありません。
libvirt オプション 'iscsi_use_multipath' は 'volume_use_multipath' に名前が変更されました。
The 'wsgi_default_pool_size' and 'wsgi_keep_alive' options have been renamed to 'default_pool_size' and 'keep_alive' respectively.
次の非推奨とされた設定オプションは nova.conf の ``neutron``セクションから削除されました:
ca_certificates_file
api_insecure
url_timeout
``scheduler_host_manager``設定オプションによるカスタムスケジューラーホストマネージャーをロードするのは 13.0.0 Mitaka リリースで非推奨とされましたので、14.0.0 Newton リリースでは削除されました。
DB2 データベースサポートが削除されました。これは 3rd パーティ CI を持たず、コードで特別な場合を持ち続けなくてはならないことを意味する制約のかたまりである、オープンソースでないデータベースです。これはまた、cells v2に必要なオンラインデータマイグレーションと placement エンジンをとてもより難しくします。OpenStack ユーザーレポーティング使用実態調査では0% でしたので、我々はより大きなコミュニティにより必要とされる機能に焦点をあてるためこれを削除すると決めました。
非推奨とされた
glance.host
、glance.port
、glance.protocol
設定オプションを削除しました。glance.api_servers
を動作する設定として設定しなくてはなりません。この設定オプションにはデフォルト値がありませんので、必ず値を設定しなくてはなりません。
nova.virt 名前空間にある virt ドライバーだけがロードされます。これはいくつかのリリースに対しては nova docに従えば正しいですが、意図せず動作し続ける名前空間の外にあるものをロードするあるライブラリーコードの中では奇抜です。それは修正されました。つまり、"compute_driver = nova.virt.foo" は無効(またそのように強制される)であり、代わりに "compute_driver = foo" とすべきです。
一般的に swap volume といわれるボリューム接続更新のデフォルトポリシーが``rule:admin_or_owner`` から
rule:admin_api
に変更されました。なぜなら、これはデフォルトで admin-only な操作であるボリュームをマイグレーションするときボリュームサービスから呼ばれますし、終了するときボリュームサービスにある admin-only APIを呼ぶことを要求します。そのため、デフォルトでは管理者でないユーザーでは動作しません。
The deprecated osapi_v21.enabled config option has been removed. This previously allowed you a way to disable the v2.1 API. That is no longer something we support, v2.1 is mandatory.
VMwareVCDriver はすべてのゲスト VM 設定ファイルにデフォルトで disk.EnableUUID=True を設定します。udevを有効にするには /dev/disk/by-id を生成する
廃止予定の機能¶
すべての Nova にある barbican 設定オプションは非推奨とされ、15.0.0 リリースの早くに削除されます。これらオプションすべては Castellan ライブラリに移動されます。
The cells.driver configuration option is now deprecated and will be removed at Ocata cycle.
HTTP の代わりにファイル転送による Glance イメージをダウンロードする機能は非推奨となりました。15.0.0 リリースの早くに削除されます。
image_file_url
セクションの 設定オプションfilesystems
は影響を受けます。派生セクションimage_file_url:<list entry name>
とその設定オプションid
と ``mountpoint``も同様です。
Mitaka リリース(version 13.0.0)のリリースノートで述べたように、EC2API サポートが完全に削除されました。 s3 イメージサービス関連の設定オプションはまだありますが、Mitakaからコードのどこでも使われません。これらは非推奨とされ 15.0.0 リリースの速い時期に削除されるでしょう。これは
image_decryption_dir
、s3_host
、s3_port
、s3_access_key
、s3_secret_key
、s3_use_ssl
、s3_affix_tenant
に影響します。
default_flavor
設定オプションは非推奨とされ、15.0.0 リリースの早くに削除されます。このオプションは非推奨となった EC2 APIで意味があるだけであり、それゆえ Nova API では使われません。
fatal_exception_format_errors
設定オプションは非推奨とされ、15.0.0 リリースの早くに削除されます。このオプションはフォーマットされた例外メッセージにあるエラーを検出することを保証するNova の内部テスト目的で意味があるだけでした。
image_info_filename_pattern
、checksum_base_images``と ``checksum_interval_seconds
は[libvirt]
オプションで非推奨とされました。それらはもはや使われません。すべての値は無視されます。
次の非推奨とされた nova-manage コマンドは非推奨とされ、Nova 15.0.0 Ocata リリースに向け削除されます:
nova-maange account scrub
nova-manage fixed *
nova-manage floating *
nova-manage network *
nova-manage project scrub
nova-manage vpn *
These commands only work with nova-network which is itself deprecated in favor of Neutron.
nova-manage vm list
コマンドは非推奨とされました。15.0.0 Ocata リリースでは削除されるでしょう。代わりに python-novaclient のnova list
コマンドを使ってください。
The auth parameters
admin_username
,admin_password
,admin_tenant_name
andadmin_url
of the [ironic] config option group are now deprecated and will be removed in a future release. Using these parameters will log a warning. Please useusername
,password
,project_id
(orproject_name
) andauth_url
instead. If you are using Keystone v3 API, please note that the name uniqueness for project and user only holds inside the same hierarchy level, so you must also specify domain information for user (i.e.user_domain_id
oruser_domain_name
) and for project, if you are usingproject_name
(i.e.project_domain_id
orproject_domain_name
).
``DEFAULT``グループの設定オプション``snapshot_name_template``は非推奨となりました。15.0.0 リリースの早くに削除されるでしょう。このオプションを使うコードは 2012年の遅くからもう使われていません。
nova-all
バイナリは非推奨となりました。これはOpenStack の初期のころテストのため nova サービスの all in one バイナリでしたが、本当に使われることを意図していませんでした。
Nova ネットワークは非推奨となりました。現在のOpenStack ユーザー調査の結果によれば、ユーザーの 10% 以下が Nova ネットワークを残しています。これは Neutron に移行するときという信号です。Nova ネットワークには新しい機能は追加されず、バグは場合により修正されます。
/os-certificates
API はそれを動かす``nova-cert`` と同様に非推奨とされました。関連する設定オプション ``cert_topic``もまた非推奨とされ、15.0.0 Ocata リリースにできるだけはやく削除されます。これは いまはツリーのそとで維持されているEC2 サポートにのみ存在した Nova API の痕跡がない部分です。nova のどの残りともやりとりしませんし、certificates as a service として使われるべきではないし、それはすべてにとってよいことです。
すべての他のサービスをプロキシする API はこの API バージョンで非推奨とされました。それらの API はマイクロバージョン 2.36 またはそれ以上で 404 を返します。 API ユーザーは他の REST API に対する純粋なプロキシを使う代わりにネイティブな API を使うべきです。ネットワークリソースである 'fixed_ips' 、'floating ips'、 'security_groups'、 'security_group_rules'、 'networks' は os-quotas、 limit API からそれぞれ除外されました。それらのクォータは OpenStack network サービスを通して管理されるべきです。マイクロバージョン 2.36 より以前のみで API を使いクォータを管理できます。 'os-fping' API もまた非推奨とされました。 この API は nova-network のみに関係し、デプロイメントに依存します。非推奨とされた API は以下の通りです:
/images
/os-networks
/os-fixed-ips
/os-floating-ips
/os-floating-ips-bulk
/os-floating-ip-pools
/os-floating-ip-dns
/os-security-groups
/os-security-group-rules
/os-security-group-default-rules
/os-volumes
/os-snapshots
/os-baremetal-nodes
/os-fping
Nova オプション 'use_usb_tablet' が非推奨となり、グローバルな 'pointer_model' になります。
The quota_driver configuration option is now deprecated and will be removed in a subsequent release.
セキュリティー上の問題¶
The qemu-img tool now has resource limits applied which prevent it from using more than 1GB of address space or more than 2 seconds of CPU time. This provides protection against denial of service attacks from maliciously crafted or corrupted disk images.
バグ修正¶
Corrected response for the case where an invalid status value is passed as a filter to the list servers API call. As there are sufficient statuses defined already, any invalid status should not be accepted. As of microversion 2.38, the API will return 400 HTTPBadRequest if an invalid status is passed to list servers API for both admin as well as non admin user.
バグ #1579706: "Listing nova instances with invalid status raises 500 InternalServerError for admin user" を修正しました。フィルタは無効なステータスを捨て去り、空のリストを返します。後続のパッチはこれを正し、無効なステータスを受け取ったら 400 Bad Request を上げます。
When instantiating an instance based on an image with the metadata hw_vif_multiqueue_enabled=true, if flavor.vcpus is less than the limit of the number of queues on a tap interface in the kernel, nova uses flavor.vcpus as the number of queues. if not, nova uses the limit. The limits are as follows:
kernels 3.0 より前: 1
kernels 3.x: 8
kernels 4.x: 256
To make live-migration consistent with resize, confirm-resize and revert-resize operations, the migration status is changed to 'error' instead of 'failed' in case of live-migration failure. With this change the periodic task '_cleanup_incomplete_migrations' is now able to remove orphaned instance files from compute nodes in case of live-migration failures. There is no impact since migration status 'error' and 'failed' refer to the same failed state.
When plugging virtual interfaces of type vhost-user the MTU value will not be applied to the interface by nova. vhost-user ports exist only in userspace and are not backed by kernel netdevs, for this reason it is not possible to set the mtu on a vhost-user interface using standard tools such as ifconfig or ip link.
その他の注意点¶
API ポリシーのデフォルトは設定オプションのようにコードの中で定義されるようになりました。このため、Nova で出荷されるサンプル policy.json ファイルは空で、コードの中にあるデフォルトの API ポリシーを上書きたいときだけ必要なはずです。ポリシーファイルを生成するには、実行できます:
oslopolicy-sample-generator --config-file=etc/nova/nova-policy-generator.conf
network_allocate_retries 設定のパラメータは、現在、正の整数か 0 のみです。
api_rate_limit
設定オプションが削除されました。このオプションは 一つ以上の API サーバーでは壊れているので、 Havana リリースではデフォルトで無効でした。それを使っていたレガシー v2 API コードは削除されたので削除されました。
The default flavors that nova has previously had are no longer created as part of the first database migration. New deployments will need to create appropriate flavors before first use.
ネットワーク設定オプション 'fake_call' は削除されました。それはいくつかのサイクルで使われず、どのコードにも効果がなく、影響がないはずです。
The XenServer configuration option 'iqn_prefix' has been removed. It was not used anywhere and has no effect on any code, so there should be no impact.
Virt drivers are no longer loaded with the import_object_ns function, which means that only virt drivers in the nova.virt namespace can be loaded.
新しい設定オプション sync_power_state_pool_size が追加されました。電力状態を同期するために使用する使用可能なグリーンスレッド数を設定します。デフォルト値(1000)はグリーンプールにより提供される以前の暗黙のデフォルト値と合います。このオプションはパフォーマンスの理由で実インスタンスの電力状態を伴うハイパーバイザーまたはシステムへの並行リクエスト数を減らすために使われます。