ovirt.ovirt.ovirt_storage_domain 模块 – 用于管理 oVirt/RHV 中的存储域的模块

注意

此模块是 ovirt.ovirt 集合(版本 3.2.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install ovirt.ovirt。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:ovirt.ovirt.ovirt_storage_domain

ovirt.ovirt 1.0.0 中的新功能

概要

  • 用于管理 oVirt/RHV 中的存储域的模块

要求

执行此模块的主机需要满足以下要求。

  • python >= 2.7

  • ovirt-engine-sdk-python >= 4.4.0

参数

参数

注释

auth

字典 / 必需

包含创建到 oVirt 的 HTTP/HTTPS 连接所需的值的字典

ca_file

字符串

包含受信任 CA 证书的 PEM 文件。

将使用这些 CA 证书验证服务器提供的证书。

如果未设置 ca_file 参数,则使用系统范围的 CA 证书存储。

默认值由 OVIRT_CAFILE 环境变量设置。

compress

布尔值

指示是否对连接使用压缩的标志。

选项

  • false

  • true ←(默认)

headers

字典

要添加到每个 API 调用的 HTTP 标头的字典。

hostname

字符串

包含服务器主机名的字符串,通常类似于“server.example.com”。

默认值由 OVIRT_HOSTNAME 环境变量设置。

需要 urlhostname

insecure

布尔值

一个布尔值标志,指示是否应检查服务器 TLS 证书和主机名。

选项

  • false ←(默认)

  • true

kerberos

布尔值

一个布尔值标志,指示是否应使用 Kerberos 身份验证而不是默认的基本身份验证。

选项

  • false

  • true

password

字符串

用户的密码。

默认值由 OVIRT_PASSWORD 环境变量设置。

timeout

整数

等待响应的秒数。

token

字符串

要使用的令牌,而不是使用用户名/密码登录。

默认值由 OVIRT_TOKEN 环境变量设置。

url

字符串

包含服务器 API URL 的字符串,通常类似于“https://server.example.com/ovirt-engine/api”。

默认值由 OVIRT_URL 环境变量设置。

需要 urlhostname

username

字符串

用户名,类似于 admin@internal

默认值由 OVIRT_USERNAME 环境变量设置。

backup

布尔值

一个布尔值标志,指示是否将存储域配置为备份域。

选项

  • false

  • true

comment

字符串

存储域的注释。

critical_space_action_blocker

整数

指示存储域应包含的最小可用空间百分比。

data_center

字符串

应附加存储域的数据中心名称。

此参数不是幂等的,无法更改存储域的数据中心。

description

字符串

存储域的描述。

destroy

布尔值

存储域的逻辑删除。如果为 true,则保留存储域的数据以进行导入。

此参数仅在 stateabsent 时相关。

选项

  • false

  • true

discard_after_delete

布尔值

如果为 True,则在删除后将丢弃存储域块。默认启用。

此参数仅与基于块的存储域相关。

选项

  • false

  • true

domain_function

别名:type

字符串

存储域的功能。

此参数不是幂等的,无法更改存储域的域功能。

选项

  • "data" ←(默认)

  • "iso"

  • "export"

fcp

字典

包含光纤通道存储类型的值的字典

请注意,这些参数不是幂等的。

lun_id

字符串

LUN ID。

override_luns

布尔值

如果为 True,则在添加之前将覆盖 FCP 存储域 LUN。

选项

  • false

  • true

fetch_nested

布尔值

如果为 True,则模块将从 API 获取其他数据。

它将获取虚拟机磁盘、快照等的 ID。用户可以配置通过指定 nested_attributes 来获取嵌套实体的其他属性。

选项

  • false ←(默认)

  • true

format

布尔值

如果为 True,则从 oVirt/RHV 中删除存储域后,将对其进行格式化。

此参数仅在 stateabsent 时相关。

选项

  • false

  • true

glusterfs

字典

包含 GlusterFS 存储类型的值的字典

请注意,这些参数不是幂等的。

address

字符串

Gluster 服务器的地址。例如:myserver.mydomain.com

mount_options

字符串

挂载存储时将传递的选项。

path

字符串

挂载点的路径。例如:/path/to/my/data

host

字符串

要用于挂载存储的主机。

id

字符串

要导入的存储域的 ID。

iscsi

字典

包含 iSCSI 存储类型的值的字典

请注意,这些参数不是幂等的。

address

字符串

iSCSI 存储服务器的地址。

lun_id

字符串

LUN ID。

override_luns

布尔值

如果为 True,则在添加之前将覆盖 ISCSI 存储域 LUN。

选项

  • false

  • true

password

字符串

用于登录目标的 CHAP 密码。

port

字符串

iSCSI 存储服务器的端口。

target

字符串

存储设备的 目标 IQN。

target_lun_map

字符串

包含目标和 LUN 的字典列表。

username

字符串

用于登录目标的 CHAP 用户名。

localfs

字典

包含 localfs 存储类型的值的字典

请注意,这些参数不是幂等的。

path

字符串

挂载点的路径。例如:/path/to/my/data

managed_block_storage

字典

包含托管块存储类型的值的字典

注意:从 ovirt 4.3 开始可用

driver_options

列表 / elements=dictionary

使用 cinder 驱动程序创建存储域时要传递的选项。

包含驱动程序选项的 namevalue 的字典列表

driver_sensitive_options

列表 / elements=dictionary

包含敏感信息的参数,用于在使用 Cinder 驱动程序创建存储域时传递。

包含驱动程序敏感选项的 namevalue 的字典列表

name

字符串

要管理的存储域的名称。(当状态为imported时,不需要)

nested_attributes

list / elements=string

指定应从 API 获取的属性列表。

此参数仅在 fetch_nestedtrue 时适用。

nfs

字典

包含 NFS 存储类型值的字典

请注意,这些参数不是幂等的。

address

字符串

NFS 服务器的地址。例如:myserver.mydomain.com

mount_options

字符串

挂载存储时将传递的选项。

path

字符串

挂载点的路径。例如:/path/to/my/data

retrans

字符串

在尝试进一步的恢复操作之前重试请求的次数。范围为 0 到 65535。

timeout

字符串

在重试 NFS 请求之前等待响应的时间,以十分之一秒为单位。范围为 0 到 65535。

version

字符串

NFS 版本。可以是:auto, v3, v4v4_1

poll_interval

整数

模块在发送另一个实体状态轮询请求之前等待的秒数。

默认值: 3

posixfs

字典

包含 PosixFS 存储类型值的字典

请注意,这些参数不是幂等的。

mount_options

字符串

挂载存储时将传递的选项。

path

字符串

挂载点的路径。例如:/path/to/my/data

vfs_type

字符串

虚拟文件系统类型。

state

字符串

存储域应该是 present/absent/maintenance/unattached/imported/update_ovf_store 状态

imported 从 2.4 版本开始支持。

update_ovf_store 从 2.5 版本开始支持,目前如果 wait 为 true,则我们不会等待更新。

选项

  • "present" ← (默认)

  • "absent"

  • "maintenance"

  • "unattached"

  • "imported"

  • "update_ovf_store"

storage_format

字符串

可以是 v1、v2、v3、v4、v5 之一 - 设置域的存储格式。

timeout

整数

模块应等待实例进入所需状态的秒数。

默认值: 180

wait

布尔值

如果模块应等待实体进入所需状态,则为 yes

选项

  • false

  • true ←(默认)

warning_low_space

整数

指示存储域中可用空间的最低百分比,以便显示警告。

wipe_after_delete

布尔值

一个布尔标志,指示存储域是否应在删除后擦除数据。

选项

  • false

  • true

注释

注意

  • 为了使用此模块,您必须安装 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:

# Add data NFS storage domain
- ovirt.ovirt.ovirt_storage_domain:
    name: data_nfs
    host: myhost
    data_center: mydatacenter
    nfs:
      address: 10.34.63.199
      path: /path/data

# Add data NFS storage domain with id for data center
- ovirt.ovirt.ovirt_storage_domain:
    name: data_nfs
    host: myhost
    data_center: 11111
    nfs:
      address: 10.34.63.199
      path: /path/data
      mount_options: noexec,nosuid

# Add data NFS storage domain in an older format
# E.g. the following will work if the data center is in 4.2 level.
# Without this, you might get as error like:
#     Cannot attach Storage. Storage Domain format V5 is illegal.
- ovirt.ovirt.ovirt_storage_domain:
    name: data_nfs
    host: myhost
    data_center: mydatacenter
    nfs:
      address: 10.34.63.199
      path: /path/data
    storage_format: v4

# Add data localfs storage domain
- ovirt.ovirt.ovirt_storage_domain:
    name: data_localfs
    host: myhost
    data_center: mydatacenter
    localfs:
      path: /path/to/data

# Add data iSCSI storage domain:
- ovirt.ovirt.ovirt_storage_domain:
    name: data_iscsi
    host: myhost
    data_center: mydatacenter
    iscsi:
      target: iqn.2016-08-09.domain-01:nickname
      lun_id:
       - 1IET_000d0001
       - 1IET_000d0002
      address: 10.34.63.204
    discard_after_delete: True
    backup: False
    critical_space_action_blocker: 5
    warning_low_space: 10

# Since Ansible 2.5 you can specify multiple targets for storage domain,
# Add data iSCSI storage domain with multiple targets:
- ovirt.ovirt.ovirt_storage_domain:
    name: data_iscsi
    host: myhost
    data_center: mydatacenter
    iscsi:
      target_lun_map:
        - target: iqn.2016-08-09.domain-01:nickname
          lun_id: 1IET_000d0001
        - target: iqn.2016-08-09.domain-02:nickname
          lun_id: 1IET_000d0002
      address: 10.34.63.204
    discard_after_delete: True

# Add data glusterfs storage domain
- ovirt.ovirt.ovirt_storage_domain:
    name: glusterfs_1
    host: myhost
    data_center: mydatacenter
    glusterfs:
      address: 10.10.10.10
      path: /path/data

# Create export NFS storage domain:
- ovirt.ovirt.ovirt_storage_domain:
    name: myexportdomain
    domain_function: export
    host: myhost
    data_center: mydatacenter
    nfs:
      address: 10.34.63.199
      path: /path/export
    wipe_after_delete: False
    backup: True
    critical_space_action_blocker: 2
    warning_low_space: 5

# Import export NFS storage domain:
- ovirt.ovirt.ovirt_storage_domain:
    state: imported
    domain_function: export
    host: myhost
    data_center: mydatacenter
    nfs:
      address: 10.34.63.199
      path: /path/export

# Import FCP storage domain:
- ovirt.ovirt.ovirt_storage_domain:
    state: imported
    name: data_fcp
    host: myhost
    data_center: mydatacenter
    fcp: {}

# Update OVF_STORE:
- ovirt.ovirt.ovirt_storage_domain:
    state: update_ovf_store
    name: domain

# Create ISO NFS storage domain
- ovirt.ovirt.ovirt_storage_domain:
    name: myiso
    domain_function: iso
    host: myhost
    data_center: mydatacenter
    nfs:
      address: 10.34.63.199
      path: /path/iso

# Create managed storage domain
# Available from ovirt 4.3 and ansible 2.9
- ovirt.ovirt.ovirt_storage_domain:
    name: my_managed_domain
    host: myhost
    data_center: mydatacenter
    managed_block_storage:
      driver_options:
        - name: rbd_pool
          value: pool1
        - name: rbd_user
          value: admin
        - name: volume_driver
          value: cinder.volume.drivers.rbd.RBDDriver
        - name: rbd_keyring_conf
          value: /etc/ceph/keyring
      driver_sensitive_options:
        - name: secret_password
          value: password

# Remove storage domain
- ovirt.ovirt.ovirt_storage_domain:
    state: absent
    name: mystorage_domain
    format: true

返回值

通用返回值已在此处记录 here,以下是此模块独有的字段

Key

描述

id

字符串

被管理的存储域的 ID

返回: 如果找到存储域,则成功时返回。

示例: "7de90f31-222c-436c-a1ca-7e655bd5b60c"

storage_domain

字典

所有存储域属性的字典。存储域属性可以在您的 oVirt/RHV 实例的以下网址找到:http://ovirt.github.io/ovirt-engine-api-model/master/#types/storage_domain

返回: 如果找到存储域,则成功时返回。

作者

  • Ondra Machacek (@machacekondra)

  • Martin Necas (@mnecas)