ovirt.ovirt.ovirt_disk 模块 – 用于管理 oVirt/RHV 中的虚拟机和浮动磁盘的模块
注意
此模块是 ovirt.ovirt 集合(版本 3.2.0)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install ovirt.ovirt
。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:ovirt.ovirt.ovirt_disk
。
ovirt.ovirt 1.0.0 中的新增功能
概要
用于管理 oVirt/RHV 中的虚拟机和浮动磁盘的模块。
警告:如果您是从 ansible galaxy 安装的集合,则需要安装 'qemu-img' 包。
要求
执行此模块的主机需要满足以下要求。
python >= 2.7
ovirt-engine-sdk-python >= 4.4.0
参数
参数 |
注释 |
---|---|
如果应激活磁盘,则为True。 在创建虚拟机磁盘时,它设置为True。 选项
|
|
包含创建与 oVirt 的 HTTP/HTTPS 连接所需值的字典 |
|
包含受信任的 CA 证书的 PEM 文件。 服务器提供的证书将使用这些 CA 证书进行验证。 如果未设置 默认值由 |
|
指示是否对连接使用压缩的标志。 选项
|
|
要添加到每个 API 调用的 HTTP 标头的字典。 |
|
包含服务器主机名的字符串,通常类似于 `server.example.com`。 默认值由 需要 |
|
一个布尔标志,指示是否应检查服务器 TLS 证书和主机名。 选项
|
|
一个布尔标志,指示是否应使用 Kerberos 身份验证而不是默认的基本身份验证。 选项
|
|
用户的密码。 默认值由 |
|
等待响应的秒数。 |
|
要使用的令牌,而不是使用用户名/密码登录。 默认值由 |
|
包含服务器 API URL 的字符串,通常类似于 `https://server.example.com/ovirt-engine/api`。 默认值由 需要 |
|
用户的名称,类似于 admin@internal。 默认值由 |
|
磁盘支持的备份行为。 选项
|
|
如果磁盘应该是可引导的,则为True。默认情况下,创建磁盘时,它不是可引导的。 选项
|
|
指定磁盘是数据磁盘还是 ISO 映像,或者是托管引擎磁盘类型之一 托管引擎磁盘内容类型可用于 Engine 4.3+ 和 Ansible 2.8 选项
|
|
要管理的磁盘映像的描述。 |
|
应下载磁盘的文件系统上的路径。 请注意,您的系统信任存储中必须具有有效的 oVirt/RHV 引擎 CA,或者您必须在 请注意,当文件已存在时,不会下载磁盘,但是当使用 |
|
如果为 True,则模块将从 API 获取其他数据。 它将获取虚拟机磁盘、快照等的 ID。用户可以通过指定 选项
|
|
请查看 选项
|
|
指定磁盘的格式。 请注意,此选项不是幂等的,因为它目前无法通过 API 更改磁盘格式。 选项
|
|
当指定了虚拟机管理程序名称时,新创建的磁盘或现有磁盘将刷新其底层存储信息(磁盘大小、序列号、产品 ID、供应商 ID 等)。指定的宿主机将用于收集存储相关信息。此选项仅对直通磁盘有效。此选项至少需要指定 logical_unit.id。 |
|
要管理的磁盘的 ID。需要 |
|
当 当
没有可靠的方法来实现幂等性,因此每次指定此参数时都会导出磁盘,请相应地处理您的 playbook,避免一直导出磁盘。此选项仅对模板磁盘有效。 |
|
存储接口的驱动程序。 创建新磁盘时,此参数是必需的。 选项
|
|
描述要直接附加到虚拟机的 LUN 的字典 |
|
存储服务器的地址。由 iSCSI 使用。 |
|
LUN ID。 |
|
用于访问存储服务器的用户的 CHAP 密码。由 iSCSI 使用。 |
|
存储服务器的端口。由 iSCSI 使用。 |
|
存储类型,可以是 _fcp_ 或 _iscsi_。 |
|
iSCSI 目标。 |
|
用于访问存储服务器的 CHAP 用户名。由 iSCSI 使用。 |
|
在镜像的上传/下载中应使用的工作线程数。 使用多个工作线程可以加快该过程。 |
|
要管理的磁盘的名称。需要 |
|
指定应从 API 获取的属性列表。 此参数仅在 |
|
OpenStack 卷类型的名称。这在与 Cinder 一起工作时有效。 |
|
定义虚拟机是否将丢弃命令传递到存储。 选项
|
|
模块等待多少秒后才发送另一个实体状态轮询请求。 默认值: |
|
要附加到磁盘的磁盘配置文件名称。默认情况下,配置文件由 oVirt/RHV 引擎选择。 |
|
指示磁盘错误是否应导致虚拟机暂停,或者磁盘错误是否应 改为传播到客户操作系统。 选项
|
|
用于磁盘的磁盘配额 ID。默认情况下,配额由 oVirt/RHV 引擎选择。 |
|
如果磁盘应为只读,则为 _True_。默认情况下,创建磁盘时不是只读的。 选项
|
|
指示是否启用 SCSI 直通及其策略。 将值设置为 `filtered`/`unfiltered` 将为具有非特权/特权 SCSI I/O 的 LUN 磁盘启用 SCSI 直通。 要禁用 SCSI 直通,该值应设置为 `disabled` 选项
|
|
如果磁盘应为可共享的,则为 _True_。默认情况下,创建磁盘时不是可共享的。 选项
|
|
磁盘的大小。应使用 IEC 标准单位指定大小。例如 10GiB、1024MiB 等。 大小只能增加,不能减少。 如果磁盘由 |
|
如果磁盘应为稀疏的(也称为_精简配置_),则为 _True_。如果省略该参数,则 cow 磁盘将创建为稀疏的,而 raw 磁盘将创建为_预分配_的 请注意,此选项不是幂等的,因为目前无法通过 API 更改磁盘的稀疏性。 选项
|
|
如果应稀疏化磁盘,则为 _True_。 稀疏化会释放磁盘镜像中其文件系统未使用的空间。因此,镜像将占用存储上的较少空间。 请注意,此参数不是幂等的,因为无法检查磁盘是否应稀疏化。 选项
|
|
虚拟机磁盘应为存在/不存在/已附加/已分离/已导出/已导入。 选项
|
|
应在其中创建磁盘的存储域名称。 |
|
应在其中复制磁盘的存储域名称。
没有可靠的方法来实现幂等性,因此每次指定此参数时都会复制磁盘,请相应地处理您的 playbook,避免一直复制磁盘。这仅对虚拟机和浮动磁盘有效,模板磁盘按预期工作。 |
|
模块应等待实例进入所需状态的时间(以秒为单位)。 默认值: |
|
应上传的磁盘镜像的路径。 请注意,如果未指定 请注意,目前我们仅支持 qcow 磁盘的 0.10 兼容性版本。 请注意,您的系统信任存储中必须具有有效的 oVirt/RHV 引擎 CA,或者您必须在 请注意,没有可靠的方法来实现幂等性,因此,如果您想上传磁盘,即使存在具有 请注意,为了上传 iso, |
|
定义是否为此磁盘启用 SCSI 预留。 选项
|
|
要管理的虚拟机的 ID。如果 |
|
要管理的虚拟机的名称。如果 |
|
如果模块应等待实体进入所需状态,则为 选项
|
|
如果启用了磁盘的删除后擦除,则首先擦除磁盘。 选项
|
注释
注意
为了使用此模块,您必须安装 oVirt Python SDK。为确保安装的版本正确,您可以创建以下任务:_pip: name=ovirt-engine-sdk-python version=4.4.0_
示例
# Examples don't contain auth parameter for simplicity,
# look at ovirt_auth module to see how to reuse authentication:
# Create and attach new disk to VM
- ovirt.ovirt.ovirt_disk:
name: myvm_disk
vm_name: rhel7
size: 10GiB
format: cow
interface: virtio
storage_domain: data
# Attach logical unit to VM rhel7
- ovirt.ovirt.ovirt_disk:
vm_name: rhel7
logical_unit:
target: iqn.2016-08-09.brq.str-01:omachace
id: 1IET_000d0001
address: 10.34.63.204
interface: virtio
# Detach disk from VM
- ovirt.ovirt.ovirt_disk:
state: detached
name: myvm_disk
vm_name: rhel7
size: 10GiB
format: cow
interface: virtio
# Change Disk Name
- ovirt.ovirt.ovirt_disk:
id: 00000000-0000-0000-0000-000000000000
storage_domain: data
name: "new_disk_name"
vm_name: rhel7
# Upload local image to disk and attach it to vm:
# Since Ansible 2.3
- ovirt.ovirt.ovirt_disk:
name: mydisk
vm_name: myvm
interface: virtio
size: 10GiB
format: cow
image_path: /path/to/mydisk.qcow2
storage_domain: data
# Download disk to local file system:
# Since Ansible 2.3
- ovirt.ovirt.ovirt_disk:
id: 7de90f31-222c-436c-a1ca-7e655bd5b60c
download_image_path: /home/user/mydisk.qcow2
# Export disk as image to Glance domain
# Since Ansible 2.4
- ovirt.ovirt.ovirt_disk:
id: 7de90f31-222c-436c-a1ca-7e655bd5b60c
image_provider: myglance
state: exported
# Defining a specific quota while creating a disk image:
# Since Ansible 2.5
- ovirt.ovirt.ovirt_quotas_info:
data_center: Default
name: myquota
register: quota
- ovirt.ovirt.ovirt_disk:
name: mydisk
size: 10GiB
storage_domain: data
description: somedescriptionhere
quota_id: "{{ quota.ovirt_quotas[0]['id'] }}"
# Upload an ISO image
# Since Ansible 2.8
- ovirt.ovirt.ovirt_disk:
name: myiso
upload_image_path: /path/to/iso/image
storage_domain: data
size: 4 GiB
wait: true
bootable: true
format: raw
content_type: iso
# Add fiber chanel disk
- name: Create disk
ovirt.ovirt.ovirt_disk:
name: fcp_disk
host: my_host
logical_unit:
id: 3600a09803830447a4f244c4657597777
storage_type: fcp
返回值
通用返回值在此处记录,以下是此模块独有的字段
键 |
描述 |
---|---|
所有磁盘属性的字典。磁盘属性可以在您的 oVirt/RHV 实例上的以下 URL 中找到:http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk。 返回值: 如果找到磁盘并且未传递 |
|
所有磁盘附加属性的字典。磁盘附加属性可以在您的 oVirt/RHV 实例上的以下 URL 中找到:http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk_attachment。 返回值: 如果找到磁盘,并且传递了 |
|
托管磁盘的 ID 返回值: 如果找到磁盘,则成功返回。 示例: |