LoginSignup
6
2

More than 5 years have passed since last update.

OpenStack Queens: Nova の新機能と廃止/廃止予定機能

Last updated at Posted at 2018-01-27

はじめに

2018年2月末にリリース予定の OpenStack Queens における Nova の新機能と廃止機能、廃止予定機能について調べてみました。
参考:https://docs.openstack.org/releasenotes/nova/unreleased.html

新機能

ハイパーバイザ関連

KVM/QEMU (Libvirt)

  • 1ボリュームを複数のインスタンス (=VM) で同時アタッチ可能に (qemu<2.10 又は libvirt>3.10)
  • 仮想 GPU 付インスタンス作成に対応
  • StorPool ボリューム用クライアントドライバ追加

XenServer

  • 仮想 GPU 付インスタンス作成に対応

VMware

  • インスタンスの OSシャットダウンに対応
  • コンソールログ対応
  • インスタンスのファームウェアを UEFI, BIOS から選択可能に (VMイメージ のメタデータ hw_firmware_type で指定)

Nova API

  • インスタンスのコールドマイグレーション API: 停止中インスタンスの移動先ホスト指定に対応 (地味に嬉しい)
  • インスタンスマイグレーション API: ページネーション、日時フィルタリング対応、他
  • インスタンス操作履歴 API: ページネーション対応
  • インスタンス再構築 API: key_name, user_data パラメータ追加
  • フレーバ API: description パラメータ追加

Cells v2 関連

Placement API

  • ボディを持つ GET/PUT/POST 応答に last-modified ヘッダを追加。
  • リソースプロバイダのツリー構造に対応
  • GET /resource_providers: 応答の links セクションへの /resource_providers/{rp_uuid}/allocations リンク追加
  • GET /allocation_candidates: 応答中のエントリ数制限、エントリのランダム化
  • POST /allocations: 1要求で複数 consumer UUID の設定/設定解除に対応
  • PUT /allocations/{consumer_uuid}: JSON リクエストボディで key-value 型構造を使用するよう変更 (GET /allocations/{consumer_uuid} のレスポンスボディに合わせた)

Cells 管理コマンド

  • nova-manage cell_v2 delete_cell コマンド: あるセルに削除すべきインスタンスマッピングが存在するが、そのセルの全インスタンスが既に削除されている場合、終了コード 4 を返すように変更
  • nova-manage cell_v2 list_hosts コマンド追加。1セル又は全セル中のホスト一覧を表示
  • nova-manage cell_v2 delete_host コマンド追加。1セルから1ホストを削除

その他

  • スケジューラ: 同スコアのホスト一覧のランダム化に対応
  • スケジューラ: PCI デバイスの NUMA affinity ポリシーに対応。Nova の設定ファイル中でデバイス単位(又はデバイスエイリアス単位)の要求レベルを required(必須), legacy(可能なら必須), preferred(推奨) から選択可能に。
  • インスタンス操作履歴: 記録される操作の種類を追加 (ボリューム関連操作、ロック操作、バックアップ関連操作)
  • VNC コンソール: VeNCrypt (VNC プロトコルの TLS 拡張) に対応
  • ネットワーク: Neutron で IP アドレスの部分フィルタリング拡張が利用可能な場合、Nova はIPv4/6 フィルタ付のインスタンス一覧を Neutron に送信
  • 通知: サービス (=Nova 中の各主要プロセス) 作成/削除通知に対応
  • 通知: instalce.snapshot.{start, end} notification に snapshot_image_id を追加。

廃止予定機能

  • Windows / Hyper-V 2012 Server サポート (←訂正しました)
  • monkey_patch。コード改変無しで特定メソッドに Python のデコレータメソッドをつける機能だったが、テストされておらず互換性上の問題になっていた。
  • nova-manage cell コマンド。Cells V1 用のコマンドだった。
  • Nova 標準のリソースクラス (VCPU、メモリ、ディスク) による Ironic ノードのスケジューリング機能。代わりにカスタムリソースクラスを使用する事。
  • Pike で廃止された Nova API 拡張機能関連 ACL。
  • その他、細々とした設定ファイルのパラメータの廃止・変更

廃止機能

  • Nova API
    • インスタンス作成/再構築 API: personality パラメータ削除
    • GET /limits API: 応答中の maxPersonality, maxPersonalitySize を廃止
    • クォータ API: ファイル挿入系クォータを廃止
  • nova-manage の以下のサブコマンド:
    • quota
    • shell
    • project
    • account
    • logs
    • host
    • agent
  • TrustedFilter スケジューリングフィルタ
  • Nova API v2.1 で機能しなくなった api.fault 通知関連の設定パラメータ
  • nova-idmapshift バイナリ
  • その他、細々とした設定ファイルのパラメータの廃止・変更

まとめ

Nova の更なるスケーラビリティ強化の為に最近導入された Nova Cells v2 関連強化、物理マシン管理サービス Ironic 用スケジューリング機能改革が続く一方で、1ボリュームの複数インスタンス接続や仮想 GPU 対応など、興味深い機能の追加もあります。Nova は OpenStack の最古参のコンポーネントの1つですが、今後も活発に開発が続くでしょう。

6
2
2

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
6
2