6.244. 模板
此服务管理系统中可用的虚拟机模板。
名称 | 概述 |
---|---|
| 创建新模板. |
| 返回虚拟机模板列表。 |
6.244.1. 添加 POST
创建新模板.
这需要 name
和 vm
元素。若要识别虚拟机,可使用 vm.id 或
vm.name
属性。例如,要使用标识符 123
从虚拟机创建模板,请发送类似如下的请求:
POST /ovirt-engine/api/templates
这样的请求正文:
<template> <name>mytemplate</name> <vm id="123"/> </template>
从版本 4.3 开始,为了从快照创建虚拟机模板,发送如下请求正文:
<template> <name>mytemplate</name> <vm id="123"> <snapshots> <snapshot id="456"/> </snapshots> </vm> </template>
可以自定义模板的磁盘,使其部分特征与原始虚拟机的磁盘不同。为此,可使用 vm.disk_attachments
属性,指定原始虚拟机的磁盘标识符和您要更改的特征。例如,如果原始虚拟机有一个标识符 456
的磁盘,并且对该磁盘要将格式更改为 mydisk
,将其格式改为 Copy On Write 并将其 稀疏,发送一个请求正文,如下所示:
<template> <name>mytemplate</name> <vm id="123"> <disk_attachments> <disk_attachment> <disk id="456"> <name>mydisk</name> <format>cow</format> <sparse>true</sparse> </disk> </disk_attachment> </disk_attachments> </vm> </template>
模板可以创建为现有模板的子版本。这需要新模板 的名称和
vm
属性,以及新模板版本的 base_template
和 version_name
属性。base_template
和 version_name
属性必须在 template 部分括起的 version
部分中
指定。使用 id
或 name
属性识别虚拟机。
<template> <name>mytemplate</name> <vm id="123"/> <version> <base_template id="456"/> <version_name>mytemplate_001</version_name> </version> </template>
模板的目标存储域可以通过以下两种方式之一来自定义:
全局,在请求级别.请求必须列出要在存储域上创建所需的磁盘附件。如果没有列出磁盘附加,将忽略全局存储域参数。
<template> <name>mytemplate</name> <storage_domain id="123"/> <vm id="456"> <disk_attachments> <disk_attachment> <disk id="789"> <format>cow</format> <sparse>true</sparse> </disk> </disk_attachment> </disk_attachments> </vm> </template>
按每个磁盘附加.为每个磁盘附加指定所需的存储域。指定全局存储定义将根据磁盘附加规格覆盖存储域。
<template> <name>mytemplate</name> <vm id="123"> <disk_attachments> <disk_attachment> <disk id="456"> <format>cow</format> <sparse>true</sparse> <storage_domains> <storage_domain id="789"/> </storage_domains> </disk> </disk_attachment> </disk_attachments> </vm> </template>
名称 | 类型 | 方向 | 概述 |
---|---|---|---|
| in | 指定虚拟机的权限是否应复制到模板。 | |
| in | 密封模板。 | |
| in/Out | 有关模板或模板版本的信息。 |
6.244.1.1. clone_permissions
指定虚拟机的权限是否应复制到模板。
如果提供了此可选参数,并且其值为 true
,则虚拟机的权限(只有直接虚拟机的权限,而不是继承的参数)将复制到创建的模板。例如,要从 myvm
虚拟机创建模板复制其权限,请发送如下请求:
POST /ovirt-engine/api/templates?clone_permissions=true
这样的请求正文:
<template> <name>mytemplate<name> <vm> <name>myvm<name> </vm> </template>
6.244.1.2. seal
密封模板。
如果提供了此可选参数,并且其值为 true
,则模板将在创建后密封。
封装会从文件系统中删除所有特定于主机的配置:SSH 密钥、UDEV 规则、MAC 地址、系统 ID、主机名等,从而更加轻松地使用模板来创建多个虚拟机,无需人工干预。
目前,仅支持 Linux 操作系统的密封。