Spec-Zone.ru › Ansible 2.8

ovirt_disk – Модуль для управления виртуальными машинами и плавающими дисками в oVirt/RHV

Новая версия 2.2.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Модуль для управления виртуальными машинами и плавающими дисками в oVirt/RHV.

Требования

Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python >= 2.7
  • ovirt-engine-sdk-python >= 4.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
activate
boolean
добавлено в 2.8
    Варианты:
  • no
  • yes
True, если диск должен быть активирован.
При создании диска виртуальной машины он устанавливается в True.
auth
словарь / обязательно
Словарь со значениями, необходимыми для создания HTTP/HTTPS-соединения с oVirt:
ca_file
строка
Файл PEM, содержащий доверенные сертификаты CA.
Представленный сервером сертификат будет проверен с использованием этих сертификатов CA.
Если параметр ca_file не задан, используется системное хранилище сертификатов CA.
Значение по умолчанию устанавливается переменной среды OVIRT_CAFILE.
headers
словарь
Словарь HTTP-заголовков, которые нужно добавить к каждому API-запросу.
hostname
строка
Строка, содержащая имя хоста сервера, обычно что-то вроде `server.example.com`.
Значение по умолчанию устанавливается переменной среды OVIRT_HOSTNAME.
Требуется либо url, либо hostname.
insecure
boolean
    Варианты:
  • no
  • yes
Флаг boolean, указывающий, нужно ли проверять сертификат TLS сервера и имя хоста.
kerberos
boolean
    Варианты:
  • no
  • yes
Флаг boolean, указывающий, нужно ли использовать аутентификацию Kerberos вместо стандартной аутентификации.
password
строка / обязательно
Пароль пользователя.
Значение по умолчанию устанавливается переменной среды OVIRT_PASSWORD.
token
строка
Токен, который используется вместо входа с именем пользователя/паролем.
Значение по умолчанию устанавливается переменной среды OVIRT_TOKEN.
url
строка
Строка, содержащая API-URL сервера, обычно что-то вроде `https://server.example.com/ovirt-engine/api`.
Значение по умолчанию устанавливается переменной среды OVIRT_URL.
Требуется либо url, либо hostname.
username
строка / обязательно
Имя пользователя, например admin@internal.
Значение по умолчанию устанавливается переменной среды OVIRT_USERNAME.
bootable
boolean
    Варианты:
  • no
  • yes
True, если диск должен быть загрузным. По умолчанию при создании диска он не загрузной.
content_type
-
добавлено в 2.8
    Варианты:
  • data ←
  • iso
  • hosted_engine
  • hosted_engine_sanlock
  • hosted_engine_metadata
  • hosted_engine_configuration
Указывает, является ли диск диском данных, образов ISO или одним из типов дисков Hosted Engine.
Типы контента дисков Hosted Engine доступны с версией Engine 4.3+ и Ansible 2.8
description
-
добавлено в 2.5
Описание образа диска для управления.
download_image_path
-
добавлено в 2.3
Путь в файловой системе, куда должен быть загружен диск.
Обратите внимание, что у вас должен быть действительный сертификат CA oVirt/RHV в хранилище доверенных сертификатов вашей системы, или вы должны предоставить его в параметре ca_file.
Обратите внимание, что диск не загружается, когда файл уже существует, но вы можете принудительно загрузить диск при использовании параметра force I (true).
fetch_nested
boolean
добавлено в 2.3
    Варианты:
  • no
  • yes
Если True, модуль получит дополнительные данные из API.
Он получит идентификаторы дисков, снимков и т. д. виртуальных машин. Пользователь может настроить запрос других атрибутов вложенных сущностей, указав nested_attributes.
force
boolean
добавлено в 2.3
    Варианты:
  • no
  • yes
Пожалуйста, ознакомьтесь с документацией image_path, чтобы увидеть правильное использование этого параметра.
format
-
    Варианты:
  • raw
  • cow
Указывает формат диска.
Обратите внимание, что этот параметр не идемпотентный, так как в настоящее время невозможно изменить формат диска через API.
host
-
добавлено в 2.8
Когда указано имя гипервизора, вновь созданный диск или существующий диск обновит свою информацию об основном хранилище (размер диска, серийный номер, идентификатор продукта, идентификатор поставщика...). Указанный хост будет использоваться для сбора информации, связанной с хранилищем. Этот параметр действителен только для дисков проброса. Этот параметр требует, как минимум, указания logical_unit.id.
id
-
Идентификатор диска для управления. Требуется либо id, либо name.
image_provider
-
добавлено в 2.4
Когда state равно exported, диск экспортируется в указанный поставщик образов Glance.
**IMPORTANT**
Нет надежного способа обеспечить идемпотентность, поэтому каждый раз при указании этого параметра диск экспортируется. Поэтому настройте свой плейбук соответствующим образом, чтобы не экспортировать диск каждый раз. Этот параметр действителен только для шаблонов дисков.
interface
-
    Варианты:
  • virtio ←
  • ide
  • virtio_scsi
Драйвер интерфейса хранения.
Он является обязательным параметром при создании нового диска.
logical_unit
-
Словарь, описывающий LUN, который будет напрямую подключен к виртуальной машине:
address
-
Адрес сервера хранения. Используется iSCSI.
lun_id
-
Идентификатор LUN.
password
-
Пароль CHAP пользователя для доступа к серверу хранения. Используется iSCSI.
port
-
Порт сервера хранения. Используется iSCSI.
storage_type
-
Тип хранилища, либо fcp, либо iscsi.
target
-
iSCSI-цель.
username
-
Имя пользователя CHAP для доступа к серверу хранения. Используется iSCSI.
name
-
Имя диска для управления. Требуется либо id, либо name/alias.

псевдонимы: alias
nested_attributes
list
added in 2.3
Указывает список атрибутов, которые необходимо извлечь из API.
Этот параметр применяется только когда fetch_nested равен true.
openstack_volume_type
-
added in 2.4
Имя типа открытого стека тома. Действительно при работе с cinder.
poll_interval
integer
Значение по умолчанию:
3
Количество секунд, которое модуль ожидает перед отправкой нового запроса о статусе сущности.
profile
-
Имя профиля диска, который необходимо прикрепить к диску. По умолчанию профиль выбирается движком oVirt/RHV.
quota_id
-
added in 2.5
ID квоты диска, который необходимо использовать для диска. По умолчанию квота выбирается движком oVirt/RHV.
shareable
boolean
    Варианты:
  • no
  • yes
True, если диск должен быть разделяемым. По умолчанию при создании диска он не является разделяемым.
size
-
Размер диска. Размер должен быть указан с использованием стандартных единиц IEC. Например, 10GiB, 1024MiB и т. д.
Размер можно только увеличивать, а не уменьшать.
sparse
boolean
added in 2.5
    Варианты:
  • no
  • yes
True, если диск должен быть разреженным (также известным как разреженное выделение). Если параметр опущен, копии дисков будут создаваться как разреженные, а обычные диски — как предопределённые
Обратите внимание, что этот параметр не является идемпотентным, так как в настоящее время нет возможности изменить разреженность диска через API.
sparsify
boolean
added in 2.4
    Варианты:
  • no
  • yes
True, если диск должен быть разреженным.
Разреживание освобождает место в образе диска, которое не используется файловой системой. В результате образ займёт меньше места на хранилище.
Обратите внимание, что этот параметр не является идемпотентным, так как нет возможности проверить, должен ли диск быть или не быть разреженным.
state
-
    Варианты:
  • present ←
  • absent
  • attached
  • detached
  • exported
Должен ли виртуальный диск виртуальной машины быть present/absent/attached/detached/exported.
storage_domain
-
Имя домена хранения, где должен быть создан диск. По умолчанию хранилище выбирается движком oVirt/RHV.
storage_domains
-
added in 2.3
Имена доменов хранения, в которые должен быть скопирован диск.
**IMPORTANT**
Нет надежного способа достижения идемпотентности, поэтому каждый раз при указании этого параметра диски копируются. Пожалуйста, настройте свой плейбук таким образом, чтобы диски не копировались постоянно. Это относится только к виртуальным машинам и плавающим дискам, для шаблонов дисков всё работает как ожидается.
timeout
integer
Значение по умолчанию:
180
Количество времени в секундах, которое модуль должен ждать, пока виртуальная машина не перейдет в требуемое состояние.
upload_image_path
-
added in 2.3
Путь к изображению диска, которое необходимо загрузить.
Обратите внимание, что в настоящее время мы поддерживаем только совместимую версию 0.10 qcow диска.
Обратите внимание, что у вас должен быть действительный сертификат CA oVirt/RHV в хранилище доверия вашей системы или вы должны предоставить его в параметре ca_file.
Обратите внимание, что нет надежного способа достижения идемпотентности, поэтому если вы хотите загрузить диск даже если диск с id или name существует, используйте force true. Если вы используете force false, что является значением по умолчанию, то образ диска не будет загружен.
vm_id
-
ID виртуальной машины для управления. Требуется либо vm_id, либо vm_name, если state равен attached или detached.
vm_name
-
Имя виртуальной машины для управления. Требуется либо vm_id, либо vm_name, если state равен attached или detached.
wait
boolean
    Варианты:
  • no
  • yes ←
yes, если модуль должен ожидать, пока сущность не перейдет в требуемое состояние.
wipe_after_delete
boolean
    Варианты:
  • no
  • yes
Если включено уничтожение диска после удаления, то диск сначала очищается.

Примечания

Примечание

  • Для использования этого модуля необходимо установить oVirt Python SDK. Чтобы убедиться, что он установлен с правильной версией, можно создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.3.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_disk:
    name: myvm_disk
    vm_name: rhel7
    size: 10GiB
    format: cow
    interface: virtio
    storage_domain: data

# Attach logical unit to VM rhel7
- 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_disk:
    state: detached
    name: myvm_disk
    vm_name: rhel7
    size: 10GiB
    format: cow
    interface: virtio

# Change Disk Name
- 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_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_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_disks:
    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_quotas_facts:
    data_center: Default
    name: myquota
- ovirt_disk:
    name: mydisk
    size: 10GiB
    storage_domain: data
    description: somedescriptionhere
    quota_id: "{{ ovirt_quotas[0]['id'] }}"

# Upload an ISO image
# Since Ansible 2.8
-  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

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для этого модуля:

Ключ Возвращаемое значение Описание
disk
словарь
При успехе, если диск найден и vm_id или vm_name не были переданы.
Словарь всех атрибутов диска. Атрибуты диска можно найти на вашем экземпляре oVirt/RHV по следующему URL-адресу: http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk.

disk_attachment
словарь
При успехе, если диск найден и vm_id или vm_name были переданы, а VM найдена.
Словарь всех атрибутов прикрепления диска. Атрибуты прикрепления диска можно найти на вашем экземпляре oVirt/RHV по следующему URL-адресу: http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk_attachment.

id
строка
При успехе, если диск найден.
ID управляемого диска

Пример:
7de90f31-222c-436c-a1ca-7e655bd5b60c


Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Ondra Machacek (@machacekondra)

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/ovirt_disk_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API