第 3 章 快速入门示例
本章介绍了一个示例,它演示了 REST API 能够设置基本的 Red Hat Virtualization 环境并创建虚拟机。除了标准先决条件外,此示例还需要以下内容:
- 已联网并配置 Red Hat Virtualization 安装;
- 包含要安装的所需虚拟机操作系统的 ISO 文件。本章使用 CentOS 7 安装 ISO 示例;以及
-
Red Hat Virtualization 的
engine-iso-uploader
工具上传您选择的操作系统 ISO 文件。
本例使用 curl
来通过客户端应用程序演示 API 请求。请注意,任何支持 HTTP 请求的应用程序都可以替换 curl
。
为简单起见,本例中的 HTTP 请求标头省略了 Host
和 Authorization
标头。但是,这些字段是必须的,需要特定于您的 Red Hat Virtualization 安装的数据。
所有 curl
示例都使用 admin@internal
作为用户名、mypassword
作为密码,/etc/pki/ovirt-engine/ca.pem
作为证书位置,并将 myengine.example.com
用作主机名。这些都是示例,请确保将它们替换为您环境的有效值。
Red Hat Virtualization 为每个资源生成 id
属性的唯一标识符。本例中的标识符代码可能与 Red Hat Virtualization 环境中的标识符代码不同。
在本节的许多示例中,API 返回的一些结果属性已被省略,以便更短。您始终可以使用引用来查找属性的完整列表。例如,如果要查看 Cluster
类型的属性的完整列表,请转到 此处。
3.1. 示例:访问 API 入口点
以下请求检索 API 版本 4 的主要入口点的表示:
GET /ovirt-engine/api HTTP/1.1 Version: 4 Accept: application/xml
相同的请求,但使用 /v4
URL 前缀而不是 Version
标头:
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
属性为每个链接提供一个参考点。本示例中的下一步将检查数据中心集合,该集合可通过 数据中心
链接访问。
入口点还包含其他数据,如 product_info、special_objects 和 summary。该数据在本示例之外的章节中阐述。