付録B API バージョン 4 の変更点
このセクションでは、API のバージョン 4 以降に導入された下位互換性を確保できない変更を列挙します。
B.1. API バージョン 4.0 での変更点 (バージョン 3.6 の後継) リンクのコピーリンクがクリップボードにコピーされました!
B.1.1. YAML サポートの削除 リンクのコピーリンクがクリップボードにコピーされました!
YAML のサポートは完全に削除されました。
B.1.2. 複合型の名前変更 リンクのコピーリンクがクリップボードにコピーされました!
次の XML スキーマ複合型の名前が変更されました。
| Version 3 | Version 4 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B.1.3. Status タイプの enum 型への置き換え リンクのコピーリンクがクリップボードにコピーされました!
現在、さまざまなオブジェクトのステータスは、ステータスを説明する state 文字列と追加の詳細を示す別の detail 文字列を含む Status タイプを使用して報告されます。たとえば、IO エラーが原因で一時停止している仮想マシンのステータスは、現在次のように報告されています。
API のバージョン 4 では、この Status 型が削除され、enum 型に置き換えられました。追加の 詳細 文字列が必要な場合は、追加の status_detail 属性に置き換えられています。たとえば、同じ仮想マシンのステータスは次のように報告されます。
B.1.4. NIC network と port_mirroring プロパティーの削除 リンクのコピーリンクがクリップボードにコピーされました!
NIC network および port_mirroring 要素は vnic_profile 要素に置き換えられたので、ネットワークおよびポートミラーリング設定を指定する代わりに NIC を作成または更新する場合には、これらは vNIC プロファイルの作成時に指定されていました。
POST /ovirt-engine/api/vnicprofiles
POST /ovirt-engine/api/vnicprofiles
<vnic_profile> <name>myprofile</name> <network id="..."/> <port_mirroring>true</port_mirroring> </vnic_profile>
<vnic_profile>
<name>myprofile</name>
<network id="..."/>
<port_mirroring>true</port_mirroring>
</vnic_profile>
次に、NIC が作成されるか、既存の vNIC プロファイルを参照します。
PUT /ovirt-engine/api/vms/123/nics/456
PUT /ovirt-engine/api/vms/123/nics/456
<nic> <vnic_profile id="/vnicprofiles/..."> </nic>
<nic>
<vnic_profile id="/vnicprofiles/...">
</nic>
古い要素とその意味は後方互換性のために保持されていましたが、現在は完全に削除されています。
network 要素は initialization 要素でまだ使用されているため、XML スキーマから削除されていませんが、NIC の作成または更新時に指定された場合は完全に無視されることに注意してください。
B.1.5. NIC active プロパティーの削除 リンクのコピーリンクがクリップボードにコピーされました!
NIC の active プロパティーは、しばらく前に plugged に置き換えられました。現在は完全に削除されています。
B.1.6. ディスク type プロパティーの削除 リンクのコピーリンクがクリップボードにコピーされました!
ディスクの type プロパティーは削除されましたが、XML スキーマに保持され、無視されます。現在は完全に削除されています。
B.1.7. ディスク size プロパティーの削除 リンクのコピーリンクがクリップボードにコピーされました!
ディスク size プロパティーは、だいぶ前に provisioned_size に置き換えられています。現在は完全に削除されています。
B.1.8. VM を単一のホストに固定するためのサポートを削除 リンクのコピーリンクがクリップボードにコピーされました!
バージョン 3.6 より前の API では、VM エンティティーの placement_policy 要素を使用して、VM を単一のホストにピニングすることができました。
PUT /ovirt-engine/api/vms/123
PUT /ovirt-engine/api/vms/123
<vm>
<placement_policy>
<host id="456"/>
</placement_policy>
<vm>
<vm>
<placement_policy>
<host id="456"/>
</placement_policy>
<vm>
バージョン 3.6 では、複数のホストをサポートするようにこの機能が強化され、新しい hosts 要素が追加されました。
PUT /ovirt-engine/api/vms/123
PUT /ovirt-engine/api/vms/123
後方互換性を維持するために、単一の host 要素が保持されました。4.0 ではこれが削除されたため、単一のホストにピニングする場合でも、アプリケーションは hosts 要素を使用する必要があります。
B.1.9. capabilities.permits 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
permits のリストは、クラスターレベルごとに異なる可能性があり、かなり前に version 要素に追加されましたが、後方互換性のために、capabilities 要素にも保持されています。
4.0 では、capabilities サービスが完全に削除され、新しい clusterlevels サービスに置き換えられました。クラスターレベル 4.0 でサポートされる permits を見つけるには、以下のようなリクエストを使用する必要があります。
GET /ovirt-engine/api/clusterlevels/4.0
GET /ovirt-engine/api/clusterlevels/4.0
結果は、そのクラスターレベルに固有の情報、特にサポートされている一連の permits を含むドキュメントになります。
B.1.10. storage_manager 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
storage_manager 要素は、しばらく前に spm 要素に置き換えられました。古いものは後方互換性のために保持されていましたが、現在は完全に削除されています。
B.1.11. データセンターの storage_type 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
データセンターは、以前は特定のストレージタイプ (NFS、ファイバーチャネル、iSCSI など) に関連付けられていましたが、しばらくして変更され、ローカルストレージと共有ストレージの 2 つのタイプのみになりました。これを示すために新しい local 要素が導入され、古い storage_type 要素は後方互換性のために保持されました。この古い要素は完全に削除されました。
B.1.12. timezone 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
タイムゾーンを表す timezone 要素を格納するために使用される VM リソース。この要素は文字列のみを許可していました。
<vm> <timezone>Europe/Madrid</timezone> </vm>
<vm>
<timezone>Europe/Madrid</timezone>
</vm>
これはエクステンションを許可せず、UTC オフセットを追加する必要があったため、新しい構造化された time_zone 要素に置き換えられました。
古い timezone 要素は保持されていましたが、現在は完全に削除されています。
B.1.13. guest_info 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
guest_info 要素は、IP アドレスや完全修飾ホスト名など、ゲストエージェントによって収集された情報を保持するために使用されていました。この情報は他の場所でも入手できます。たとえば、IP アドレスは VM リソース内で使用できます。
GET /ovirt-engine/api/vms/123
GET /ovirt-engine/api/vms/123
また、NIC リソース内で、新しい reported_devices 要素を使用します。
GET /ovirt-engine/api/vms/{vm:id}/nics/{nic:id}
GET /ovirt-engine/api/vms/{vm:id}/nics/{nic:id}
さらに、この新しい reported_devices 要素は、複数の IP アドレス、MAC アドレスなど、より完全な情報を提供します。
この重複を取り除くために、guest_info 要素が削除されました。
完全修飾ドメイン名をサポートするために、新しい fqdn 要素が VM リソースに追加されました。
GET /ovirt-engine/api/vms/123
GET /ovirt-engine/api/vms/123
<vm> <fqdn>myvm.example.com</fqdn> </vms>
<vm>
<fqdn>myvm.example.com</fqdn>
</vms>
これには、guest_info.fqdn に含まれていたものと同じ情報が含まれます。
B.1.14. CPU id 属性の type 要素への置き換え リンクのコピーリンクがクリップボードにコピーされました!
cpu 要素には、CPU のタイプを示す id 属性がありました。
<cpu id="Intel Nehalem Family"> <architecture>X86_64</architecture> ... </cpu>
<cpu id="Intel Nehalem Family">
<architecture>X86_64</architecture>
...
</cpu>
これは、id 属性が不透明な識別子に使用される API モデルの残りの要素と矛盾しています。この id 属性は新しい type 要素に置き換えられました。
<cpu> <type>Intel Nehalem Family</type> <architecture>X86_64</architecture> </cpu>
<cpu>
<type>Intel Nehalem Family</type>
<architecture>X86_64</architecture>
</cpu>
B.1.15. CPU トポロジーで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、CPU トポロジー要素はそのプロパティーに属性を使用していました。
<cpu> <topology sockets="1" cores="1" threads="1"/> ... </cpu>
<cpu>
<topology sockets="1" cores="1" threads="1"/>
...
</cpu>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
B.1.16. VCPU ピンで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、VCPU ピン要素はそのプロパティーに属性を使用していました。
<cpu_tune> <vcpu_pin vcpu="0" cpu_set="0"/> </cpu_tune>
<cpu_tune>
<vcpu_pin vcpu="0" cpu_set="0"/>
</cpu_tune>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
B.1.17. VCPU ピンで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、version 要素はそのプロパティーに属性を使用していました:
<version major="3" minor="5" ../>
<version major="3" minor="5" ../>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
<version> <major>3</minor> <minor>5</minor> ... </version>
<version>
<major>3</minor>
<minor>5</minor>
...
</version>
B.1.18. メモリーのオーバーコミットで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、overcommit 要素はそのプロパティーに属性を使用していました。
<memory_policy> <overcommit percent="100"/> ... </memory_policy>
<memory_policy>
<overcommit percent="100"/>
...
</memory_policy>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
B.1.19. console で属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、console 要素はそのプロパティーに属性を使用していました:
<console enabled="true"/>
<console enabled="true"/>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
<console> <enabled>true</enabled> </console>
<console>
<enabled>true</enabled>
</console>
B.1.20. VIRTIO SCSI で属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、VIRTIO ISCSI 要素はそのプロパティーに属性を使用していました。
<virtio_scsi enabled="true"/>
<virtio_scsi enabled="true"/>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
<virtio_scsi> <enabled>true</enabled> </virtio_scsi>
<virtio_scsi>
<enabled>true</enabled>
</virtio_scsi>
B.1.21. 電源管理エージェント type に属性ではなく要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
電源管理 type プロパティーは属性として表されていました。
<agent type="apc"> <username>myuser</username> ... </agent>
<agent type="apc">
<username>myuser</username>
...
</agent>
これは、API の一般的な慣行に反しています。内部要素に置き換えられました。
<agent> <type>apc</type> <username>myuser</username> ... </agent>
<agent>
<type>apc</type>
<username>myuser</username>
...
</agent>
B.1.22. 電源管理エージェントオプションで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、電源管理エージェントの option 要素は、そのプロパティーに属性を使用していました。
<options> <option name="port" value="22"/> <option name="slot" value="5"/> ... </options>
<options>
<option name="port" value="22"/>
<option name="slot" value="5"/>
...
</options>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
B.1.23. IP アドレスで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、IP アドレス要素はそのプロパティーに属性を使用していました。
<ip address="192.168.122.1" netmask="255.255.255.0"/>
<ip address="192.168.122.1" netmask="255.255.255.0"/>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
<ip> <address>192.168.122.1</address> <netmask>255.255.255.0</netmask> </ip>
<ip>
<address>192.168.122.1</address>
<netmask>255.255.255.0</netmask>
</ip>
B.1.24. MAC アドレスで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、MAC アドレス要素はそのプロパティーに属性を使用していました。
<mac address="66:f2:c5:5f:bb:8d"/>
<mac address="66:f2:c5:5f:bb:8d"/>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
<mac> <address>66:f2:c5:5f:bb:8d</address> </mac>
<mac>
<address>66:f2:c5:5f:bb:8d</address>
</mac>
B.1.25. ブートデバイスで属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
以前は、ブートデバイス要素はそのプロパティーに属性を使用していました。
<boot dev="cdrom"/>
<boot dev="cdrom"/>
これは、API の一般的な慣行に反しています。それらは内部要素に置き換えられました:
<boot> <dev>cdrom</dev> </boot>
<boot>
<dev>cdrom</dev>
</boot>
B.1.26. オペレーティングシステム type に属性の代わりに要素を使用する リンクのコピーリンクがクリップボードにコピーされました!
オペレーティングシステム type プロパティーは属性として表されていました。
<os type="other"> ... </os>
<os type="other">
...
</os>
これは、API の一般的な慣行に反しています。内部要素に置き換えられました。
<os> <type>other</type> ... </os>
<os>
<type>other</type>
...
</os>
B.1.27. ホストを取得するリクエストからの force パラメーターの削除 リンクのコピーリンクがクリップボードにコピーされました!
データベースからデータを取得する前に、ホストのデータを更新する (VDSM を呼び出してホストの機能とデバイスをリロードする) 必要があることを示す force マトリクスパラメーターをサポートするために使用されるホストを取得するリクエスト。
GET /ovirt-engine/api/hosts/123;force
GET /ovirt-engine/api/hosts/123;force
この force パラメーターは、ホストの refresh アクションに取って代わられましたが、後方互換性のために保持されています。現在は完全に削除されています。この機能を必要とするアプリケーションは、2 つのリクエストを実行する必要があります。1 つ目は、ホストをリフレッシュするためのリクエストです。
POST /ovirt-engine/api/hosts/123/refresh
POST /ovirt-engine/api/hosts/123/refresh
<action/>
<action/>
2 つ目は、force パラメーターなしでそれを取得するためのリクエストです。
GET /ovirt-engine/api/hosts/123
GET /ovirt-engine/api/hosts/123
B.1.28. 非推奨のホスト電源管理設定の削除 リンクのコピーリンクがクリップボードにコピーされました!
ホストの電源管理設定は、以前はホストリソースの一部であり、組み込みの設定要素を使用していました。
これは、複数の電源管理エージェントをサポートするために、少し前に新しい /hosts/123/fenceagents コレクションを導入することで変更されました。
古い type 属性、古い address 要素、username 要素、password 要素、および power_management の内部に直接ある agents 要素は、後方互換性のために保持されました。これらの要素はすべて完全に削除されたため、電源管理エージェントをクエリーまたは変更する方法は、現時点では /hosts/123/fenceagents サブコレクションのみになります。
B.1.29. 複数の boot の代わりに複数の boot.devices.device を使用する リンクのコピーリンクがクリップボードにコピーされました!
これまで、仮想マシンの起動時にブートシーケンスを指定する方法は、それぞれが dev 要素を含む複数の boot 要素を使用することでした。たとえば、仮想マシンが最初に CDROM から起動し、次にハードディスクから起動するように指定するには、以下のリクエストが使用されました。
POST /ovirt-engine/api/vms/123/start
POST /ovirt-engine/api/vms/123/start
API の他の部分での一般的な方法は、配列をラッパー要素で表すことです。その場合、そのラッパー要素に boots という名前を付けることができますが、ここで複数の値を指定できるのはブートシーケンスではなくブートデバイスであるため、あまり意味がありません。この矛盾を修正するために、これは複数のデバイスを含むことができる単一の boot 要素に置き換えられました。
POST /ovirt-engine/api/vms/123/start
POST /ovirt-engine/api/vms/123/start
B.1.30. disks.clone と disks.detach_only 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
これらの要素は実際にはディスクの表現の一部ではなく、仮想マシンを追加および削除する操作のパラメーターです。
新しい仮想マシンのディスクのクローンを作成する必要があることを示すために、disks.clone 要素が使用されました。
POST /ovirt-engine/api/vms
POST /ovirt-engine/api/vms
これは現在削除され、新しい clone クエリーパラメーターに置き換えられています。
POST /ovirt-engine/api/vms?clone=true
POST /ovirt-engine/api/vms?clone=true
<vm> ... </vm>
<vm>
...
</vm>
disks.detach_only 要素は、仮想マシンの削除時に、ディスクを削除する必要はなく、仮想マシンから切り離すだけであることを指定するために使用されていました。
DELETE /ovirt-engine/api/vms/123
DELETE /ovirt-engine/api/vms/123
これは削除され、新しい detach_only クエリーパラメーターに置き換えられました。
DELETE /ovirt-engine/api/vms/123?detach_only=true
DELETE /ovirt-engine/api/vms/123?detach_only=true
B.1.31. 要素 vmpool の名前を vm_pool に変更する リンクのコピーリンクがクリップボードにコピーされました!
仮想マシンのプールを表す要素の名前は、以前は vmpool および vmpools でした。複合タイプ (この場合は VmPool と VmPools) と要素の名前間での対応を統一するために、vm_pool と vm_pools に改名されました。
B.1.32. 複数の logical_unit の代わりに logical_units を使用する リンクのコピーリンクがクリップボードにコピーされました!
ボリュームグループの一部である論理ユニットは、無制限数の logical_unit 要素として報告されていました。たとえば、ストレージドメインの詳細を報告する場合は、以下のようになります。
GET /ovirt-engine/api/storagedomains/123
GET /ovirt-engine/api/storagedomains/123
要素のリストは常に要素でラップされるため、これは API の通常の慣行に反します。これは現在修正されているため、論理ユニットのリストは logical_units 要素でラップされます。
GET /ovirt-engine/api/storagedomains/123
GET /ovirt-engine/api/storagedomains/123
B.1.33. snapshots.collapse_snapshots 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
この要素は実際にはスナップショットの表現の一部ではありませんが、エクスポートストレージドメインから仮想マシンをインポートする操作のパラメーターです。
POST /ovirt-engine/api/storagedomains/123/vms/456/import
POST /ovirt-engine/api/storagedomains/123/vms/456/import
これは削除され、新しい collapse_snapshots クエリーパラメーターに置き換えられました。
POST /ovirt-engine/api/storagedomains/123/vms/456/import?collapse_snapshots=true
POST /ovirt-engine/api/storagedomains/123/vms/456/import?collapse_snapshots=true
<action/>
<action/>
B.1.34. storage と host_storage 要素の名前の変更 リンクのコピーリンクがクリップボードにコピーされました!
ホストストレージコレクションは、storage 要素と host_storage 要素、および Storage と HostStorage 複合型を使用して、ホストに関連付けられたストレージを報告します。
GET /ovirt-engine/api/hosts/123/storage
GET /ovirt-engine/api/hosts/123/storage
これは、API の残りの部分で使用されるパターンに従っていません。外側の要素は複数形で、内側の要素は同じ名前ですが単数形です。これは、外側の要素として host_storages を、内側の要素として host_storage を使用するように変更されました。
GET /ovirt-engine/api/hosts/123/storage
GET /ovirt-engine/api/hosts/123/storage
B.1.35. permissions.clone 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
この要素は実際にはアクセス許可の表現の一部ではありませんが、仮想マシンまたはテンプレートを作成する操作のパラメーターです。
POST /ovirt-engine/api/vms
POST /ovirt-engine/api/vms
POST /ovirt-engine/api/templates
POST /ovirt-engine/api/templates
これは削除され、新しい clone_permissions クエリーパラメーターに置き換えられました。
POST /ovirt-engine/api/vms?clone_permissions=true
POST /ovirt-engine/api/vms?clone_permissions=true
<vm> <template id="..."/> </vm>
<vm>
<template id="..."/>
</vm>
POST /ovirt-engine/api/templates?clone_permissions=true
POST /ovirt-engine/api/templates?clone_permissions=true
<template> <vm id="..."/> </template>
<template>
<vm id="..."/>
</template>
B.1.36. 乱数ジェネレーター source 要素の名前の変更 リンクのコピーリンクがクリップボードにコピーされました!
乱数ジェネレーターのソースは、その使用を反映した名前の要素でラップされた source 要素のコレクションを使用して報告されていました。たとえば、従来は、クラスターの必要な乱数ジェネレーターソースは以下のように報告されていました。
GET /ovirt-engine/api/clusters/123
GET /ovirt-engine/api/clusters/123
また、ホストによってサポートされる乱数ジェネレーターソースは、以下のように報告されていました。
GET /ovirt-engine/api/hosts/123
GET /ovirt-engine/api/hosts/123
これは、コレクションが複数形で名前でラップされ、要素が単数形で同じ名前でラップされる他の API と一貫していません。これは修正されました。必要な乱数ジェネレーターソースは、以下のように報告されるようになりました。
GET /ovirt-engine/api/clusters/123
GET /ovirt-engine/api/clusters/123
また、ホストでサポートされる乱数ジェネレーターソースは、以下のように報告されます。
GET /ovirt-engine/api/hosts/123
GET /ovirt-engine/api/hosts/123
source だけでなく、required_rng_source と supported_rng_source を使用していることに注意してください。
B.1.37. 中間の tag.parent 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
タグとその親タグの間の関係は、中間の parent タグを使用して表されていましたが、これには別の tag 要素が含まれていました。
この構造体は単純化され、1 つの parent 要素のみが使用されるようになりました。
<tag> <name>mytag</name> <parent id="..." href="..."/> </tag>
<tag>
<name>mytag</name>
<parent id="..." href="..."/>
</tag>
B.1.38. スケジューリングの組み込み名としきい値の削除 リンクのコピーリンクがクリップボードにコピーされました!
これまで、クラスターのスケジューリングポリシーの仕様は、組み込み名としきい値に基づいていました。たとえば、均等に分散 されたスケジューリングポリシーを使用するクラスターは、以下のように表されていました。
このメカニズムは、スケジュールポリシーを任意の名前とプロパティーで定義できるトップレベルの /schedulingpolicies コレクションに置き換えられました。たとえば、同じスケジューリングポリシーは、最上位コレクションでは次のように表されます。
クラスターの表現は、スケジューリングポリシーをその識別子で参照します。
<cluster> <name>mycluster</name> <scheduling_policy id="..."/> ... </cluster>
<cluster>
<name>mycluster</name>
<scheduling_policy id="..."/>
...
</cluster>
後方互換性を維持するために、古い policy 要素および thresholds 要素が保持されました。クラスター内に組み込まれたスケジューリングポリシー表現も保持されました。これらはすべて完全に削除されたため、クラスターを取得、作成、または更新するときにスケジューリングポリシーを参照する唯一の方法は、識別子を使用して既存のポリシーを参照することです。たとえば、クラスターを取得する場合、id (および href) のみが入力されます。
GET /ovirt-engine/api/clusters/123
GET /ovirt-engine/api/clusters/123
<cluster> ... <scheduling_policy id="..." href="..."/> ... </cluster>
<cluster>
...
<scheduling_policy id="..." href="..."/>
...
</cluster>
クラスターを作成または更新する場合、id のみが受け入れられます。
B.1.39. bricks.replica_count および bricks.stripe_count の削除 リンクのコピーリンクがクリップボードにコピーされました!
これらの要素は、実際にはブリックのコレクションの表現の一部ではなく、ブリックを追加および削除する操作のパラメーターです。これらは削除され、新しい replica_count および strip_count パラメーターに置き換えられました。
POST .../bricks?replica_count=3&stripe_count=2
POST .../bricks?replica_count=3&stripe_count=2
DELETE .../bricks?replica_count=3
DELETE .../bricks?replica_count=3
B.1.40. 統計 type プロパティーの名前を kind に変更する リンクのコピーリンクがクリップボードにコピーされました!
統計は、統計の種類 (ゲージ、カウンターなど) を示す type 要素と、値の型 (整数、文字列など) を示す type 属性を使用して表されていました。
両方の 型 概念の使用を避けるために、最初のものが kind に置き換えられ、kind と type の両方が要素になりました。
B.1.41. 複数の vcpu_pin の代わりに複数の vcpu_pins.vcpu_pin を使用する リンクのコピーリンクがクリップボードにコピーされました!
これまで、仮想マシンの仮想から物理への CPU ピニングを指定するには、複数の vcpu_pin 要素を使用する方法を使用していました。
API の他の部分の一般的な慣例に準拠するために、これはラッパー要素を使用するように変更され、今回の場合は vcpu_pins です。
B.1.42. force パラメーターを使用してデータセンターを強制的に削除する リンクのコピーリンクがクリップボードにコピーされました!
データセンターを削除する操作では、force パラメーターがサポートされています。これを使用するために、DELETE オペレーションはオプションのアクションパラメーターをサポートしていました。
DELETE /ovirt-engine/api/datacenters/123
DELETE /ovirt-engine/api/datacenters/123
<action> <force>true</force> </action>
<action>
<force>true</force>
</action>
このオプションのアクションパラメーターは、オプションのパラメーターに置き換えられました。
DELETE /ovirt-engine/api/datacenters/123?force=true
DELETE /ovirt-engine/api/datacenters/123?force=true
B.1.43. force パラメーターを使用してホストを強制的に削除する リンクのコピーリンクがクリップボードにコピーされました!
ホストを削除する操作では、force パラメーターがサポートされています。これを使用するために、DELETE オペレーションはオプションのアクションパラメーターをサポートしていました。
DELETE /ovirt-engine/api/host/123
DELETE /ovirt-engine/api/host/123
<action> <force>true</force> </action>
<action>
<force>true</force>
</action>
このオプションのアクションパラメーターは、オプションのパラメーターに置き換えられました。
DELETE /ovirt-engine/api/host/123?force=true
DELETE /ovirt-engine/api/host/123?force=true
B.1.44. ストレージドメインの強制削除にパラメーターを使用する リンクのコピーリンクがクリップボードにコピーされました!
ストレージドメインを削除する操作は、force、destroy、および host パラメーターをサポートしています。これらのパラメーターは、本体としてストレージドメインの表現を使用して DELETE メソッドに渡されていました。
DELETE /ovirt-engine/api/storagedomains/123
DELETE /ovirt-engine/api/storagedomains/123
HTTP DELETE パラメーターに本文が含まれているべきではなく、ストレージドメインの表現にもストレージドメインの属性ではないものを含めず、操作のパラメーターを含める必要があるため、これには問題がありました。
force、delete、および host 属性は同等のパラメーターに置き換えられ、操作では本文を使用できなくなりました。たとえば、force パラメーターを使用してストレージドメインを正しく削除する方法は次のとおりです。
DELETE /ovirt-engine/api/storagedomain/123?host=myhost&force=true
DELETE /ovirt-engine/api/storagedomain/123?host=myhost&force=true
destroy パラメーターを使用して削除するには以下を実行します。
DELETE /ovirt-engine/api/storagedomain/123?host=myhost&destroy=true
DELETE /ovirt-engine/api/storagedomain/123?host=myhost&destroy=true
B.1.45. host パラメーターを使用したストレージサーバー接続の削除 リンクのコピーリンクがクリップボードにコピーされました!
ストレージサーバー接続を削除する操作は、host パラメーターをサポートします。これを使用するには、オプションのアクションパラメーターをサポートするために使用される DELETE メソッドを使用します。
DELETE /ovirt-engine/api/storageconnections/123
DELETE /ovirt-engine/api/storageconnections/123
<action>
<host id="...">
<name>...</name>
</host>
</action>
<action>
<host id="...">
<name>...</name>
</host>
</action>
このオプションのアクションパラメーターは、オプションのパラメーターに置き換えられました。
DELETE /ovirt-engine/api/storageconnections/123?host=myhost
DELETE /ovirt-engine/api/storageconnections/123?host=myhost
B.1.46. force と storage_domain パラメーターを使用したテンプレートディスクの削除 リンクのコピーリンクがクリップボードにコピーされました!
テンプレートディスクを削除する操作では、force および storage_domain パラメーターがサポートされます。このパラメーターを使用するには、オプションのアクションパラメーターのサポートに使用される DELETE メソッドを使用します。
DELETE /ovirt-engine/api/templates/123/disks/456
DELETE /ovirt-engine/api/templates/123/disks/456
<action> <force>...</force> <storage_domain id="..."/> </action>
<action>
<force>...</force>
<storage_domain id="..."/>
</action>
API のバージョン 4 では、この操作は新しい diskattachments コレクションに移動され、要求本文はクエリーパラメーター force および storage_domain に置き換えられました。
DELETE /ovirt-engine/api/templates/123/disksattachments/456?force=true
DELETE /ovirt-engine/api/templates/123/disksattachments/456?force=true
DELETE /ovirt-engine/api/templates/123/disksattachments/456?storage_domain=123
DELETE /ovirt-engine/api/templates/123/disksattachments/456?storage_domain=123
B.1.47. VM ディスク API を介してディスクを削除しないでください リンクのコピーリンクがクリップボードにコピーされました!
/vms/123/disks/456 を削除してエンティティーを削除すると、VM とディスクの間の関係が削除されるので、この操作では VM からディスクを切り離す必要があります。この操作では、システムからディスクを完全に削除できなくなり、ユーザーが間違いを犯しやすく、元に戻せない結果が生じていました。ディスクを削除するには、代わりに /disk/456 API を使用します。
DELETE /ovirt-engine/api/disks/456
DELETE /ovirt-engine/api/disks/456
B.1.48. force クエリーパラメーターを使用して、仮想マシンを強制的に削除する リンクのコピーリンクがクリップボードにコピーされました!
仮想マシンを削除する操作では、force パラメーターがサポートされています。これを使用するには、オプションのアクションパラメーターをサポートするために使用される DELETE メソッドを使用します。
DELETE /ovirt-engine/api/vms/123
DELETE /ovirt-engine/api/vms/123
<action> <force>true</force> </action>
<action>
<force>true</force>
</action>
このオプションのアクションパラメーターは、オプションのクエリーパラメーターに置き換えられました。
DELETE /ovirt-engine/api/vms/123?force=true
DELETE /ovirt-engine/api/vms/123?force=true
B.1.49. 複数のブリックを削除するには、DELETE の代わりに POST を使用する リンクのコピーリンクがクリップボードにコピーされました!
複数の Gluster ブリックを削除する操作は、DELETE メソッドを使用して実装され、ブリックのリストをリクエストの本文として渡します。
DELETE /ovirt-engine/api/clusters/123/glustervolumes/456/bricks
DELETE /ovirt-engine/api/clusters/123/glustervolumes/456/bricks
<bricks> <bricks id="..."/> <bricks id="..."/> ... </bricks>
<bricks>
<bricks id="..."/>
<bricks id="..."/>
...
</bricks>
DELETE メソッドには本体がないため、これは問題であるため、POST メソッドを使用する新しい 削除 アクションに置き換えられました。
POST /ovirt-engine/api/clusters/123/glustervolumes/456/bricks/remove
POST /ovirt-engine/api/clusters/123/glustervolumes/456/bricks/remove
<bricks> <bricks id="..."/> <bricks id="..."/> ... </bricks>
<bricks>
<bricks id="..."/>
<bricks id="..."/>
...
</bricks>
B.1.50. Scheduling_policy.policy 要素の削除 リンクのコピーリンクがクリップボードにコピーされました!
この要素は後方互換性のために保持されていました。代わりに Scheduling_policy.name を使用してください。
POST /ovirt-engine/api/schedulingpolicies
POST /ovirt-engine/api/schedulingpolicies
<scheduling_policy> ... <name>policy_name</name> ... </scheduling_policy>
<scheduling_policy>
...
<name>policy_name</name>
...
</scheduling_policy>
PUT /ovirt-engine/api/schedulingpolicies/123
PUT /ovirt-engine/api/schedulingpolicies/123
<scheduling_policy> ... <name>policy_name</name> ... </scheduling_policy>
<scheduling_policy>
...
<name>policy_name</name>
...
</scheduling_policy>
B.1.51. snapshot.snapshot_type の追加 リンクのコピーリンクがクリップボードにコピーされました!
Enum は徐々に API に導入されています。これまで文字列だった一部のフィールドは、適切な列挙型に置き換えられます。そのようなフィールドの 1 つが vm.type です。ただし、このフィールドはスナップショットによって継承され、スナップショットタイプは vm タイプとは異なります。そのため、新しいフィールド (snapshot.snapshot_type) がスナップショットエンティティーに追加されました。
<snapshot> ... <snapshot_type>regular|active|stateless|preview</snapshot_type> ... </snapshot>
<snapshot>
...
<snapshot_type>regular|active|stateless|preview</snapshot_type>
...
</snapshot>
B.1.52. VM からの move アクションの削除 リンクのコピーリンクがクリップボードにコピーされました!
VM エンティティーの非推奨の move アクションは削除されました。代わりに、個々のディスクを移動できます。
B.1.53. reported_configurations.in_sync を network_attachment に移動する リンクのコピーリンクがクリップボードにコピーされました!
API のバージョン 3 では、XML スキーマタイプ ReportedConfigurations に in_sync プロパティーがありました。
リストタイプ (報告された設定のリスト) には属性を指定できないので、API のバージョン 4 で使用される仕様メカニズムでは、これを表現することはできません。それを表現できるようにするために、属性は in_sync を囲む network_attachment に移動されました。
B.1.54. capabilities を clusterlevels に置き換える リンクのコピーリンクがクリップボードにコピーされました!
最上位の capabilities コレクションは、新しい clusterlevels コレクションに置き換えられました。この新しいコレクションには、各クラスターレベルで使用可能な CPU タイプのリストなど、モデルでは使用できない情報が含まれます。
GET /ovirt-engine/api/clusterlevels
GET /ovirt-engine/api/clusterlevels
これにより、システムでサポートされている全クラスターレベルの詳細を含め、ClusterLevel オブジェクトのリストが返されます。
特定の各クラスターレベルには、バージョン自体で識別される独自のサブリソースがあります。
GET /ovirt-engine/api/clusterlevels/3.6
GET /ovirt-engine/api/clusterlevels/3.6
これにより、そのバージョンの詳細が返されます。
B.1.55. disks を diskattachments に置き換える リンクのコピーリンクがクリップボードにコピーされました!
バージョン 3 の API 仮想マシンとテンプレートには、接続されているディスクのすべての情報を含む disks コレクションがありました。API のバージョン 4 では、これらの disks コレクションは削除され、新しい diskattachments コレクションに置き換えられました。このコレクションには、ディスクへの参照と、ディスクとディスクが接続されている仮想マシンまたはテンプレートとの関係に固有の属性のみ (interface と bootable) が含まれます。
たとえば、仮想マシンに接続されているディスクを見つけるには、以下のようなリクエストを送信します。
GET /ovirt-engine/api/vms/123/diskattachments
GET /ovirt-engine/api/vms/123/diskattachments
以下のような応答が返されます。
ディスクの残りの詳細を見つけるには、提供されたリンクを参照してください。
仮想マシンまたはテンプレートにディスクを追加すると、新しい disk_attachment 要素も使用されます。リクエストが以下のようになります。
POST /ovirt-engine/api/vms/123/diskattachments
POST /ovirt-engine/api/vms/123/diskattachments
ディスクが存在せず、作成する場合は、次の本文を使用します。
または、ディスクがすでに存在し、ディスクを仮想マシンにアタッチするだけの場合は、次の本文を使用します。
<disk_attachment> <bootable>false</bootable> <interface>virtio</interface> <disk id="456"/> </disk_attachment>
<disk_attachment>
<bootable>false</bootable>
<interface>virtio</interface>
<disk id="456"/>
</disk_attachment>
vm.disks および template.disks 属性には、すべての用途に対して disk_attachments があることを考慮してください。たとえば、テンプレートを作成するとき、テンプレートのディスクを作成するストレージドメインを指定するために vm.disks 要素が使用されていました。この使用方法も vm.disk_attachments に置き換えられたため、特定のストレージドメインにディスクを含むテンプレートを作成するリクエストは次のようになります。
B.1.56. iscsi_targets 要素を使用して、未登録のストレージを検出する リンクのコピーリンクがクリップボードにコピーされました!
API のバージョン 3 では、未登録のストレージドメインを検出する操作は、複数の iscsi_target を使用して iSCSI ターゲットの一覧を受信していました。
POST /ovirt-engine/api/hosts/123/unregisteredstoragedomaindiscover
POST /ovirt-engine/api/hosts/123/unregisteredstoragedomaindiscover
API のバージョン 4 では、この場合の iscsi_target のようなすべての繰り返し要素は、別の要素 (この場合は iscsi_targets) でラップされます。したがって、同じリクエストは次のようになります。
POST /ovirt-engine/api/hosts/123/unregisteredstoragedomaindiscover
POST /ovirt-engine/api/hosts/123/unregisteredstoragedomaindiscover