Spec-Zone.ru › Ansible 2.9

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

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

Описание

  • Модуль управления виртуальными машинами и плавающими дисками в 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
строка
Строка, содержащая 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
    Варианты:
  • 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
-
Путь на файловой системе, куда должен быть загружен диск.
Обратите внимание, что вам нужен действительный сертификат CA oVirt/RHV на вашем сервере или нужно предоставить его в параметре ca_file.
Обратите внимание, что диск не загружается, если файл уже существует, но вы можете принудительно загрузить диск, используя параметр force, равный true.
fetch_nested
boolean
    Варианты:
  • no
  • yes
Если True, модуль извлечёт дополнительные данные из API.
Он извлечёт ID дисков, снимков и т. д. для виртуальных машин. Пользователь может настроить извлечение других атрибутов вложенных сущностей, указав nested_attributes.
force
boolean
    Варианты:
  • no
  • yes
Обратите внимание на документацию image_path, чтобы узнать правильное использование этого параметра.
format
-
    Варианты:
  • raw
  • cow ←
Укажите формат диска.
Обратите внимание, что этот параметр не идемпотентен, так как в настоящее время нет возможности изменить формат диска через API.
host
-
добавлен в 2.8
При указании имени гипервизора вновь созданный или существующий диск обновит информацию об основного хранилище (размер диска, серийный номер, идентификатор продукта, идентификатор производителя...). Указанный хост будет использован для сбора информации, относящейся к хранилищу. Этот параметр действителен только для дисков passthrough. Для использования этого параметра необходимо указать хотя бы logical_unit.id.
id
-
ID диска для управления. Требуется либо id, либо name.
image_provider
-
добавлен в 2.4
При значении state равном exported, диск экспортируется в указанный провайдер изображений Glance.
**IMPORTANT**
Нет надежного способа обеспечить идемпотентность, поэтому каждый раз при указании этого параметра диск экспортируется. Учтите это при написании ваших playbooks, чтобы не экспортировать диск постоянно. Этот параметр действителен только для шаблонов дисков.
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
Указывает список атрибутов, которые должны быть извлечены из 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
    Варианты:
  • no
  • yes
True, если диск должен быть доступен для совместного использования. По умолчанию диск при создании не доступен для совместного использования.
size
-
Размер диска. Размер должен быть указан с использованием единиц IEC. Например, 10GiB, 1024MiB и т. д.
Размер можно только увеличить, но не уменьшить.
sparse
boolean
добавлен в 2.5
    Варианты:
  • no
  • yes
True, если диск должен быть разреженным (также известен как тонкое выделение). Если параметр опущен, диски cow будут созданы как разреженные, а жёсткие диски как предварительно выделенные
Обратите внимание, что этот параметр не идемпотентный, так как в настоящее время невозможно изменить разреженность диска через API.
sparsify
boolean
добавлен в 2.4
    Варианты:
  • no
  • yes
True, если диск должен быть разрежен.
Разреживание освобождает место в изображении диска, которое не используется файловой системой. В результате изображение займёт меньше места на хранилище.
Обратите внимание, что этот параметр не идемпотентный, так как невозможно проверить, должен ли диск быть разреженным или нет.
state
-
    Варианты:
  • present ←
  • absent
  • attached
  • detached
  • exported
Диск виртуальной машины должен быть 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
    Варианты:
  • no
  • yes ←
yes если модуль должен подождать, пока сущность перейдёт в нужное состояние.
wipe_after_delete
boolean
    Варианты:
  • no
  • yes
Если для диска включена опция 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

Spec-Zone.ru

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