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.
  • cow - Если установлено, диск будет создан как разреженный, поэтому пространство будет выделено по мере необходимости. Этот формат также известен как диски с тонким выделением.
  • raw - Если установлено, пространство на диске будет выделено сразу. Этот формат также известен как предвариантные диски.
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

О проекте

Role to create template from external image.

Установить
ansible-galaxy install oVirt/ovirt-ansible-image-template
Лицензия
apache-2.0
Загрузки
42109
Владелец
Open Virtual Datacenter