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 I (true). | |
| fetch_nested (добавлен в 2.3) | Если True, модуль получит дополнительные данные из API. Он получит идентификаторы дисков ВМ, снимков и т.д. Пользователь может настроить загрузку других атрибутов вложенных сущностей, указав nested_attributes. | |
| force (добавлен в 2.3) | Пожалуйста, обратитесь к документации image_path, чтобы узнать правильное использование этого параметра. | |
| format |
| Укажите формат диска. Обратите внимание, что этот параметр не идемпотентен, так как в настоящее время изменить формат диска через API нельзя. |
| 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) | Имя типа открытого стека тома. Действительно при работе с cinder. | |
| poll_interval | По умолчанию: 3 | Количество секунд, которое модуль ожидает, прежде чем отправлять новый запрос о статусе сущности. |
| profile | Имя профиля диска, которое должно быть привязано к диску. По умолчанию профиль выбирается движком oVirt/RHV. | |
| quota_id (добавлен в 2.5) | Идентификатор квоты диска, который должен быть использован для диска. По умолчанию квота выбирается движком oVirt/RHV. | |
| shareable |
True, если диск должен быть доступным для совместного использования. По умолчанию при создании диск не является доступным для совместного использования. | |
| size | Размер диска. Размер должен быть указан с использованием IEC-единиц измерения. Например, 10GiB, 1024MiB и т.д. Размер может быть только увеличен, а не уменьшен. | |
| sparse (добавлен в 2.5) |
True, если диск должен быть разреженным (также известен как тонкое предоставление). Если параметр опущен, диски cow будут создаваться как разреженные, а raw-диски как предопределенные. Обратите внимание, что этот параметр не идемпотентен, так как в настоящее время изменить разреженность диска через API нельзя. | |
| sparsify (добавлен в 2.4) |
True, если диск должен быть разрежен. Разрежение освобождает место в образе диска, которое не используется файловой системой. В результате образ будет занимать меньше места на хранилище. Обратите внимание, что этот параметр не идемпотентен, так как нельзя проверить, должен ли диск быть разреженным или нет. | |
| state |
| Виртуальный диск машины должен быть присутствующим/отсутствующим/подключенным/отключенным. |
| storage_domain | Имя домена хранения, где должен быть создан диск. По умолчанию хранилище выбирается движком oVirt/RHV. | |
| storage_domains (добавлен в 2.3) | Имена доменов хранения, куда должен быть скопирован диск. **IMPORTANT**Нет надежного способа обеспечить идемпотентность, поэтому каждый раз, когда вы указываете этот параметр, диски копируются. Поэтому настройте свои playbook-файлы так, чтобы диски не копировались каждый раз. Это действует только для ВМ и плавающих дисков, шаблоны дисков работают как ожидается. | |
| timeout | По умолчанию: 180 | Время в секундах, которое модуль должен ждать, пока экземпляр не перейдет в требуемое состояние. |
| upload_image_path (добавлен в 2.3) | Путь к образу диска, который должен быть загружен. Обратите внимание, что в настоящее время поддерживается только совместимая версия 0.10 qcow-дисков. Обратите внимание, что у вас должен быть действительный сертификат CA 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 |
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
# 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 dict | При успехе, если диск найден и vm_id или vm_name не передавались. | Словарь всех атрибутов диска. Атрибуты диска можно найти на вашем экземпляре oVirt/RHV по следующему URL: http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk. |
| disk_attachment dict | При успехе, если диск найден и vm_id или vm_name были переданы и была найдена ВМ. | Словарь всех атрибутов подключения диска. Атрибуты подключения диска можно найти на вашем экземпляре oVirt/RHV по следующему URL: http://ovirt.github.io/ovirt-engine-api-model/master/#types/disk_attachment. |
| id str | При успехе, если диск найден. | Идентификатор управляемого диска Пример: 7de90f31-222c-436c-a1ca-7e655bd5b60c |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом 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.6/modules/ovirt_disk_module.html