ovirt_disk – Модуль управления виртуальными машинами и плавающими дисками в oVirt/RHV
Новая версия 2.2.
Описание
- Модуль управления виртуальными машинами и плавающими дисками в oVirt/RHV.
Псевдонимы: ovirt_disks
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.7
- ovirt-engine-sdk-python >= 4.2.4
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| auth - / обязательно | Словарь со значениями, необходимыми для создания HTTP/HTTPS-соединения с oVirt: username[обязательно] — Имя пользователя, например, admin@internal. Значение по умолчанию задается переменной окружения OVIRT_USERNAME.password[обязательно] — Пароль пользователя. Значение по умолчанию задается переменной окружения OVIRT_PASSWORD.url — Строка, содержащая URL API сервера, обычно что-то вроде `https://server.example.com/ovirt-engine/api`. Значение по умолчанию задается переменной окружения OVIRT_URL. Требуется либо url либо hostname. hostname — Строка, содержащая имя хоста сервера, обычно что-то вроде `server.example.com`. Значение по умолчанию задается переменной окружения OVIRT_HOSTNAME. Требуется либо url либо hostname. token — Токен, используемый вместо входа с именем пользователя/паролем. Значение по умолчанию задается переменной окружения OVIRT_TOKEN.insecure — Флажок, указывающий, нужно ли проверять сертификат TLS сервера и имя хоста.ca_file — Файл PEM, содержащий доверенные сертификаты CA. Представленный сервером сертификат будет проверен с помощью этих сертификатов CA. Если параметр `ca_file` не задан, используется системный хранилище сертификатов CA. Значение по умолчанию задается переменной окружения OVIRT_CAFILE.kerberos — Флажок, указывающий, нужно ли использовать аутентификацию Kerberos вместо стандартной аутентификации.headers — Словарь HTTP-заголовков, которые нужно добавлять к каждому API-запросу. | |
| bootable - |
True, если диск должен быть загрузочным. По умолчанию при создании диска он не загрузочный. | |
| description - добавлено в 2.5 | Описание образа диска для управления. | |
| download_image_path - добавлено в 2.3 | Путь в файловой системе, куда должен быть загружен диск. Обратите внимание, что у вас должен быть действительный сертификат CA oVirt/RHV в хранилище доверенных сертификатов системы, или вы должны предоставить его в параметре ca_file. Обратите внимание, что диск не загружается, когда файл уже существует, но вы можете принудительно загрузить диск, используя параметр force (true). | |
| fetch_nested boolean добавлено в 2.3 |
| Если True, модуль получит дополнительные данные из API. Он получит идентификаторы дисков ВМ, снимков и т. д. Пользователь может настроить получение других атрибутов вложенных сущностей, указав nested_attributes. |
| force - добавлено в 2.3 | Пожалуйста, ознакомьтесь с документацией image_path для правильного использования этого параметра. | |
| format - |
| Указывает формат диска. Обратите внимание, что этот параметр не идемпотентный, так как в настоящее время невозможно изменить формат диска через API. |
| id - | ID диска для управления. Требуется либо id либо name. | |
| image_provider - добавлено в 2.4 | Если state — exported, диск экспортируется в указанный провайдер изображений Glance.**IMPORTANT**Нет надежного способа добиться идемпотентности, поэтому каждый раз при указании этого параметра диск экспортируется, поэтому, пожалуйста, настройте свой playbook таким образом, чтобы не экспортировать диск постоянно. Этот параметр допустим только для шаблонов дисков. | |
| interface - |
| Драйвер интерфейса хранения. Необходимый параметр при создании нового диска. |
| logical_unit - | Словарь, описывающий LUN, который необходимо подключить напрямую к ВМ: address — Адрес сервера хранения. Используется для iSCSI.port — Порт сервера хранения. Используется для iSCSI.target — iSCSI-цель.lun_id — Идентификатор LUN.username — Имя пользователя CHAP для доступа к серверу хранения. Используется для iSCSI.password — Пароль пользователя CHAP для доступа к серверу хранения. Используется для iSCSI.storage_type — Тип хранилища, либо fcp, либо iscsi. | |
| name - | Имя диска для управления. Требуется либо id либо name/alias.псевдонимы: alias | |
| nested_attributes - добавлено в 2.3 | Указывает список атрибутов, которые должны быть получены из API. Этот параметр применим только когда fetch_nested равно true. | |
| openstack_volume_type - добавлено в 2.4 | Имя типа OpenStack-тома. Действительно при работе с cinder. | |
| poll_interval - | По умолчанию: 3 | Количество секунд, в течение которого модуль ожидает, прежде чем отправить другой запрос опроса состояния сущности. |
| profile - | Имя профиля диска, которое должно быть прикреплено к диску. По умолчанию профиль выбирается движком oVirt/RHV. | |
| quota_id - добавлено в 2.5 | Идентификатор квоты диска, который нужно использовать для диска. По умолчанию квота выбирается движком oVirt/RHV. | |
| shareable - |
True, если диск должен быть доступен для совместного использования. По умолчанию при создании диска он недоступен для совместного использования. | |
| size - | Размер диска. Размер должен быть указан с использованием IEC-единиц. Например, 10GiB, 1024MiB и т. д. Размер можно только увеличить, но не уменьшить. | |
| sparse - добавлено в 2.5 |
True, если диск должен быть разреженным (также известен как thin provision). Если параметр опущен, диски cow будут созданы как разреженные, а raw — как предзарезервированные
Обратите внимание, что этот параметр не идемпотентный, так как в настоящее время невозможно изменить разреженность диска через API. | |
| sparsify - добавлено в 2.4 |
True, если диск должен быть разреженным. Разреживание освобождает пространство в образе диска, которое не используется файловой системой. В результате образ будет занимать меньше места в хранилище. Обратите внимание, что этот параметр не идемпотентный, так как нельзя проверить, должен ли диск быть разреженным или нет. | |
| state - |
| Должен ли виртуальный диск виртуальной машины быть присутствующим/отсутствующим/подключенным/отключенным. |
| storage_domain - | Имя домена хранилища, где должен быть создан диск. По умолчанию хранилище выбирается движком oVirt/RHV. | |
| storage_domains - добавлено в 2.3 | Имена домена хранилища, в который нужно скопировать диск. **IMPORTANT**Нет надежного способа добиться идемпотентности, поэтому каждый раз при указании этого параметра диски копируются, поэтому, пожалуйста, настройте свой playbook таким образом, чтобы не копировать диски постоянно. Это действует только для дисков ВМ и плавающих дисков, шаблонные диски работают как ожидается. |
| timeout - | Default: 180 | Количество времени в секундах, которое модуль должен ждать, пока экземпляр не перейдет в нужное состояние. |
| upload_image_path - added in 2.3 | Путь к изображению на диске, которое должно быть загружено. Обратите внимание, что в настоящее время мы поддерживаем только совместимую версию 0.10 образа диска qcow. Обратите внимание, что у вас должен быть действительный сертификат авторизации oVirt/RHV в хранилище доверия вашей системы или вы должны предоставить его в параметре ca_file. Обратите внимание, что надежного способа достижения идемпотентности нет, поэтому если вы хотите загрузить диск даже если диск с id или name уже существует, используйте force true. Если вы будете использовать force false, что является значением по умолчанию, то образ диска не будет загружен. | |
| vm_id - | Идентификатор виртуальной машины для управления. Требуется либо vm_id, либо vm_name, если state имеет значение attached или detached. | |
| vm_name - | Имя виртуальной машины для управления. Требуется либо vm_id, либо vm_name, если state имеет значение attached или detached. | |
| wait boolean |
|
True, если модуль должен дождаться, пока сущность перейдет в нужное состояние. |
Примечания
Примечание
- Для использования этого модуля необходимо установить oVirt Python SDK. Чтобы убедиться, что он установлен с правильной версией, вы можете создать следующую задачу: pip: name=ovirt-engine-sdk-python version=4.2.4
Примеры
# 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'] }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| 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 были переданы, и виртуальная машина найдена. | Словарь всех атрибутов подключения диска. Атрибуты подключения диска можно найти на вашем экземпляре oVirt/RHV по следующему URL: http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk_attachment. |
| id строка | При успехе, если диск найден. | Идентификатор управляемого диска Пример: 7de90f31-222c-436c-a1ca-7e655bd5b60c |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.7/modules/ovirt_disk_module.html