ovirt_disk – Модуль управления виртуальными машинами и плавающими дисками в oVirt/RHV
Описание
- Модуль управления виртуальными машинами и плавающими дисками в 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 строка | Строка, содержащая URL API сервера, обычно что-то вроде `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 - | Путь на файловой системе, куда должен быть загружен диск. Обратите внимание, что вам нужен действительный сертификат CA oVirt/RHV на вашем сервере или нужно предоставить его в параметре ca_file. Обратите внимание, что диск не загружается, если файл уже существует, но вы можете принудительно загрузить диск, используя параметр force, равный true. | ||
| fetch_nested boolean |
| Если True, модуль извлечёт дополнительные данные из API. Он извлечёт ID дисков, снимков и т. д. для виртуальных машин. Пользователь может настроить извлечение других атрибутов вложенных сущностей, указав nested_attributes. | |
| force boolean |
| Обратите внимание на документацию image_path, чтобы узнать правильное использование этого параметра. | |
| format - |
| Укажите формат диска. Обратите внимание, что этот параметр не идемпотентен, так как в настоящее время нет возможности изменить формат диска через API. | |
| host - добавлен в 2.8 | При указании имени гипервизора вновь созданный или существующий диск обновит информацию об основного хранилище (размер диска, серийный номер, идентификатор продукта, идентификатор производителя...). Указанный хост будет использован для сбора информации, относящейся к хранилищу. Этот параметр действителен только для дисков passthrough. Для использования этого параметра необходимо указать хотя бы logical_unit.id. | ||
| id - | ID диска для управления. Требуется либо id, либо name. | ||
| image_provider - добавлен в 2.4 | При значении state равном exported, диск экспортируется в указанный провайдер изображений Glance.**IMPORTANT**Нет надежного способа обеспечить идемпотентность, поэтому каждый раз при указании этого параметра диск экспортируется. Учтите это при написании ваших playbooks, чтобы не экспортировать диск постоянно. Этот параметр действителен только для шаблонов дисков. | ||
| 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 | Указывает список атрибутов, которые должны быть извлечены из API. Этот параметр применяется только когда fetch_nested равен true. | ||
| openstack_volume_type - добавлен в 2.4 | Имя типа OpenStack тома. Действительно при работе с cinder. | ||
| poll_interval integer | По умолчанию: 3 | Количество секунд, которое модуль ожидает до отправки нового запроса о статусе сущности. | |
| profile - | Имя профиля диска, который должен быть присоединён к диску. По умолчанию профиль выбирается движком oVirt/RHV. | ||
| quota_id - добавлен в 2.5 | ID квоты диска, который должен быть использован для диска. По умолчанию квота выбирается движком oVirt/RHV. | ||
| shareable boolean |
|
True, если диск должен быть доступен для совместного использования. По умолчанию диск при создании не доступен для совместного использования. | |
| size - | Размер диска. Размер должен быть указан с использованием единиц IEC. Например, 10GiB, 1024MiB и т. д. Размер можно только увеличить, но не уменьшить. | ||
| sparse boolean добавлен в 2.5 |
|
True, если диск должен быть разреженным (также известен как тонкое выделение). Если параметр опущен, диски cow будут созданы как разреженные, а жёсткие диски как предварительно выделенные
Обратите внимание, что этот параметр не идемпотентный, так как в настоящее время невозможно изменить разреженность диска через API. | |
| sparsify boolean добавлен в 2.4 |
|
True, если диск должен быть разрежен.
Разреживание освобождает место в изображении диска, которое не используется файловой системой. В результате изображение займёт меньше места на хранилище. Обратите внимание, что этот параметр не идемпотентный, так как невозможно проверить, должен ли диск быть разреженным или нет. | |
| state - |
| Диск виртуальной машины должен быть present/absent/attached/detached/exported. | |
| storage_domain - | Имя домена хранилища, где должен быть создан диск. | ||
| storage_domains - | Имена доменов хранилища, куда должен быть скопирован диск. **IMPORTANT**Нет надёжного способа достижения идемпотентности, поэтому каждый раз, когда вы указываете этот параметр, диски копируются. Пожалуйста, настройте свои playbook так, чтобы не копировать диски постоянно. Это действительно только для VM и плавающих дисков, шаблонные диски работают как ожидается. | ||
| timeout integer | По умолчанию: 180 | Количество времени в секундах, которое модуль должен подождать, пока экземпляр не перейдёт в нужное состояние. | |
| upload_image_path - | Путь к изображению диска, которое должно быть загружено. Обратите внимание, что если size не указан, размер диска будет определён размером указанного изображения.Обратите внимание, что в настоящее время поддерживается только совместимость версии 0.10 qcow диска. Обратите внимание, что у вас должен быть действительный CA-сертификат oVirt/RHV в вашем хранилище доверия системы или вы должны предоставить его в параметре ca_file. Обратите внимание, что нет надёжного способа достижения идемпотентности, поэтому если вы хотите загрузить диск, даже если диск с id или name существует, то используйте force true. Если вы используете force false, что является значением по умолчанию, то изображение диска не будет загружено.Обратите внимание, что для загрузки iso format должен быть 'raw' | ||
| 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 |
| Если для диска включена опция Wipe After Delete, то диск сначала очищается. | |
Примечания
Примечание
- Для использования этого модуля необходимо установить 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_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_quotas_info:
data_center: Default
name: myquota
register: quota
- 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_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_disk:
name: fcp_disk
host: my_host
logical_unit:
id: 3600a09803830447a4f244c4657597777
storage_type: fcp
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| disk dictionary | При успехе, если диск найден, и vm_id или vm_name не были переданы. | Словарь всех атрибутов диска. Атрибуты диска можно найти на вашем экземпляре oVirt/RHV по следующему URL: http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk. |
| disk_attachment dictionary | При успехе, если диск найден, и vm_id или vm_name были переданы, и VM был найден. | Словарь всех атрибутов прикрепления диска. Атрибуты прикрепления диска можно найти на вашем экземпляре oVirt/RHV по следующему URL: http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk_attachment. |
| id string | При успехе, если диск найден. | 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.9/modules/ovirt_disk_module.html