ovirt_disk – Модуль для управления виртуальными машинами и плавающими дисками в oVirt/RHV
Новая версия 2.2.
Описание
- Модуль для управления виртуальными машинами и плавающими дисками в oVirt/RHV.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.7
- ovirt-engine-sdk-python >= 4.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| activate boolean добавлено в 2.8 |
|
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 |
| Флаг boolean, указывающий, нужно ли проверять сертификат TLS сервера и имя хоста. | |
| kerberos boolean |
| Флаг 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 |
|
True, если диск должен быть загрузным. По умолчанию при создании диска он не загрузной. | |
| content_type - добавлено в 2.8 |
| Указывает, является ли диск диском данных, образов 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 |
| Если True, модуль получит дополнительные данные из API. Он получит идентификаторы дисков, снимков и т. д. виртуальных машин. Пользователь может настроить запрос других атрибутов вложенных сущностей, указав nested_attributes. | |
| force boolean добавлено в 2.3 |
| Пожалуйста, ознакомьтесь с документацией image_path, чтобы увидеть правильное использование этого параметра. | |
| format - |
| Указывает формат диска. Обратите внимание, что этот параметр не идемпотентный, так как в настоящее время невозможно изменить формат диска через API. | |
| host - добавлено в 2.8 | Когда указано имя гипервизора, вновь созданный диск или существующий диск обновит свою информацию об основном хранилище (размер диска, серийный номер, идентификатор продукта, идентификатор поставщика...). Указанный хост будет использоваться для сбора информации, связанной с хранилищем. Этот параметр действителен только для дисков проброса. Этот параметр требует, как минимум, указания logical_unit.id. | ||
| id - | Идентификатор диска для управления. Требуется либо id, либо name. | ||
| image_provider - добавлено в 2.4 | Когда state равно exported, диск экспортируется в указанный поставщик образов Glance.**IMPORTANT**Нет надежного способа обеспечить идемпотентность, поэтому каждый раз при указании этого параметра диск экспортируется. Поэтому настройте свой плейбук соответствующим образом, чтобы не экспортировать диск каждый раз. Этот параметр действителен только для шаблонов дисков. | ||
| interface - |
| Драйвер интерфейса хранения. Он является обязательным параметром при создании нового диска. | |
| 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 |
|
True, если диск должен быть разделяемым. По умолчанию при создании диска он не является разделяемым. | |
| size - | Размер диска. Размер должен быть указан с использованием стандартных единиц IEC. Например, 10GiB, 1024MiB и т. д. Размер можно только увеличивать, а не уменьшать. | ||
| sparse boolean added in 2.5 |
|
True, если диск должен быть разреженным (также известным как разреженное выделение). Если параметр опущен, копии дисков будут создаваться как разреженные, а обычные диски — как предопределённые
Обратите внимание, что этот параметр не является идемпотентным, так как в настоящее время нет возможности изменить разреженность диска через API. | |
| sparsify boolean added in 2.4 |
|
True, если диск должен быть разреженным. Разреживание освобождает место в образе диска, которое не используется файловой системой. В результате образ займёт меньше места на хранилище. Обратите внимание, что этот параметр не является идемпотентным, так как нет возможности проверить, должен ли диск быть или не быть разреженным. | |
| state - |
| Должен ли виртуальный диск виртуальной машины быть 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 |
| yes, если модуль должен ожидать, пока сущность не перейдет в требуемое состояние. | |
| wipe_after_delete boolean |
| Если включено уничтожение диска после удаления, то диск сначала очищается. | |
Примечания
Примечание
- Для использования этого модуля необходимо установить 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