image-template
oVirt Шаблон Изображения
Эта роль была мигрирована в oVirt Ansible Collection, пожалуйста, используйте последнюю версию оттуда. Этот репозиторий теперь только для чтения и больше не используется для активной разработки.
Роль ovirt.image-template
создает шаблон из внешнего изображения. В настоящее время диск может быть изображением в провайдере Glance или изображением QCOW2.
Примечание
Пожалуйста, обратите внимание, что при установке этой роли из Ansible Galaxy вам нужно выполнить следующую команду:
$ ansible-galaxy install ovirt.image-template
Это загрузит роль в директорию с тем же именем, что вы указали в командной строке, в данном случае ovirt.image-template
. Имейте в виду, что имена чувствительны к регистру, поэтому, если вы укажете, например, OVIRT.image-template
, она загрузит ту же роль, но добавит ее в директорию с именем OVIRT.image-template
, так что вам затем всегда придется использовать эту роль с заглавным префиксом. Будьте осторожны, как вы указываете название роли в командной строке.
Для установки RPM мы устанавливаем три устаревших названия oVirt.image-template
, ovirt.image-template
и ovirt-image-template
. Так что вы можете использовать любое из этих имен. Эта документация и примеры в этом репозитории используют название ovirt.image-template
. Названия роли oVirt.image-template
и ovirt-image-template
устарели.
Требования
- Версия Ansible 2.9 или выше.
- Версия Python SDK 4.3 или выше.
- oVirt должна быть 4.1 или выше, и ovirt-imageio должен быть установлен и запущен.
- CA сертификат oVirt engine. Путь к сертификату CA должен быть указан в переменной
ovirt_ca
. - файл
Ограничения
- Мы не поддерживаем режим проверки Ansible (Dry Run), потому что эта роль использует несколько модулей (command module), которые его не поддерживают. Как только все модули, используемые этой ролью, начнут поддерживать это, мы будем поддерживать это.
Переменные Роли
Название | Значение по умолчанию | |
---|---|---|
qcow_url | UNDEF (обязательно, если не используется glance) | URL QCOW2 изображения. Можно указать локальный файл с префиксом 'file://'. |
qcow_url_client_cert | UNDEF | Путь к клиентскому сертификату, если он нужен для получения QCOW с аутентифицированного сайта. |
qcow_url_client_key | UNDEF | Путь к клиентскому ключу, если он нужен для получения QCOW с аутентифицированного сайта. |
image_path | /tmp/ | Путь, по которому будет загружено изображение QCOW2. Если указана директория, будет использовано базовое имя URL на удаленном сервере. |
image_checksum | UNDEF | Если определена контрольная сумма, будет рассчитан дайджест целевого файла после его загрузки для обеспечения целостности и проверки успешности передачи. Формат: <алгоритм>:<контрольная_сумма>, например, checksum="sha256:D98291AC[...]B6DC7B97". |
image_cache_download | true | Если установлено в false, удалит image_path в начале и конце выполнения. |
template_cluster | Default | Имя кластера, в котором должен быть создан шаблон. |
template_io_threads | UNDEF | Число потоков ввода-вывода, используемых шаблоном. 0 означает, что потоки ввода-вывода отключены. (Добавлено в ansible 2.7) |
template_name | mytemplate | Имя шаблона. |
template_memory | 2GiB | Объем памяти, выделенной шаблону. |
template_memory_guaranteed | UNDEF | Минимально гарантированный объем памяти для виртуальной машины. |
template_memory_max | UNDEF | Верхний предел объема памяти виртуальной машины, до которого можно выполнять подключение горячей памяти. |
template_cpu | 1 | Число процессоров, выделенных шаблону. |
template_disk_storage | UNDEF | Имя домена хранения данных, где должен быть создан диск. Если не указано, домен хранения данных выбирается автоматически. |
template_disks | [] | Список словарей, указывающих дополнительные диски шаблона. Смотрите ниже для более подробного описания. |
template_disk_size | 10GiB | Размер диска шаблона. |
template_disk_name | UNDEF | Имя диска шаблона. |
template_disk_format | UNDEF | Формат диска шаблона. |
template_disk_interface | virtio | Интерфейс диска шаблона. (Варианты: virtio, ide, virtio_scsi) |
template_seal | true | 'Запечатывание' стирает все конфигурации, специфичные для машины, из файловой системы. Не поддерживается на Windows. Установите это в 'false' для Windows. |
template_timeout | 600 | Время ожидания для создания/импорта шаблона. |
template_type | UNDEF | Тип шаблона: десктоп, сервер или высокопроизводительный (только для шаблонов на основе qcow2) |
template_nics | {name: nic1, profile_name: ovirtmgmt, interface: virtio} | Список словарей, определяющих сетевые интерфейсы шаблона. |
template_operating_system | UNDEF | Операционная система шаблона, например: other, rhel_7x64, debian_7, см. другие в модуле ovirt_template. |
glance_image_provider | UNDEF (обязательно, если не используется qcow_url) | Имя провайдера изображений glance. |
glance_image | UNDEF (обязательно, если не используется qcow_url) | Этот параметр указывает имя диска в провайдере glance, который будет импортирован как шаблон. |
template_prerequisites_tasks | UNDEF | Работает только с qcow изображением. Укажите путь к файлу задач Ansible, который должен быть выполнен на виртуальной машине перед созданием шаблона из него. Обратите внимание, что qcow изображение должно содержать агент гостя, который сообщает IP-адрес. |
Список template_disks
может содержать следующие атрибуты:
Название | Значение по умолчанию | |
---|---|---|
name | UNDEF (обязательный) | Имя дополнительного диска. |
size | UNDEF (обязательный) | Размер дополнительного диска. |
storage_domain | UNDEF | Имя домена хранения, где должен быть создан диск. Если значение не указано, устанавливается значение template_disk_storage. |
interface | UNDEF | Интерфейс диска. Если значение не указано, устанавливается значение template_disk_interface. |
format | UNDEF | Укажите формат диска. Если значение не указано, устанавливается значение template_disk_format.
|
bootable | UNDEF | True, если диск должен быть загрузочным. |
Зависимости
Нет.
Пример плейбука
---
- name: Создать шаблон из qcow
hosts: localhost
connection: local
gather_facts: false
vars:
engine_fqdn: ovirt-engine.example.com
engine_user: admin@internal
engine_password: 123456
engine_cafile: /etc/pki/ovirt-engine/ca.pem
qcow_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2
#qcow_url: file:///tmp/CentOS-7-x86_64-GenericCloud.qcow2
template_cluster: production
template_name: centos7_template
template_memory: 4GiB
template_cpu: 2
template_disk_size: 10GiB
template_disk_storage: mydata
roles:
- ovirt.image-template
- name: Создать шаблон из диска, хранящегося в glance
hosts: localhost
connection: local
gather_facts: false
vars:
engine_fqdn: ovirt-engine.example.com
engine_user: admin@internal
engine_password: 123456
engine_cafile: /etc/pki/ovirt-engine/ca.pem
glance_image_provider: qe-infra-glance
glance_image: rhel7.4_ovirt4.2_guest_disk
template_cluster: production
template_name: centos7_template
template_memory: 4GiB
template_cpu: 2
template_disk_size: 10GiB
template_disk_storage: mydata
roles:
- ovirt-image-template
- name: Создать шаблон из qcow2.xz
hosts: localhost
connection: local
gather_facts: false
pre_tasks:
- name: Загрузить файл qcow2.xz
get_url:
url: "https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2.xz"
dest: /tmp
register: downloaded_file
- name: Извлечь загруженное изображение QCOW
command: "unxz --keep --force {{ downloaded_file.dest }}"
- name: Установить qcow_url на извлеченный файл
set_fact:
qcow_url: "file://{{ (downloaded_file.dest | splitext)[0] }}"
vars:
engine_fqdn: ovirt-engine.example.com
engine_user: admin@internal
engine_password: 123456
engine_cafile: /etc/pki/ovirt-engine/ca.pem
template_cluster: production
template_name: centos7_template
template_memory: 4GiB
template_cpu: 2
template_disk_size: 10GiB
template_disk_storage: mydata
roles:
- ovirt.image-template
Лицензия
Apache License 2.0
ansible-galaxy install oVirt/ovirt-ansible-image-template