LoginSignup
4
1

More than 5 years have passed since last update.

Nova 18.0.0 リリースノート抜粋

Last updated at Posted at 2018-08-14

正式リリース前ですが、Nova 18.0.0 (Rocky リリース) のリリースノート上の各項目を適当にまとめてみました。全体的に Cells v2/Placemenet API 関連がホットです。あと1〜2リリース程で熟(こな)れるでしょうか。
面白い強化点として、ボリューム起動 VM のみ作成可能にする(=エフェメラルディスク起動 VM 作成を禁止できる)セキュリティ強化がありました。今まで無かったのが不思議な機能です。

新機能

  • Cells v2/Placement API 関連

    • nova-manage で disabled 状態の新規セル登録が可能に
    • nova-manage で既存セルの enabled/disabled 設定が可能に
    • member_of クエリパラメータ追加(API 1.21〜)
    • リソースプロバイダインベントリ定義が可能に(API 1.26〜)
    • ホストアグリゲート(AZ含む)管理機能を Placement API に移管
    • 細かなポリシー(ACL)設定に対応
    • セルマッピングレコードにホストの設定ファイルで指定した関連URLを追加可能に
    • 複数のプロセスが同一コンシューマのリソース割当を行う場合の問題を回避する世代カウンタを導入
    • セル中のホスト検出で nova-compute に絞る為のオプションを nova-manage に追加
    • 入れ子のリソースプロバイダに対応(API 1.29〜)
    • 設定ファイルに Placement API 専用データベース用グループを追加
    • Placement API の JSON エラーフォーマットに code パラメータ追加
    • リソースプロバイダ取得時のフィルタリングの Trait の隠れパラメータに対応(API 1.22〜)
    • リソースプロバイダ作成成功時にステータス 200 を応答
    • リソース割当候補取得でリソースのグルーピングに対応(API 1.25〜)
    • プロジェクトID/ユーザID指定なしのリソース割当に対応(API 1.8〜)
    • リソースプロバイダ一覧取得に required クエリパラメータ追加(API 1.18〜)
    • リソース割当候補一覧取得で provider_summaries パラメータ追加(API 1.27〜)
    • nova-manage cell_v2 map_instance コマンドに --reset オプション追加
  • スケジューラ関連

    • vCPU 負荷を新規リソース配置に反映する為の CPUWeighter ウェイター追加。
    • Placement API の AZ 問合せに対応
    • テナント制限アグリゲート中のホスト問合せを改善
    • 1ホスト上のスケジューラプロセス数を設定可能に
    • サーバ作成リクエストのスケジュール中に disabled セルのフィルタリングが可能に
  • Compute API

    • queued, preparing 状態のライブマイグレーションのキャンセルが可能に(Compute API 2.65〜)
    • サーバグループポリシーのルール定義が可能に(Compute API 2.64〜)
    • flavor 情報応答に extra spec を追加 (Compute API 2.61〜)
    • インスタンス操作履歴に host, hostId, requrest_id 項目追加
  • Trusted 関連

    • イメージ署名検証に使用する認証IDの定義に使用するパラメータを追加(API 2.63〜)
    • meta_data.json 中でネットワークインターフェースデバイスが認証された仮想機能かどうかを示す vf_trusted キー追加(API 2018-08-27〜)
    • trusted に設定された SR-IOV 仮想化機能付インスタンス作成に対応
  • Libvirt/KVM 関連

    • AArch64 アーキテクチャに対応(libvirt 3.6.0〜)
    • virtio-net の RX/TX キューサイズ指定が可能に
    • nvmeof タイプのボリュームに対応
    • CPU trait を Placement にレポート可能に
    • 設定ファイル上で PCI Express ポート(仮想マザーボード中のスロット)数を設定可能に
    • VM の物理 CPU 利用を効率化する為の cpu_shared_set パラメータを設定ファイルに追加
    • 新しい Cinder フロントエンド QoS spec に対応
    • ゲストに対する各 CPU 機能フラグを設定可能に
    • QEMU/KVM でファイルをバックエンドにした VM の仮想メモリに対応(各種制限事項あり)
    • アタッチ済み ScaleIO ボリュームのサイズ拡張に対応
  • Libvirt/PowerVM ドライバ

    • ネットワークI/Fの接続/接続解除に対応
    • ローカルのエフェメラルディスクからの起動に対応
    • インスタンススナップショットに対応
    • vSCSI ファイバチャネル Cinder ボリュームに対応
    • 設定ファイルに powervm グループ追加
  • Ironic 関連

    • インスタンスの rescue/unrescue に対応(Placement API 1.38〜,Ironic 10.1〜)
    • Trait の任意パラメータを非表示可能に
    • スケジューラへのリソース・Trait 要求を詳細化
  • その他

    • Notification に traceback フィールド追加
    • ゲストOS上の DMI 等で VM を示す情報を非表示にする為のパラメータを追加(現状libvirtのみ対応)
    • VM シャットダウンのリトライ間隔が設定ファイルで設定可能に
    • シャドーテーブル(削除レコードのバックアップ先テーブル)にアーカイブされたレコードを削除する nova-manage db purge コマンド追加。
    • oslo.messaging の変更に伴い、長時間処理 RPC タイムアウト時間設定用の long_rpc_timeout パラメータ追加。
    • 大半の Neutron ネットワークで NUMA affinity を設定可能に
    • ServerGroupPayload に新形式の policy フィールド追加
    • 設定ファイル中で XenServer のイメージハンドラを設定するパラメータを追加

既知の問題

  • Libvirt 2.2.0 における最初の LUKS 復号実装にはパスフレーズのバイト数が16の倍数でなければならない既知の問題がある。 この問題は Libvirt 3.3.0 あるいは修正箇所をバックポートした版に更新する事で解決する。 https://bugzilla.redhat.com/show_bug.cgi?id=1447297

バージョンアップの注意点

  • nova-compute がサポートする AArch64 アーキテクチャ上の Libvirt は 3.6.0 以降。
  • nova-network 関連 API の応答が 410 HTTPGone に
  • nova-api が独自の nova.conf を使用する場合、[placement] セクションが必要。
  • nova.conf 中に [glance]/api_servers が未設定で、通知が定期処理で実行される場合、 の場合、古いインスタンス通知中の image_ref_url エントリは只のイメージIDになる。
  • nova-status upgrade check のチェック追加
    • compute API のインスタンス検出で問題が発生する可能性のある nova-osapi_compute サービスバージョン有無を全セルでスキャン
    • Ironic インスタンスが、関連する ironic ノードのカスタムリソースクラス使用の為 独自の埋め込みフレーバーを使用している場合、その検出を補助するチェック
    • セル単位でオンラインマイグレーションの互換性チェックが実行される事を保証
  • noVNC 1.0.0 はコンソールアクセス URL が vnc_auto.html から vnc_lite.html に変更 されたので、[vnc] novncproxy_base_url 設定値を変更する必要がある。
  • HostState.instances が完全なオブジェクトデータを保持しなくなった為、このデータに 依存するカスタムスケジューラフィルタ(又は weighter)は性能が低下する可能性がある。
  • Libvirt ドライバの IVS VIF ハンドラ機能が os-vif-bigswitch パッケージに移管され た。
  • filter_scheduler スケジューラドライバ使用時、新しい [scheduler]workers は デフォルトで ncpu (CPUコア数)になる。
  • PowerVM 仮想化ドライバは従来デフォルトで PowerVM 共有ストレージプールディスク ドライバを使用していたが、今回デフォルトがローカルディスクに変更された。
  • e2fsck; mkfs; tune2fs; xenstore_read コマンドが rootwrap の対象から外された。
  • PowerVM ドライバで従来「仮想CPU:物理CPU」の比が 1:0.5 だったデフォルト値が
    1:0.1 に変更された。[powervm]/proc_units_factor パラメータで設定可能。

  • 以下の廃止予定オプション/機能が削除された。

    • [filter_scheduler]/use_baremetal_filters
    • [filter_scheduler]/baremetal_enabled_filters
    • [scheduler]/host_manager
    • [crypto]グループで未使用のオプション群
    • db_driver
    • [api]/allow_instance_snapshots
    • [compute]/multi_instance_display_name_template
    • [placement]/os_region_name (region_name で代用)
    • [placement]/os_interface (valid_interfaces で代用)
    • monkey patch 関連
    • [DEFAULT]/scheduler_driver_task_period ([scheduler]/periodic_task_interval で代用)
    • [conductor] topic
    • [xenserver]/vif_driver
    • ExactCoreFilter, ExactDiskFilter, ExactRamFilter
  • ベアメタルスケジューリングはカスタムリソースクラスを使うよう変更された。

  • nova-compute で使用可能な Libvirt のバージョンが 1.3.1 以降になった。
    これに伴い QEMU も 2.5.0 以降が必須になった。

  • [quota]/driver オプションが廃止予定ではなくなった。以下の設定値を選べる。

    • nova.quota.DbQuotaDriver
    • nova.quota.NoopQuotaDriver
  • セルマッピングが作成・設定された後に nova-scheduler が起動した場合、SIGHUP
    を送ってプログラムを再起動し、スケジューラキャッシュに反映する必要がある。

  • [libvirt]/rng_dev_path のデフォルトが /dev/urandom になった。

  • 新しいコンソールのトーク人認証ストアが nova-consoleauth からセルDBに変更
    されたのに伴い、nova-consoleauth が廃止予定になった。また、コンソール
    プロキシはセル単位でのデプロイが必要となった。この為、全ての既存コンソール
    は(アップグレード時に)リセットされる。

セキュリティ

  • 新規ポリシールール「os_compute_api:servers:create:zero_disk_flavor」追加。 これによりボリューム起動VMの作成のみ許可(通常のエフェメラルディスク起動 VM作成禁止)できるようになる。
  • scheduler weighter における [compute]/consecutive_build_service_disable_threshold オプションの扱いが 変更された。障害回数はホスト単位で [filter_scheduler]/build_failure_weight_multiplier パラメータにより加減 できる。

バグ修正

  • [compute]/resource_provider_association_refresh (デフォルト=300) により nova-compute 側のcompute ノードのリソースプロバイダの aggregate と trait のキャッシュ更新間隔が調整可能になった。
  • ボリューム起動 VM のインスタンスはルートディスクの為の compute ノード上の 不正なディスク割当を含まなくなった。これは従来の挙動 (不要で実際割り当てら れていないルートディスク用のエフェメラルディスク用の空き領域をカウント) のバグ修正である。
  • 従来1つのセルが unreachable の場合にサーバ一覧とレコード移行で 500 エラー が発生していた問題で、今回 reachable なセルの情報だけが表示され、500 エラー が発生しないようになった。
  • SchedulerReportClient (nova.scheduler.client.report.SchedulerReportClient) が X-Openstack-Request-Id ヘッダ中でグローバルリクエストID 付で Placement サービスにリクエストを送信するバグがある。
  • 既存のインスタンスを未だにホストする nova-compute サービスに対して DELETE /os-services/{service_id} を実行すると 409 エラーが返却されるように なった。
  • 複数のアーキテクチャを1クラウドで利用する際、image 中でアーキテクチャ属性 が未設定の ImagePropertiesFilter の挙動は不定だったが、今回新しい [filter_scheduler]image_properties_default_architecture パラメータで デフォルトアーキテクチャが指定可能になった。これがないと、そのイメージを サポートしない compute ノード上で VM が作成される可能性がある。
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1