3장. 퀵 스타트 예
이 장에서는 기본 Red Hat Virtualization 환경을 설정하고 가상 머신을 생성하는 REST API의 기능을 보여주는 예제를 제공합니다. 이 예제에서는 표준 사전 요구 사항 외에도 다음이 필요합니다.
- 네트워크로 구성된 Red Hat Virtualization 설치
- 설치할 가상 시스템 운영 체제가 포함된 ISO 파일입니다. 이 장에서는 설치 ISO 예제를 위해 CentOS 7을 사용합니다.
-
Red Hat Virtualization의
engine-iso-uploader툴을 사용하여 선택한 운영 체제 ISO 파일을 업로드합니다.
이 예제에서는 curl 을 사용하여 클라이언트 애플리케이션으로 API 요청을 보여줍니다. HTTP 요청을 사용할 수 있는 모든 애플리케이션이 curl 을 대체할 수 있습니다.
단순화를 위해 이 예제의 HTTP 요청 헤더는 호스트 및 권한 부여 헤더를 생략합니다. 그러나 이러한 필드는 필수 항목이며 Red Hat Virtualization 설치와 관련된 데이터가 필요합니다.
모든 curl 예에서는 admin@internal 을 사용자 이름으로, mypassword 를 암호 /etc/pki/ovirt-engine/ca.pem 을 인증서 위치로, myengine.example.com 을 호스트 이름으로 사용합니다. 다음은 예제일 뿐입니다. 사용자 환경에 유효한 값으로 교체하십시오.
Red Hat Virtualization은 각 리소스의 id 속성에 대한 고유 식별자를 생성합니다. 이 예제의 식별자 코드는 Red Hat Virtualization 환경의 식별자 코드와 다를 수 있습니다.
이 섹션의 많은 예에서 API에서 반환한 결과 속성 중 일부를 생략하여 단축할 수 있습니다. 항상 참조를 사용하여 속성의 전체 목록을 찾을 수 있습니다. 예를 들어 클러스터 유형의 전체 속성 목록을 보려면 여기로 이동하십시오.
3.1. 예: API 액세스 진입점 링크 복사링크가 클립보드에 복사되었습니다!
다음 요청은 API의 버전 4에 대한 주요 진입점의 표시를 검색합니다.
GET /ovirt-engine/api HTTP/1.1
Version: 4
Accept: application/xml
Version 헤더 대신 /v4 URL 접두사를 사용하는 것과 동일한 요청입니다.
GET /ovirt-engine/api/v4 HTTP/1.1
Accept: application/xml
curl 명령을 사용하는 것과 동일한 요청입니다.
curl \
--cacert '/etc/pki/ovirt-engine/ca.pem' \
--request GET \
--header 'Version: 4' \
--header 'Accept: application/xml' \
--user 'admin@internal:mypassword' \
https://myengine.example.com/ovirt-engine/api
결과는 Api 유형의 오브젝트가 됩니다.
<api>
<link href="/ovirt-engine/api/clusters" rel="clusters"/>
<link href="/ovirt-engine/api/datacenters" rel="datacenters"/>
...
<product_info>
<name>oVirt Engine</name>
<vendor>ovirt.org</vendor>
<version>
<build>0</build>
<full_version>4.0.0-0.0.el7</full_version>
<major>4</major>
<minor>0</minor>
<revision>0</revision>
</version>
</product_info>
<special_objects>
<blank_template href="..." id="..."/>
<root_tag href="..." id="..."/>
</special_objects>
<summary>
<hosts>
<active>23</active>
<total>30</total>
</hosts>
<storage_domains>
<active>5</active>
<total>6</total>
</storage_domains>
<users>
<active>12</active>
<total>102</total>
</users>
<vms>
<active>253</active>
<total>545</total>
</vms>
</summary>
<time>2016-10-06T15:38:18.548+02:00</time>
</api>
헤더와 URL 접두사가 모두 사용되지 않으면 서버에서 버전을 자동으로 선택합니다. 기본값은 버전 4 입니다. ENGINE_API_DEFAULT_VERSION 구성 매개변수를 사용하여 기본 버전을 변경할 수 있습니다.
# echo "ENGINE_API_DEFAULT_VERSION=3" > \
/etc/ovirt-engine/engine.conf.d/99-set-default-version.conf
# systemctl restart ovirt-engine
이 매개변수를 변경하면 버전을 명시적으로 지정하지 않는 API의 모든 사용자에게 영향을 미칩니다.
진입점은 사용자에게 가상화 환경의 컬렉션에 대한 링크를 제공합니다. 각 컬렉션 링크의 rel 속성은 각 링크에 대한 참조 지점을 제공합니다. 이 예제의 다음 단계에서는 datacenters 링크를 통해 사용할 수 있는 데이터 센터 컬렉션을 검사합니다.
진입점에는 product_info,special_objects 및 summary 와 같은 기타 데이터도 포함됩니다. 이 데이터는 이 예제 외부의 장에서 다룹니다.