부록 B. API 버전 4의 변경 사항


이 섹션에서는 API 버전 4 이후 도입된 이전 버전과의 호환성 중단 변경 사항을 열거합니다.

B.1. API 버전 4.0의 변경 사항 (버전 3.6 이상)

B.1.1. 제거된 YAML 지원

YAML 지원이 완전히 제거되었습니다.

B.1.2. 복잡한 유형 이름 변경

다음과 같은 XML 스키마 복잡한 유형의 이름이 변경되었습니다.

버전 3버전 4

API

Api

CPU

Cpu

CPU

CPU

CdRom

CDROM

CdRoms

Cdroms

DNS

DNS

GuestNicConfiguration

NicConfiguration

GuestNicsConfiguration

NicConfigurations

HostNICStates

HostNicStates

HostNIC

HostNic

HostStorage

HostStorages

IO

Io

IP

Ip

IPS

IPS

KSM

Ksm

MAC

mac

NIC

NIC

PreviewVMs

PreviewVms

QoS

QoS

QoSs

Qoss

RSDL

Rsdl

SELinux

SeLinux

SPM

servicemt

SSHPublicKey

SshPublicKey

SSHPublicKeys

SshPublicKeys

SSH

SSH

SkipIfSDActive

SkipIfSdActive

슬레이브

HostNics

스토리지

HostStorage

SupportedVersions

버전

VCpuPin

VcpuPin

VLAN

Vlan

VM

Vm

VMs

Vms

VirtIO_SCSI

VirtioScsi

WatchDog

Watchdog

워치독

워치독

B.1.3. 상태 유형을 enum 유형으로 교체

현재 상태 유형을 사용하여 다양한 오브젝트의 상태를 보고하며, 여기에는 상태 및 추가 세부 정보에 대한 상태 문자열을 설명하는 상태 문자열이 포함됩니다. 예를 들어 IO 오류로 인해 일시 중지된 가상 머신의 상태는 현재 다음과 같이 보고됩니다.

<vm>
  ...
  <status>
    <state>paused</state>
    <detail>eio</detail>
  </status>
  ...
</vm>

API 버전 4에서는 이 상태 유형이 제거되어 enum 유형으로 교체되었습니다. 추가 세부 문자열이 필요한 경우 추가 status_detail 속성으로 교체되었습니다. 따라서 예를 들어 동일한 가상 머신의 상태가 다음과 같이 보고됩니다.

<vm>
  ...
  <status>paused</status>
  <status_detail>eio</status_detail>
  ...
</vm>

B.1.4. NIC 네트워크port_mirroring 속성 제거

NIC 네트워크port_mirroring 요소가 vnic_profile 요소로 교체되었으므로 네트워크 및 포트 미러링 구성을 지정하지 않고 NIC를 생성하거나 업데이트할 때 vNIC 프로필을 생성하기 전에 지정합니다.

POST /ovirt-engine/api/vnicprofiles
<vnic_profile>
  <name>myprofile</name>
  <network id="..."/>
  <port_mirroring>true</port_mirroring>
</vnic_profile>

그런 다음 NIC가 생성되거나 기존 vNIC 프로필을 참조합니다.

PUT /ovirt-engine/api/vms/123/nics/456
<nic>
  <vnic_profile id="/vnicprofiles/...">
</nic>

이전 요소와 그 의미는 이전 버전과의 호환성을 위해 보존되었지만 이제 완전히 제거되었습니다.

초기화 요소에서 계속 사용되기 때문에 네트워크 요소가 XML 스키마에서 제거되지 않았지만 NIC를 생성하거나 업데이트할 때 제공되는 경우 완전히 무시됩니다.

B.1.5. NIC 활성 속성 제거

잠시 전에 NIC 활성 속성이 plugged 로 교체되었습니다. 이제 완전히 제거되었습니다.

B.1.6. 디스크 유형 속성 제거

디스크의 type 속성이 제거되었지만 XML 스키마에 보관되어 무시됩니다. 이제 완전히 제거되었습니다.

B.1.7. 디스크 크기 속성 제거

디스크 크기 속성이 오래 전에 provisioned_size 로 교체되었습니다. 이제 완전히 제거되었습니다.

B.1.8. 단일 호스트에 VM 고정 지원 제거

버전 3.6 이전에는 API가 VM 엔티티의 placement_policy 요소를 사용하여 VM을 단일 호스트에 고정할 수 있었습니다.

PUT /ovirt-engine/api/vms/123
<vm>
  <placement_policy>
    <host id="456"/>
  </placement_policy>
<vm>

버전 3.6에서는 이 기능이 여러 호스트를 지원하도록 향상되었으며 이를 위해 새 hosts 요소가 추가되었습니다.

PUT /ovirt-engine/api/vms/123
<vm>
  <placement_policy>
    <hosts>
      <host id="456"/>
      <host id="789"/>
      ...
    </hosts>
  </placement_policy>
<vm>

이전 버전과의 호환성을 유지하기 위해 단일 호스트 요소가 보존되었습니다. 4.0에서 이 기능이 제거되었으므로 단일 호스트에 고정하더라도 애플리케이션이 hosts 요소를 사용해야 합니다.

B.1.9. capabilities.permits 요소 제거

허용 목록은 각 클러스터 수준에 따라 잠재적이며, 이전에 버전 요소에 추가되었지만 이전 버전과의 호환성을 위해 기능 요소에도 유지되었습니다.

4.0에서는 capabilities 서비스가 완전히 제거되었으며 새 clusterlevels 서비스로 교체됩니다. 클러스터 수준 4.0에서 지원하는 권한을 찾으려면 다음과 같은 요청을 사용해야 합니다.

GET /ovirt-engine/api/clusterlevels/4.0

결과는 해당 클러스터 수준, 특히 지원되는 허용 세트와 관련된 정보를 포함하는 문서입니다.

<cluster_level id="4.0" href="/clusterlevels/4.0">
  ...
  <permits>
    <permit id="1">
      <name>create_vm</name>
      <administrative>false</administrative>
    </permit>
    ...
  </permits>
</cluster_level>

B.1.10. storage_manager 요소 제거

storage_manager 요소는 이전에 spm 요소로 교체되었습니다. 이전 버전은 이전 버전과의 호환성을 위해 유지되었지만 지금은 완전히 제거되었습니다.

B.1.11. 데이터 센터 storage_type 요소 제거

특정 스토리지 유형(NFS, Fiber Channel, iSCSI 등)에 연결하는 데 사용한 데이터 센터는 로컬 스토리지와 공유 스토리지를 사용하는 두 가지 유형만 있도록 변경되었습니다. 이를 나타내기 위해 새로운 로컬 요소가 도입되었으며, 이전의 호환성을 위해 이전 storage_type 이 보존되었습니다. 이 오래된 요소는 이제 완전히 제거되었습니다.

B.1.12. timezone 요소 제거

시간대를 나타내는 시간대 요소를 포함하는 데 사용되는 VM 리소스입니다. 이 요소에는 문자열만 사용할 수 있습니다.

<vm>
  <timezone>Europe/Madrid</timezone>
</vm>

이는 확장을 허용하지 않으며 UTC 오프셋을 추가해야 하므로 새로운 구조화된 time_zone 요소로 교체되었습니다.

<vm>
  <time_zone>
    <name>Europe/Madrid</name>
    <utc_offset>GMT+1</utc_offset>
  </time_zone>
</vm>

이전 timezone 요소는 보존되었지만 이제 완전히 제거되었습니다.

B.1.13. guest_info 요소 제거

guest_info 요소는 IP 주소 및 정규화된 호스트 이름과 같이 게스트 에이전트에서 수집한 정보를 저장하는 데 사용되었습니다. 이 정보는 다른 위치에서도 제공됩니다. 예를 들어 VM 리소스 내에서 IP 주소를 사용할 수 있습니다.

GET /ovirt-engine/api/vms/123
<vm>
  <guest_info>
    <ips>
      <ip address="192.168.122.30"/>
    </ips>
    <fqdn>myvm.example.com</fqdn>
  </guest_info>
</vm>

또한 새로운 reported_devices 요소를 사용하여 NIC 리소스 내에서 다음을 수행합니다.

GET /ovirt-engine/api/vms/{vm:id}/nics/{nic:id}
<nic>
  <reported_devices>
    <reported_device>
      <name>eth0</name>
      <mac address="00:1a:4a:b5:4c:94"/>
      <ips>
        <ip address="192.168.1.115" version="v4"/>
        <ip address="fe80::21a:4aff:feb5:4c94" version="v6"/>
        <ip address="::1:21a:4aff:feb5:4c94" version="v6"/>
      </ips>
    </reported_device>
  </reported_devices>
</nic>

또한 이 최신 reported_devices 요소는 여러 IP 주소, MAC 주소 등과 같은 보다 완전한 정보를 제공합니다.

이 중복을 제거하려면 guest_info 요소가 제거되었습니다.

정규화된 도메인 이름을 지원하기 위해 새 fqdn 요소가 VM 리소스에 추가되었습니다.

GET /ovirt-engine/api/vms/123
<vm>
  <fqdn>myvm.example.com</fqdn>
</vms>

여기에는 guest_info.fqdn 에서 포함하는 것과 동일한 정보가 포함됩니다.

B.1.14. type 요소를 사용하여 CPU id 특성 교체

CPU 유형을 나타내는 id 속성이 있는 데 사용되는 cpu 요소입니다.

<cpu id="Intel Nehalem Family">
  <architecture>X86_64</architecture>
  ...
</cpu>

이는 API 모델의 나머지 요소와 모순되며, 여기서 id 속성은 불투명 식별자에 사용됩니다. 이 id 속성은 새로운 type 요소로 교체되었습니다:

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

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<cpu>
  <topology>
    <sockets>1<sockets>
    <cores>1<cores>
    <threads>1<threads>
  </topology>
  ...
</cpu>

B.1.16. VCPU 핀에서 속성 대신 요소 사용

이전에는 VCPU pin 요소가 속성에 사용된 특성을 사용했습니다.

<cpu_tune>
  <vcpu_pin vcpu="0" cpu_set="0"/>
</cpu_tune>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<cpu_tune>
  <vcpu_pin>
    <vcpu>0</vcpu>
    <cpu_set>0</cpu_set>
  </vcpu_pin>
</cpu_tune>

B.1.17. VCPU 핀에서 속성 대신 요소 사용

이전에는 version 요소가 속성에 사용된 특성을 사용했습니다.

<version major="3" minor="5" ../>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<version>
  <major>3</minor>
  <minor>5</minor>
  ...
</version>

B.1.18. 메모리 과다 할당에서 속성 대신 요소 사용

이전에는 overcommit 요소가 해당 속성에 사용된 특성을 사용했습니다.

<memory_policy>
  <overcommit percent="100"/>
  ...
</memory_policy>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<memory_policy>
  <overcommit>
    <percent>100</percent>
  </overcommit>
  ...
</memory_policy>

B.1.19. 콘솔에서속성 대신 요소 사용

이전에는 console 요소가 속성에 사용된 특성을 사용했습니다.

<console enabled="true"/>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<console>
  <enabled>true</enabled>
</console>

B.1.20. VIRTIO SCSI에서의 속성 대신 요소 사용

이전에는 VIRTIO ISCSI 요소가 속성에 대한 속성을 사용했습니다.

<virtio_scsi enabled="true"/>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<virtio_scsi>
  <enabled>true</enabled>
</virtio_scsi>

B.1.21. 전원 관리 에이전트 유형에특성 대신 요소 사용

전원 관리 유형 속성은 속성으로 표시되었습니다.

<agent type="apc">
  <username>myuser</username>
  ...
</agent>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 이 매개 변수는 내부 요소로 교체됩니다.

<agent>
  <type>apc</type>
  <username>myuser</username>
  ...
</agent>

B.1.22. 전원 관리 에이전트 옵션에서 특성 대신 요소 사용

이전에는 전원 관리 에이전트 옵션 요소가 해당 속성에 사용된 특성을 사용했습니다.

<options>
  <option name="port" value="22"/>
  <option name="slot" value="5"/>
  ...
</options>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 해당 요소는 내부 요소로 교체되었습니다.

<options>
  <option>
    <name>port</name>
    <value>22</value>
  </option>
  <option>
    <name>slot</name>
    <value>5</value>
  </option>
  ...
</options>

B.1.23. IP 주소의 속성 대신 요소를 사용합니다.

이전에는 IP address 요소가 속성에 사용된 특성을 사용했습니다.

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

B.1.24. MAC 주소의 속성 대신 요소를 사용합니다.

이전에는 MAC address 요소가 속성에 사용된 특성을 사용했습니다.

<mac address="66:f2:c5:5f:bb:8d"/>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<mac>
  <address>66:f2:c5:5f:bb:8d</address>
</mac>

B.1.25. 부팅 장치에서 속성 대신 요소를 사용합니다.

이전에는 부팅 장치 요소가 속성에 사용된 특성을 사용했습니다.

<boot dev="cdrom"/>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 내부 요소로 교체되었습니다.

<boot>
  <dev>cdrom</dev>
</boot>

B.1.26. 운영 체제 유형에대한 속성 대신 요소 사용

운영 체제 유형 속성은 속성으로 표시되었습니다.

<os type="other">
  ...
</os>

이 방법은 API의 일반적인 관행과 일치하지 않습니다. 이 매개 변수는 내부 요소로 교체됩니다.

<os>
  <type>other</type>
  ...
</os>

B.1.27. 호스트 검색 요청에서 force 매개 변수를 제거

데이터베이스에서 검색하기 전에 호스트 데이터를 새로 고쳐 호스트 기능 및 장치를 다시 로드해야 함을 나타내는 강제 매트릭스 매개 변수를 지원하는 데 사용되는 호스트 검색 요청:

GET /ovirt-engine/api/hosts/123;force

force 매개변수는 호스트 새로 고침 작업으로 대체되었지만 이전 버전과의 호환성을 위해 유지됩니다. 이제 완전히 제거되었습니다. 이 기능이 필요한 애플리케이션은 두 개의 요청을 수행해야 하며 먼저 호스트를 새로 고칩니다.

POST /ovirt-engine/api/hosts/123/refresh
<action/>

그런 다음 force 매개 변수를 사용하지 않고 검색할 수 있습니다.

GET /ovirt-engine/api/hosts/123

B.1.28. 더 이상 사용되지 않는 호스트 전원 관리 구성 제거

포함된 구성 요소를 사용하여 호스트 리소스의 일부로 사용되는 호스트 전원 관리 구성:

<power_management type="apc">
  <enabled>true</enabled>
  <address>myaddress</address>
  <username>myaddress</username>
  <options>
    <option name="port" value="22/>
    </option name="slot" value="5/>
  </options>
  ...
</power_management>

이전에는 여러 전원 관리 에이전트를 지원하기 위해 새로운 /hosts/123/fenceagents 컬렉션을 도입하기 위해 변경되었습니다.

이전 type 속성, 이전 주소,사용자 이름암호 요소 및 power_management 내부에서 직접 내부 에이전트 요소가 유지되어 이전 버전과의 호환성을 위해 보존되었습니다. 이러한 모든 요소가 완전히 제거되었으므로 전원 관리 에이전트를 쿼리하거나 수정하는 유일한 방법은 이제 /hosts/123/fenceagents 하위 수집입니다.

B.1.29. 여러 부팅 대신 여러 boot.devices.device 사용

이전에는 가상 머신을 시작할 때 부팅 시퀀스를 지정하는 방법은 각각 dev 요소를 포함하는 여러 부팅 요소를 사용하는 것이었습니다. 예를 들어 가상 머신이 먼저 CDROM에서 부팅을 시도하도록 지정하려면 다음 요청이 사용되었습니다.

POST /ovirt-engine/api/vms/123/start
<action>
  <vm>
    ...
    <boot>
      <dev>cdrom</dev>
    </boot>
    <boot>
      <dev>hd</dev>
    </boot>
  </vm>
</action>

API의 다른 부분의 일반적인 관행은 래퍼 요소로 배열을 나타내는 것입니다. 이 경우 래퍼 요소의 이름은 부팅 이지만 부팅 시퀀스가 아닌 부팅 장치가 여러 개 있을 수 있으므로 이러한 점에서 의미가 없습니다. 이 불일치를 수정하려면 이 장치가 여러 장치를 포함할 수 있는 단일 부팅 요소로 교체되었습니다.

POST /ovirt-engine/api/vms/123/start
<action>
  <vm>
    ...
    <boot>
      <devices>
        <device>cdrom</device>
        <device>hd</device>
      </devices>
    </boot>
  </vm>
</action>

B.1.30. disks.clonedisks.detach_only 요소 제거

이러한 요소는 실제로 디스크 표현의 일부가 아니지만 가상 머신을 추가하고 제거하는 작업의 매개 변수입니다.

disks.clone 요소는 새 가상 시스템의 디스크를 복제해야 함을 나타내는 데 사용되었습니다.

POST /ovirt-engine/api/vms
<vm>
  ...
  <disks>
    <clone>true</clone>
  </disks>
<vm>

이제 이 매개변수가 제거되었으며 새 clone 쿼리 매개변수로 교체됩니다.

POST /ovirt-engine/api/vms?clone=true
<vm>
  ...
</vm>

disks.detach_only 요소는 가상 머신을 제거할 때 디스크를 제거할 필요가 없지만 가상 머신에서 분리됨을 나타내는 데 사용되었습니다.

DELETE /ovirt-engine/api/vms/123
<action>
  <vm>
    <disks>
      <detach_only>true</detach_only>
    </disks>
  </vm>
</action>

이제 이 매개변수가 제거되었으며 새로운 detach_only 쿼리 매개변수로 교체됩니다.

DELETE /ovirt-engine/api/vms/123?detach_only=true

B.1.31. 요소 vmpool 의 이름을 vm_pool로 변경합니다.

vmpoolvmpools 에 사용된 가상 머신의 풀을 나타내는 요소의 이름입니다. 복잡한 유형(이 경우 VmPool과VmPool ) 간의 일관된 일치를 유지하기 위해 vm_pool 및 vm_pool로 이름이 변경되었습니다.

B.1.32. 논리_ unit 대신 logical_ units사용

바인딩되지 않은 논리 _unit 요소의 수로 보고되는 데 사용되는 볼륨 그룹의 일부인 논리 단위입니다. 예를 들어 스토리지 도메인의 세부 정보를 보고하는 경우 다음을 수행합니다.

GET /ovirt-engine/api/storagedomains/123
<storage_domain>
  ...
  <storage>
    ...
    <volume_group>
      <logical_unit>
        <!-- First LU -->
      </logical_unit>
      <logical_unit>
        <!-- Second LU -->
      </logical_unit>
      ...
    </volume_group>
  </storage>
</storage_domain>

요소 목록은 항상 요소로 묶기 때문에 API의 일반적인 관행과 일치하지 않습니다. 이제 이 문제가 해결되어 논리 단위 목록이 logical_units 요소로 래핑됩니다.

GET /ovirt-engine/api/storagedomains/123
<storage_domain>
  ...
  <storage>
    ...
    <volume_group>
      <logical_units>
        <logical_unit>
          <!-- First LU -->
        </logical_unit>
        <logical_unit>
          <!-- Second LU -->
        </logical_unit>
        ...
      </logical_units>
    </volume_group>
  </storage>
</storage_domain>

B.1.33. snapshots.collapse_snapshots 요소 제거

이 요소는 실제로 스냅샷 표현의 일부는 아니지만 내보내기 스토리지 도메인에서 가상 머신을 가져오는 작업의 매개변수입니다.

POST /ovirt-engine/api/storagedomains/123/vms/456/import
<action>
  <vm>
    <snapshots>
      <collapse_snapshots>true</collapse_snapshots>
    </snapshots>
  </vm>
</action>

이제 이 매개변수가 제거되었으며 새로운 collapse_snapshots 쿼리 매개변수로 교체됩니다.

POST /ovirt-engine/api/storagedomains/123/vms/456/import?collapse_snapshots=true
<action/>

B.1.34. storagehost_storage 요소 이름 변경

호스트 스토리지 컬렉션에서는 storagehost_storage 요소와 StorageHostStorage 복합 유형을 사용하여 호스트와 연결된 스토리지를 보고합니다.

GET /ovirt-engine/api/hosts/123/storage
<host_storage>
  <storage>
    ...
  </storage>
  <storage>
    ...
  </storage>
  ...
</host_storage>

이 API의 나머지에서 사용되는 패턴을 따르지 않습니다. 여기서 외부 요소는 복수 이름이며 내부 요소는 동일한 이름이지만 단면입니다. 이제 host_storages 를 내부 요소로 사용하고 host_storage 를 내부 요소로 사용하도록 변경되었습니다.

GET /ovirt-engine/api/hosts/123/storage
<host_storages>
  <host_storage>
    ...
  </host_storage>
  <host_storage>
    ...
  </host_storage>
  ...
</host_storage>

B.1.35. permissions.clone 요소 제거

이 요소는 실제로 권한 표현의 일부는 아니지만, 가상 머신 또는 템플릿을 생성하는 작업의 매개변수입니다.

POST /ovirt-engine/api/vms
<vm>
  <template id="...">
    <permissions>
      <clone>true</clone>
    </permissions>
  </template>
</action>
POST /ovirt-engine/api/templates
<template>
  <vm id="...">
    <permissions>
      <clone>true</clone>
    </permissions>
  </vm>
</template>

이제 이 매개 변수가 제거되고 새 clone_permissions 쿼리 매개변수로 교체되었습니다.

POST /ovirt-engine/api/vms?clone_permissions=true
<vm>
  <template id="..."/>
</vm>
POST /ovirt-engine/api/templates?clone_permissions=true
<template>
  <vm id="..."/>
</template>

B.1.36. 난수 생성기 요소 이름 변경

이름이 해당 사용을 반영한 요소로 래핑된 소스 요소 컬렉션을 사용하여 보고하는 데 사용되는 난수 생성기 소스입니다.The random number generator sources used to be reported using a collection of source elements wrapped by an element with a name reflecting its use. 예를 들어 다음과 같이 보고하는 데 사용되는 클러스터의 필요한 난수 생성기 소스가 다음과 같습니다.

GET /ovirt-engine/api/clusters/123
<cluster>
  ...
  <required_rng_sources>
    <source>random</source>
  </required_rng_sources>
  ...
</cluster>

다음과 같이 보고되는 데 사용되는 호스트에서 발생된 난수 생성기 소스를 다음과 같이 표시합니다.

GET /ovirt-engine/api/hosts/123
<host>
  ...
  <hardware_information>
    <supported_rng_sources>
      <source>random</source>
    </supported_rng_sources>
  </hardware_information>
  ...
</host>

이 API는 나머지 API와 일치하지 않으며, 컬렉션은 복수의 이름으로 래핑되고 동일한 이름의 요소로 소각됩니다. 이 문제는 이제 해결되었습니다. 이제 필요한 난수 생성기 소스가 다음과 같이 보고됩니다.

GET /ovirt-engine/api/clusters/123
<cluster>
  <required_rng_sources>
    <required_rng_sources>random</required_rng_source>
  </required_rng_sources>
  ...
</cluster>

또한 호스트에서 지원하는 난수 생성기 소스는 다음과 같이 보고됩니다.

GET /ovirt-engine/api/hosts/123
<host>
  ...
  <hardware_information>
    <supported_rng_sources>
      <supported_rng_source>random</supported_rng_source>
    </supported_rng_sources>
  </hardware_information>
  ...
</host>

소스 대신 required_rng_ source supported_rng_source 를 사용하십시오.

B.1.37. intermediate tag.parent 요소 제거

관계는 태그를 설정할 때 intermedite 부모 태그를 사용하여 나타내는 데 사용되는 부모 태그, 즉 다른 태그 요소를 포함합니다.

<tag>
  <name>mytag</name>
  <parent>
    <tag id="..." href="..."/>
  </parent>
</tag>

이 구조는 현재 하나의 부모 요소만 사용되도록 단순화되었습니다.

<tag>
  <name>mytag</name>
  <parent id="..." href="..."/>
</tag>

B.1.38. 기본 제공 이름 및 임계값 제거

이전에는 클러스터의 스케줄링 정책 사양이 기본 제공 이름 및 임계값을 기반으로 했습니다. 예를 들어 균등하게 분산 스케줄링 정책을 사용하는 클러스터는 다음과 같습니다.

<cluster>
  <name>mycluster</name>
  <scheduling_policy>
    <policy>evenly_distributed</policy>
    <thresholds high="80" duration="120"/>
  </scheduling_policy>
  ...
</cluster>

이 메커니즘은 스케줄링 정책을 임의의 이름 및 속성으로 정의할 수 있는 최상위 수준 /schedulingpolicies 컬렉션으로 교체되었습니다. 예를 들어, 동일한 스케줄링 정책은 최상위 수준 컬렉션에서 다음과 같이 표시됩니다.

<scheduling_policy>
  <name>evenly_distributed</name>
  <properties>
    <property>
      <name>CpuOverCommitDurationMinutes</name>
      <value>2</value>
    </property>
    <property>
      <name>HighUtilization</name>
      <value>80</value>
    </property>
  </properties>
</scheduling_policy>

클러스터 표현은 해당 식별자가 있는 스케줄링 정책을 참조합니다.

<cluster>
  <name>mycluster</name>
  <scheduling_policy id="..."/>
  ...
</cluster>

이전 버전과의 호환성을 유지하기 위해 이전 정책과 임계값 요소가 보존되었습니다. 클러스터에 포함된 스케줄링 정책 표현도 보존되었습니다. 이제 이러한 모든 사항이 완전히 제거되었으므로 클러스터를 검색, 생성 또는 업데이트할 때 스케줄링 정책을 참조하는 유일한 방법은 해당 식별자를 사용하여 기존 항목을 참조하는 것입니다. 예를 들어, 클러스터를 검색할 때 id (및 href)만 채워집니다.

GET /ovirt-engine/api/clusters/123
<cluster>
  ...
  <scheduling_policy id="..." href="..."/>
  ...
</cluster>

클러스터를 생성하거나 업데이트할 때는 id 만 허용됩니다.

B.1.39. brick.replica_countbrick.stripe_count 요소 제거

이러한 요소는 실제로 brick 컬렉션 표시의 일부가 아니지만, brick을 추가하고 제거하는 작업의 매개 변수가 아닙니다. 이제 제거되고 새 replica_countstripe_count 매개변수로 교체됩니다.

POST .../bricks?replica_count=3&stripe_count=2
DELETE .../bricks?replica_count=3

B.1.40. 통계 유형 속성의 이름을 kind로 변경

통계 종류 (gauge, counter 등)와 값의 유형을 나타내는 type 속성 (integer, string 등)을 사용하여 표시되는 통계입니다.

<statistic>
  <type>GAUGE</type>
  <values type="INTEGER">
    <value>...</value>
    <value>...</value>
    ...
  </values>
</statistic>

두 가지 모두에 type 개념을 사용하지 않도록 하려면 첫 번째가 kind 로 교체되었으며, kindtype 둘 다 이제 요소가 됩니다.

<statistic>
  <kind>gauge</kind>
  <type>integer</type>
  <values>
    <value>...</value>
    <value>...</value>
    ...
  </values>
</statistic>

B.1.41. 여러 vcpu_pin대신 여러 vcpu_pins.vcpu_pin 사용

이전에는 가상 머신의 물리적 CPU 고정으로 가상을 지정하는 방법은 여러 vcpu_pin 요소를 사용하는 것이었습니다.

<vm>
  <cpu>
    <cpu_tune>
      <vcpu_pin>...</vcpu_pin>
      <vcpu_pin>...</vcpu_pin>
      ...
    </cpu_tune>
  </cpu>
</vm>

API의 다른 부분에서 공통의 관행을 준수하기 위해 래퍼 요소를 사용하도록 변경되었습니다.이 경우 vcpu_pins:

<vm>
  <cpu>
    <cpu_tune>
      <vcpu_pins>
        <vcpu_pin>...</vcpu_pin>
        <vcpu_pin>...</vcpu_pin>
        ...
      </vcpu_pins>
    </cpu_tune>
  </cpu>
</vm>

B.1.42. force 매개변수를 사용하여 데이터 센터 강제 제거

데이터 센터를 제거하는 작업은 force 매개 변수를 지원합니다. 선택적 작업 매개 변수를 지원하는 데 사용되는 DELETE 작업을 사용하려면 다음을 수행합니다.

DELETE /ovirt-engine/api/datacenters/123
<action>
  <force>true</force>
</action>

이 선택적 action 매개변수는 선택적 매개변수로 교체되었습니다.

DELETE /ovirt-engine/api/datacenters/123?force=true

B.1.43. force 매개 변수를 사용하여 호스트를 강제 제거

호스트를 제거하는 작업은 force 매개 변수를 지원합니다. 선택적 작업 매개 변수를 지원하는 데 사용되는 DELETE 작업을 사용하려면 다음을 수행합니다.

DELETE /ovirt-engine/api/host/123
<action>
  <force>true</force>
</action>

이 선택적 action 매개변수는 선택적 매개변수로 교체되었습니다.

DELETE /ovirt-engine/api/host/123?force=true

B.1.44. 스토리지 도메인을 강제로 제거하는 데 매개변수 사용

스토리지 도메인을 제거하는 작업은 force,destroyhost 매개 변수를 지원합니다. 이러한 매개변수는 스토리지 도메인의 표현을 본문으로 사용하여 DELETE 메서드에 전달되었습니다.

DELETE /ovirt-engine/api/storagedomains/123
<storage_domain>
  <force>...</force>
  <destroy>...</destroy>
  <host id="...">
    <name>...</name>
  </host>
</storage_domain>

HTTP DELETE 매개변수에 본문이 없어야 하며 스토리지 도메인의 표현에는 작업 매개 변수가 아닌 스토리지 도메인의 속성이 포함되지 않아야 합니다.

force,deletehost 속성이 동일한 매개변수로 교체되었으며 작업이 이제 본문을 허용하지 않습니다. 예를 들어, 이제 force 매개변수를 사용하여 스토리지 도메인을 삭제하는 올바른 방법은 다음과 같습니다.

DELETE /ovirt-engine/api/storagedomain/123?host=myhost&force=true

destroy 매개변수를 사용하여 삭제하려면 다음을 수행합니다.

DELETE /ovirt-engine/api/storagedomain/123?host=myhost&destroy=true

B.1.45. 호스트 매개 변수를 사용하여 스토리지 서버 연결 제거

스토리지 서버 연결을 제거하는 작업은 호스트 매개 변수를 지원합니다. 선택적 작업 매개 변수를 지원하는 데 사용되는 DELETE 메서드를 사용하려면 다음을 수행합니다.

DELETE /ovirt-engine/api/storageconnections/123
<action>
  <host id="...">
    <name>...</name>
  </host>
</action>

이 선택적 action 매개변수는 선택적 매개변수로 교체되었습니다.

DELETE /ovirt-engine/api/storageconnections/123?host=myhost

B.1.46. forcestorage_domain 매개 변수를 사용하여 템플릿 디스크 제거

템플릿 디스크를 제거하는 작업은 forcestorage_domain 매개 변수를 지원합니다. 이를 사용하려면 선택적 작업 매개 변수를 지원하는 데 사용되는 DELETE 메서드를 사용합니다.

DELETE /ovirt-engine/api/templates/123/disks/456
<action>
  <force>...</force>
  <storage_domain id="..."/>
</action>

이 작업의 버전 4에서는 이 작업이 새 diskattachments 컬렉션으로 이동되었으며 요청 본문이 쿼리 매개 변수 forcestorage_domain 으로 교체되었습니다.

DELETE /ovirt-engine/api/templates/123/disksattachments/456?force=true
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

B.1.48. 강제로 가상 머신을 제거하려면 force query 매개변수를 사용합니다.

가상 머신을 제거하는 작업은 force 매개 변수를 지원합니다. 선택적 작업 매개 변수를 지원하는 데 사용되는 DELETE 메서드를 사용하려면 다음을 수행합니다.

DELETE /ovirt-engine/api/vms/123
<action>
  <force>true</force>
</action>

이 선택적 action 매개변수는 선택적 쿼리 매개변수로 교체되었습니다.

DELETE /ovirt-engine/api/vms/123?force=true

B.1.49. DELETE 대신 POST 를 사용하여 여러 개의 brick을 제거

여러 Gluster brick을 제거하는 작업이 DELETE 메서드를 사용하여 구현되었으며 요청 본문으로 brick 목록을 전달했습니다.

DELETE /ovirt-engine/api/clusters/123/glustervolumes/456/bricks
<bricks>
  <bricks id="..."/>
  <bricks id="..."/>
  ...
</bricks>

DELETE 메서드에 본문이 없기 때문에 문제가 발생하므로 POST 메서드를 사용하는 새 제거 작업으로 교체됩니다.

POST /ovirt-engine/api/clusters/123/glustervolumes/456/bricks/remove
<bricks>
  <bricks id="..."/>
  <bricks id="..."/>
  ...
</bricks>

B.1.50. scheduling_policy.policy 요소 제거

이 요소는 이전 버전과의 호환성을 위해 유지되었습니다. 대신 scheduling_policy.name 을 사용합니다.

POST /ovirt-engine/api/schedulingpolicies
<scheduling_policy>
  ...
  <name>policy_name</name>
  ...
</scheduling_policy>
PUT /ovirt-engine/api/schedulingpolicies/123
<scheduling_policy>
  ...
  <name>policy_name</name>
  ...
</scheduling_policy>

B.1.51. snapshot.snapshot_type추가

Enumerator는 점진적으로 API를 도입하고 있습니다. 현재 string이었던 일부 필드는 적절한 enum으로 교체됩니다. 이러한 필드 중 하나는 vm.type입니다. 그러나 이 필드는 스냅샷에 의해 상속되며 스냅샷 유형은 vm 유형과 다릅니다. 따라서 스냅샷 엔티티에 새 필드가 추가되었습니다. snapshot.snapshot_type.

<snapshot>
  ...
  <snapshot_type>regular|active|stateless|preview</snapshot_type>
  ...
</snapshot>

B.1.52. VM에서 제거된 이동 작업

더 이상 사용되지 않는 VM 엔티티의 이동 작업이 제거되었습니다. 대신 무차별 디스크를 이동할 수 있습니다.

B.1.53. reported_configurations.in_syncnetwork_attachment로 이동

API 버전 3에서 ReportedConfigurations 에는 in_sync 속성이 있습니다.

<network_attachment>
  <reported_configurations>
    <in_sync>true</in_sync>
    <reported_configuration>
      ...
    </reported_configuration>
    ...
  </reported_configurations>
</network_attachment>

API 버전 4에서 사용하는 사양 메커니즘에서는 목록 유형(보고된 구성 목록)에는 특성을 가질 수 없기 때문에 이를 표현할 수 없습니다. 특성이 인클로딩 network_attachment 로 이동했음을 나타낼 수 있습니다.

<network_attachment>
  <in_sync>true</in_sync>
  <reported_configurations>
    <reported_configuration>
      ...
    </reported_configuration>
    ...
  </reported_configurations>
</network_attachment>

B.1.54. 클러스터 수준 기능으로 교체된 기능

최상위 수준의 기능 컬렉션이 새로운 클러스터 수준 컬렉션으로 교체되었습니다. 이 새 컬렉션에는 각 클러스터 수준에 사용할 수 있는 CPU 유형 목록과 같이 모델에서 사용할 수 없는 정보가 포함됩니다.

GET /ovirt-engine/api/clusterlevels

이렇게 하면 시스템에서 지원하는 모든 클러스터 수준에 대한 세부 정보가 포함된 ClusterLevel 오브젝트 목록이 반환됩니다.

<cluster_levels>
  <cluster_level id="3.6" href="/clusterlevels/3.6">
    <cpu_types>
      <cpu_type>
        <name>Intel Nehalem Family</name>
        <level>2</level>
        <architecture>x86_64</architecture>
      </cpu_type>
      ...
    </cpu_types>
    ...
  </cluster_level>
</cluster_levels>

각 특정 클러스터 수준에는 버전 자체로 식별되는 자체 하위 리소스가 있습니다.

GET /ovirt-engine/api/clusterlevels/3.6

그러면 해당 버전의 세부 정보가 반환됩니다.

<cluster_level id="3.6" href="/clusterlevels/3.6">
  <cpu_types>
    <cpu_type>
      <name>Intel Nehalem Family</name>
      <level>2</level>
      <architecture>x86_64</architecture>
    </cpu_type>
    ...
  </cpu_types>
  ...
</cluster_level>

B.1.55. 디스크디스크 교체

API 가상 머신 버전 3에서 템플릿에는 연결된 디스크 의 모든 정보가 포함된 디스크 컬렉션이 있었습니다. 이러한 디스크 버전 4에서는 이러한 디스크 컬렉션이 제거되어 디스크에 대한 참조만 포함하는 새 디스크 연결 컬렉션과 디스크 간의 관계만 포함하는 속성과 연결된 가상 머신 또는 템플릿과 연결된 가상 머신 또는 템플릿( 인터페이스부팅 가능한 )으로 교체되었습니다.

가상 머신에 연결된 디스크를 찾으려면 다음과 같은 요청을 보냅니다.

GET /ovirt-engine/api/vms/123/diskattachments

그러면 다음과 같은 응답이 반환됩니다.

<disk_attachments>
  <disk_attachment href="/vms/123/diskattachments/456" id="456">
    <bootable>false</bootable>
    <interface>virtio</interface>
    <disk href="/disks/456" id="456"/>
    <vm href="/vms/123" id="123"/>
  </disk_attachment>
  ...
<disk_attachments>

디스크의 나머지 세부 사항을 찾으려면 제공된 링크를 따르십시오.

가상 머신 또는 템플릿에 디스크를 추가하면 새 disk_attachment 요소 외에도 다음과 같은 요청이 사용됩니다.

POST /ovirt-engine/api/vms/123/diskattachments

디스크가 존재하지 않는 경우 다음 본문을 사용하여 만듭니다.With the following body if the disk doesn't exist and you want to create it:

<disk_attachment>
  <bootable>false</bootable>
  <interface>virtio</interface>
  <disk>
    <description>My disk</description>
    <format>cow</format>
    <name>mydisk</name>
    <provisioned_size>1048576</provisioned_size>
    <storage_domains>
      <storage_domain>
        <name>mydata</name>
      </storage_domain>
    </storage_domains>
  </disk>
</disk_attachment>

또는 디스크가 이미 있는 경우 다음 본문을 사용하여 가상 머신에 연결만 하면 됩니다.

<disk_attachment>
  <bootable>false</bootable>
  <interface>virtio</interface>
  <disk id="456"/>
</disk_attachment>

모든 사용에 대해 vm.diskstemplate.disks attribtes에 disk_attachments 가 있는지 확인합니다. 예를 들어 템플릿을 생성할 때 vm.disks 요소는 템플릿의 디스크를 생성할 스토리지 도메인을 나타내는 데 사용되었습니다. 이 사용량도 vm.disk_attachments 로 교체되었으므로 특정 스토리지 도메인의 디스크로 템플릿을 초기화하라는 요청이 이제 다음과 같이 표시됩니다.

<template>
  <name>mytemplate</name>
  <vm id="123">
    <disk_attachments>
      <disk_attachment>
        <disk id="456">
          <storage_domains>
            <storage_domain id="789"/>
          </storage_domains>
        </disk>
      </disk_attachment>
      ...
    </disk_attachments>
  </vm>
</template>

B.1.56. iscsi_targets 요소를 사용하여 등록되지 않은 스토리지를 검색합니다.

API 버전 3에서 여러 iscsi_target 요소를 사용하여 iSCSI 대상 목록을 수신하는 데 사용되는 등록되지 않은 스토리지 도메인을 검색합니다.

POST /ovirt-engine/api/hosts/123/unregisteredstoragedomaindiscover
<action>
  <iscsi>
    <address>myiscsiserver</address>
  </iscsi>
  <iscsi_target>iqn.2016-07.com.example:mytarget1</iscsi_target>
  <iscsi_target>iqn.2016-07.com.example:mytarget2</iscsi_target>
</action>

이 경우 iscsi_target 과 같은 API 버전 4에서는 모두 다른 요소 iscsi_targets 로 래핑됩니다. 그러면 다음과 같은 요청이 표시됩니다.

POST /ovirt-engine/api/hosts/123/unregisteredstoragedomaindiscover
<action>
  <iscsi>
    <address>myiscsiserver</address>
  </iscsi>
  <iscsi_targets>
    <iscsi_target>iqn.2016-07.com.example:mytarget1</iscsi_target>
    <iscsi_target>iqn.2016-07.com.example:mytarget2</iscsi_target>
  </iscsi_targets>
</action>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.