Spec-Zone.ru › Ansible

Модуль community.libvirt.virt_cloud_instance — создание новых виртуальных машин из облачных образов с помощью libvirt

Примечание

Этот модуль входит в коллекцию community.libvirt (версия 2.2.0).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.libvirt. Для использования этого модуля необходимы дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.libvirt.virt_cloud_instance.

Новое в community.libvirt 2.1.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создание и настройка виртуальных машин с использованием готовых облачных образов с поддержкой cloud-init.
  • Облачные образы можно получать из локальных файлов и по удалённым URL-адресам.
  • Поддерживается автоматическое преобразование образов дисков и изменение их размера.

Требования

На узле, выполняющем этот модуль, необходимы следующие компоненты.

  • привязки Python для libvirt
  • lxml
  • python >= 2.6
  • qemu-img
  • virt-install

Параметры

Параметр

Комментарии

arch

string

Запросить для гостевой виртуальной машины архитектуру ЦП, отличную от нативной.

Если параметр не указан, в гостевой системе будет использоваться архитектура ЦП хоста.

audio

dictionary

Настроить вывод звука на хосте для звукового оборудования гостевой системы.

Словарь содержит пары ключ/значение, определяющие свойства отдельных аудиобэкендов.

Для указания основного значения, которое отображается в командной строке перед другими свойствами, можно использовать специальный атрибут value.

audio_devices

list / элементы=dictionary

Настроить несколько аудиобэкендов для гостевой системы.

autostart

boolean

Установить флаг автоматического запуска домена.

Варианты:

  • false
  • true

base_image

string / обязательный

Путь к образу облачной системы или URL-адрес образа.

Это может быть путь к локальному файлу или удалённый URL-адрес (http, https, ftp).

Если указан URL-адрес, образ будет загружен автоматически.

blkiotune

dictionary

Настроить политику блочного ввода-вывода для процесса домена.

devices

list / элементы=dictionary

Настроить веса отдельных блочных устройств хоста, используемых гостевой системой.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

weight

integer

Общий вес ввода-вывода гостевой системы.

Значение должно находиться в диапазоне [100, 1000]. После версии ядра 2.6.39 значение может находиться в диапазоне [10, 1000].

boot

string

Установить приоритет загрузочного устройства для настройки после установки.

boot_opts

dictionary

Дополнительные параметры конфигурации загрузки.

Словарь содержит пары ключ/значение, определяющие отдельные параметры загрузки.

channel

dictionary

Подключить устройство канала связи для соединения гостевой системы с хостом.

Словарь содержит пары ключ/значение, определяющие свойства отдельных каналов.

Для указания основного значения, которое отображается в командной строке перед другими свойствами, можно использовать специальный атрибут value.

channel_devices

list / элементы=dictionary

Настроить несколько устройств каналов связи для гостевой системы.

clock

dictionary

Настроить часы гостевой системы.

offset

string

Установить смещение часов, например utc или localtime.

timers

list / элементы=dictionary

Настроить параметры таймеров гостевой системы для конкретного гипервизора.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

cloud_init

dictionary

Передать метаданные cloud-init виртуальной машине.

Создаётся ISO-файл cloud-init NoCloud и подключается к виртуальной машине как устройство CDROM.

clouduser_ssh_key

string

Указать файл открытого ключа для передачи в гостевую систему, чтобы предоставить SSH-доступ к учётной записи пользователя cloud-init по умолчанию.

disable

boolean

Отключить cloud-init в виртуальной машине для последующих загрузок.

Без этого cloud-init может сбрасывать параметры аутентификации при каждой загрузке.

Варианты:

  • false
  • true

meta_data

any

Указать содержимое файла метаданных cloud-init.

Его можно передать в виде строки YAML (например, с помощью оператора «|» в Ansible) или структуры словаря.

Примечание: предпочтительнее использовать строковые значения, поскольку словарь не гарантирует сохранение порядка.

network_config

any

Указать содержимое файла конфигурации сети cloud-init.

Его можно передать в виде строки YAML (например, с помощью оператора «|» в Ansible) или структуры словаря.

Примечание: предпочтительнее использовать строковые значения, поскольку словарь не гарантирует сохранение порядка.

root_password_file

string

Файл, из которого будет задан пароль root виртуальной машины.

root_password_generate

boolean

Создать новый пароль root для виртуальной машины.

Варианты:

  • false
  • true

root_ssh_key

string

Указать файл открытого ключа для передачи в гостевую систему.

user_data

any

Указать содержимое файла пользовательских данных cloud-init.

Его можно передать в виде строки YAML (например, с помощью оператора «|» в Ansible) или структуры словаря.

Примечание: предпочтительнее использовать строковые значения, поскольку словарь не гарантирует сохранение порядка.

cloud_init_auto_reboot

boolean

Если wait_for_cloud_init_reboot=true, автоматически добавить команду перезагрузки в пользовательские данные cloud-init.

Если задано значение false, команду перезагрузки необходимо вручную добавить в пользовательские данные cloud-init.

Применяется только при условии wait_for_cloud_init_reboot=true.

Варианты:

  • false
  • true ← (по умолчанию)

cloud_init_reboot_timeout

integer

Максимальное время в секундах ожидания завершения цикла перезагрузки cloud-init.

Проверка времени ожидания выполняется с интервалом в одну минуту, поэтому фактическое время ожидания может превышать заданное значение максимум на 60 секунд.

Применяется только при условии wait_for_cloud_init_reboot=true.

Если время ожидания истечёт, задача завершится с ошибкой.

По умолчанию: 600

console

dictionary

Подключить текстовую консоль между гостевой системой и хостом.

Словарь содержит пары ключ/значение, определяющие свойства отдельных консолей.

К распространённым свойствам для разных типов консолей относятся type и target.

Для указания основного значения, которое отображается в командной строке перед другими свойствами, можно использовать специальный атрибут value.

console_devices

list / элементы=dictionary

Настроить несколько консольных устройств для гостевой системы.

controller

dictionary

Подключить контроллер к гостевой системе.

Словарь содержит пары ключ/значение, определяющие свойства отдельных контроллеров.

Например, type=usb,model=none отключает USB, а type=scsi,model=virtio-scsi задаёт VirtIO SCSI.

Для указания основного значения, которое отображается в командной строке перед другими свойствами, можно использовать специальный атрибут value.

controller_devices

list / элементы=dictionary

Настроить несколько контроллеров для гостевой системы.

cpu

dictionary

Настроить модель ЦП и функции ЦП, доступные гостевой системе.

cache

dictionary

Настройка кэша виртуального ЦП гостевой системы.

level

integer

Указать уровень кэша ЦП.

mode

string

Если задано значение emulate, гипервизор предоставит фиктивные данные о кэше ЦП.

Если задано значение passthrough, данные о кэше ЦП хоста, сообщаемые его ЦП, будут переданы виртуальному ЦП.

Если задано значение disable, виртуальный ЦП не будет сообщать о наличии кэша ЦП.

Варианты:

  • "emulate"
  • "passthrough"
  • "disable"

features

dictionary

Точно настроить функции выбранной модели ЦП.

Значение должно быть словарём, в котором каждый ключ — имя функции, а значение — словарь параметров этой функции.

Пустой объект {} для функции означает, что её нужно включить.

policy

string

Политика для функции ЦП.

Если задано значение force, виртуальный ЦП будет заявлять о поддержке функции независимо от того, поддерживается ли она ЦП хоста.

Если задано значение require, создание гостевой системы завершится ошибкой, если функция не поддерживается ЦП хоста и гипервизор не может её эмулировать.

Если задано значение optional, виртуальный ЦП будет поддерживать функцию только в том случае, если она поддерживается ЦП хоста.

Если задано значение disable, виртуальный ЦП не будет поддерживать функцию.

Если задано значение forbid, создание гостевой системы завершится ошибкой, если функция поддерживается ЦП хоста.

Варианты:

  • "force"
  • "require"
  • "optional"
  • "disable"
  • "forbid"

match

string

Указать строгость соответствия модели ЦП.

Варианты:

  • "exact"
  • "minimum"
  • "strict"

migratable

boolean

Указать, допускает ли эта модель ЦП миграцию.

Варианты:

  • false
  • true

model

string

Допустимая модель ЦП или режим конфигурации для гостевой системы.

Возможные значения: host-model, host-passthrough и maximum.

model_opts

dictionary

Дополнительные параметры настройки модели ЦП.

fallback

string

Указать, следует ли автоматически переключаться на ближайшую модель, поддерживаемую гипервизором, если невозможно использовать точную модель ЦП.

Варианты:

  • "forbid"
  • "allow"

vendor_id

string

Задать идентификатор производителя, который видит гостевая система. Он должен состоять ровно из 12 символов.

Типичные возможные значения: AuthenticAMD и GenuineIntel.

numa

dictionary

Настроить топологию NUMA гостевой системы.

cell_specs

list / элементы=dictionary

Указать конфигурацию ячейки NUMA.

cache_specs

list / элементы=dictionary

Описать кэш памяти для доменов близости памяти.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

cpus

string

Указать ЦП или диапазон ЦП, относящихся к этому узлу.

discard

boolean

Точно настроить функцию отбрасывания для указанного узла NUMA.

Варианты:

  • false
  • true

distances

dictionary

Задать расстояния между ячейками NUMA.

sibling_specs

list / элементы=dictionary

Указать значение расстояния между соседними ячейками NUMA.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

id

integer

Указать идентификатор узла NUMA.

mem_access

string

Указать режим доступа к памяти для узла NUMA.

Этот параметр допустим только для памяти на основе hugepages и модулей nvdimm.

Варианты:

  • "shared"
  • "private"

memory

integer

Указать размер памяти узла с суффиксом единицы измерения.

interconnects

list / элементы=dictionary

Описывает нормализованные задержку и пропускную способность чтения и записи памяти между доменами близости инициатора и доменами близости цели.

bandwidth_specs

list / элементы=dictionary

Описать пропускную способность между двумя узлами памяти.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

latency_specs

list / элементы=dictionary

Описать задержку между двумя узлами памяти.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

vendor

string

Укажите производителя ЦП, запрашиваемого гостевой системой

Список поддерживаемых производителей можно найти в cpu_map/*_vendors.xml.

cputune

dictionary

Настройте параметры ЦП для гостевой системы.

emulator_period

integer

Укажите интервал применения ограничений (единица измерения: микросекунды) для потоков эмулятора домена.

emulator_quota

integer

Укажите максимально допустимую пропускную способность (единица измерения: микросекунды) для потоков эмулятора домена.

emulatorpin

dictionary

Укажите, к каким ЦП узла будет привязан эмулятор домена.

cpuset

string

Укажите, к каким физическим ЦП выполнить привязку.

emulatorsched

dictionary

Укажите тип планировщика для потока эмулятора.

priority

integer

Для планировщиков реального времени (fifo, rr) также необходимо указать приоритет (для планировщиков, не работающих в режиме реального времени, он игнорируется).

Диапазон значений приоритета зависит от ядра узла (обычно 1–99).

scheduler

string

Тип планировщика.

Допустимые значения:

  • "batch"
  • "idle"
  • "fifo"
  • "rr"

global_period

integer

Укажите интервал применения ограничений планировщика CFS (единица измерения: микросекунды) для всего домена.

global_quota

integer

Укажите максимально допустимую пропускную способность (единица измерения: микросекунды) в течение периода для всего домена.

iothread_period

integer

Укажите интервал применения ограничений (единица измерения: микросекунды) для IOThreads домена.

iothread_quota

integer

Укажите максимально допустимую пропускную способность (единица измерения: микросекунды) для IOThreads домена.

iothreadpin_specs

list / elements=dictionary

Укажите, к каким физическим ЦП узла будут привязаны IOThreads.

cpuset

string

Укажите, к каким физическим ЦП выполнить привязку.

iothread

integer

Укажите идентификатор IOThread.

iothreadsched_specs

list / elements=dictionary

Укажите тип планировщика для определённых IOThreads.

iothreads

string

Выберите IOThreads, к которым применяется этот параметр.

priority

integer

Для планировщиков реального времени (fifo, rr) также необходимо указать приоритет (для планировщиков, не работающих в режиме реального времени, он игнорируется).

Диапазон значений приоритета зависит от ядра узла (обычно 1–99).

scheduler

string

Тип планировщика.

Допустимые значения:

  • "batch"
  • "idle"
  • "fifo"
  • "rr"

period

integer

Укажите интервал применения ограничений (единица измерения: микросекунды).

Значение должно находиться в диапазоне [1000, 1000000]. Значение периода 0 означает отсутствие значения.

quota

integer

Укажите максимально допустимую пропускную способность (единица измерения: микросекунды).

Любое отрицательное значение квоты домена означает, что пропускная способность потоков vCPU домена не ограничена.

shares

integer

Укажите пропорциональную весовую долю домена.

vcpupin_specs

list / elements=dictionary

Укажите, к каким физическим ЦП узла будет привязан vCPU домена

cpuset

string

Список номеров физических ЦП, разделённых запятыми.

vcpu

integer

Укажите идентификатор vCPU.

vcpusched_specs

list / elements=dictionary

Укажите тип планировщика для определённых vCPU.

priority

integer

Для планировщиков реального времени (fifo, rr) также необходимо указать приоритет (для планировщиков, не работающих в режиме реального времени, он игнорируется).

Диапазон значений приоритета зависит от ядра узла (обычно 1–99).

scheduler

string

Тип планировщика.

Допустимые значения:

  • "batch"
  • "idle"
  • "fifo"
  • "rr"

vcpus

string

Выберите vCPU, к которым применяется этот параметр.

disks

list / elements=dictionary

Укажите устройства хранения для гостевой системы.

address

dictionary

Укажите свойства контроллера, к которому следует подключить диск.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

backing_format

string

Формат образа диска для backing_store.

backing_store

string

Путь к диску, который будет использоваться в качестве базового хранилища для вновь созданного образа.

blockio

dictionary

Переопределите свойства блочного устройства диска по умолчанию.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

boot

dictionary

Укажите порядок загрузки для дискового устройства.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

Параметры загрузки для отдельных устройств нельзя использовать вместе с общими параметрами загрузки в разделе загрузчика ОС.

bus

string

Тип шины диска (например, ide, sata, scsi, usb, virtio, xen)

cache

string

Используемый режим кэширования.

Допустимые значения:

  • "none"
  • "writethrough"
  • "directsync"
  • "unsafe"
  • "writeback"

driver

dictionary

Укажите параметры драйвера диска гипервизора.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

format

string

Формат образа диска. Для файловых томов это может быть raw, qcow2, vmdk и т. д.

geometry

dictionary

Переопределите настройки геометрии диска.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

iotune

dictionary

Укажите дополнительные параметры настройки ввода-вывода для отдельного устройства.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

path

string

Путь к носителю данных (существующему или нет), который будет использоваться.

pool

string

Имя существующего пула хранения libvirt, в котором будет создано новое хранилище.

rawio

boolean

Укажите, требуется ли диску возможность rawio.

Допустимые значения:

  • false
  • true

readonly

boolean

Установите для диска режим только для чтения

Допустимые значения:

  • false
  • true

serial

string

Серийный номер эмулируемого дискового устройства.

sgio

string

Укажите, фильтруются ли для диска непривилегированные команды SG_IO.

Доступно только для устройства типа «lun».

Допустимые значения:

  • "filtered"
  • "unfiltered"

shareable

boolean

Установите для диска режим совместного использования

Допустимые значения:

  • false
  • true

size

integer

Размер (в ГиБ), используемый при создании нового хранилища.

snapshot

string

Определяет поведение диска по умолчанию при создании снимков диска.

Допустимые значения:

  • "internal"
  • "external"
  • "no"

source

dictionary

Укажите параметры источника диска.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

sparse

boolean

Следует ли пропустить полное выделение пространства для созданного хранилища.

Допустимые значения:

  • false
  • true

target

dictionary

Укажите параметры целевого дискового устройства.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

transient

boolean

Если true, это означает, что изменения содержимого устройства будут автоматически отменены после завершения работы гостевой системы.

Допустимые значения:

  • false
  • true

transient_opts

dictionary

Дополнительные параметры конфигурации временного диска.

share_backing

boolean

Если true, временный диск предназначен для совместного использования несколькими одновременно работающими виртуальными машинами.

Допустимые значения:

  • false
  • true

vol

string

Существующий том хранилища libvirt, который будет использоваться.

events

dictionary

Укажите значения событий для гостевой системы.

on_crash

string

Действие при аварийном завершении работы гостевой системы.

Допустимые значения:

  • "destroy"
  • "restart"
  • "preserve"
  • "rename-restart"
  • "coredump-destroy"
  • "coredump-restart"

on_lockfailure

string

Действие при потере менеджером блокировок блокировок ресурсов.

Допустимые значения:

  • "poweroff"
  • "restart"
  • "pause"
  • "ignore"

on_poweroff

string

Действие, выполняемое при запросе гостевой системой выключения.

Варианты:

  • "destroy"
  • "restart"
  • "preserve"
  • "rename-restart"

on_reboot

string

Действие, выполняемое при запросе гостевой системой перезагрузки.

Варианты:

  • "destroy"
  • "restart"
  • "preserve"
  • "rename-restart"

features

dictionary

Включение или отключение определённых функций машины.

Значение должно быть словарём, в котором каждый ключ — это имя функции, а значение — словарь параметров этой функции.

Пустой объект {} для функции указывает, что её нужно включить с параметрами по умолчанию.

Пример: hyperv.spinlocks: {state: off}, pvspinlock: {}

filesystems

list / elements=dictionary

Указывает каталоги на хосте, которые нужно экспортировать в гостевую систему.

accessmode

string

Указывает режим безопасности для доступа к источнику.

Варианты:

  • "passthrough"
  • "mapped"
  • "squash"

address

dictionary

Указывает свойства контроллера, к которому следует подключить файловую систему.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

binary

dictionary

Настройка параметров virtiofsd.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

dmode

string

Режим создания каталогов при использовании значения mapped для accessmode.

driver

dictionary

Указывает сведения о драйвере гипервизора.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

fmode

string

Режим создания файлов при использовании значения mapped для accessmode.

multidevs

string

Указывает, как обрабатывать экспорт файловой системы, содержащий несколько устройств.

Варианты:

  • "default"
  • "remap"
  • "forbid"
  • "warn"

readonly

boolean

Включает экспорт файловой системы в гостевую систему как точки монтирования только для чтения.

Варианты:

  • false
  • true

source

dictionary

Конфигурация исходного каталога на хосте.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

space_hard_limit

integer

Максимальный объём пространства, доступный файловой системе этой гостевой системы

space_soft_limit

integer

Максимальный объём пространства, доступный файловой системе этой гостевой системы.

target

dictionary

Конфигурация точки монтирования в гостевой системе.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

type

string

Указывает тип источника файловой системы.

Варианты:

  • "mount"
  • "template"
  • "file"
  • "block"
  • "ram"
  • "bind"

force_disk

boolean

Принудительно удаляет и повторно создаёт существующие файлы дисков.

Если задано значение true, все существующие файлы дисков, указанные в disks, будут удалены и созданы заново.

Если задано значение false, модуль завершится с ошибкой, если файл диска уже существует.

Этот параметр влияет только на создание файлов дисков, но не на определение виртуальной машины.

Используйте вместе с recreate=true, чтобы пересоздать виртуальную машину и её файлы дисков.

Варианты:

  • false ← (по умолчанию)
  • true

force_pull

boolean

Принудительно загружает облачный образ, даже если он уже есть в кэше.

Используется только, если base_image — URL.

Полезно для обновления кэшированных образов до последних версий.

Варианты:

  • false ← (по умолчанию)
  • true

graphics

dictionary

Настройка графического дисплея виртуальной машины гостевой системы.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства.

К распространённым свойствам относятся type (например, vnc, spice) и listen.

graphics_devices

list / elements=dictionary

Настройка нескольких графических устройств для гостевой системы.

host_devices

list / elements=dictionary

Настройка нескольких устройств хоста для гостевой системы.

hostdev

dictionary

Подключает физическое устройство хоста к гостевой системе.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства устройства хоста.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

hvm

boolean

Запрашивает использование полной виртуализации.

Варианты:

  • false
  • true

image_cache_dir

path

Каталог для кэширования загруженных облачных образов.

Используется только, если base_image — URL.

Если каталог не указан, базовый образ будет загружен во временный каталог и не будет кэшироваться.

image_checksum

string

Если параметр указан, будет вычислена контрольная сумма загруженного образа для проверки его целостности.

Формат: <algorithm>:<checksum|url>, например, sha256:D98291AC[…]B6DC7B97, sha256:http://example.com/path/sha256sum.txt.

Используется только, если base_image — URL.

Если важна переносимость, учитывайте, что алгоритм sha1 доступен на всех платформах и во всех версиях Python.

input

dictionary

Подключает устройство ввода к гостевой системе.

К типам устройств ввода относятся мышь, планшет и клавиатура.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства устройства ввода.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

input_devices

list / elements=dictionary

Настройка нескольких устройств ввода для гостевой системы.

iommu

dictionary

Добавляет устройство IOMMU в гостевую систему.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства IOMMU.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

iommu_devices

list / elements=dictionary

Настройка нескольких устройств IOMMU для гостевой системы.

iothreads

integer

Количество потоков ввода-вывода, настраиваемых для гостевой системы.

iothreads_opts

dictionary

Дополнительные параметры настройки потоков ввода-вывода.

defaultiothread

dictionary

Предоставляет возможность определить цикл обработки событий по умолчанию в гипервизоре.

thread_pool_max

integer

Задаёт верхний предел количества рабочих потоков для указанного IOThread.

thread_pool_min

integer

Задаёт нижний предел количества рабочих потоков для указанного IOThread.

iothread_specs

list / elements=dictionary

Предоставляет возможность явно задавать идентификаторы IOThread для домена.

id

integer

Задаёт идентификатор IOThread.

thread_pool_max

integer

Задаёт верхний предел количества рабочих потоков для указанного IOThread.

thread_pool_min

integer

Задаёт нижний предел количества рабочих потоков для указанного IOThread.

keywrap

dictionary

Настройка параметров keywrap домена, используемых для операций управления криптографическими ключами S390.

ciphers

list / elements=dictionary

Указывает параметры шифров для домена.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

launch_security

dictionary

Включает защиту при запуске гостевой системы.

cbitpos

integer

Расположение бита C (также называемого битом шифрования) в записи таблицы страниц гостевой системы.

dh_cert

string

Ключ Диффи — Хеллмана (DH) владельца гостевой системы в кодировке base64.

policy

string

Политика гостевой системы, которая должна поддерживаться микропрограммой SEV, например 0x01.

reduced_phys_bits

integer

Сокращение количества битов физического адреса, например 1.

session

string

Двоичный блок сеанса владельца гостевой системы в кодировке base64, определённый в спецификации API SEV.

type

string / обязательный

Тип защиты при запуске, которую нужно включить, например sev.

machine

string

Тип эмулируемой машины. Обычно для Xen или KVM указывать его не требуется.

memballoon

dictionary

Подключает к гостевой системе виртуальное устройство баллона памяти.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства баллона памяти.

К распространённым свойствам относится model (например, virtio, xen).

Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами.

memballoon_devices

list / elements=dictionary

Настройка нескольких устройств баллона памяти для гостевой системы.

memory

integer

Объём памяти для гостевой системы в МиБ.

memory_opts

dictionary

Дополнительные параметры выделения памяти.

current_memory

integer

Фактически выделенный объём памяти для гостевой системы в МиБ.

max_memory

integer

Максимальный объём памяти, выделяемый гостевой системе во время работы, в МиБ.

max_memory_opts

dictionary

Дополнительные параметры настройки максимального объёма памяти.

slots

integer

Количество слотов, доступных для добавления памяти в гостевую систему.

memorybacking

dictionary

Указывает, как виртуальные страницы памяти размещаются на страницах хоста

access

dictionary

Настройка разрешений доступа к памяти.

mode

string

Режим доступа к памяти.

Варианты:

  • "shared"
  • "private"

allocation

dictionary

Настройка поведения выделения памяти.

mode

string

Укажите, когда выделять память, задав immediate или ondemand.

Варианты:

  • "immediate"
  • "ondemand"

threads

integer

Количество потоков, используемых гипервизором для выделения памяти.

discard

boolean

Если задано значение true, содержимое памяти удаляется непосредственно перед завершением работы гостевой системы (или при отключении модуля DIMM).

Варианты:

  • false
  • true

hugepage_specs

list / elements=dictionary

Настройка параметров больших страниц для резервирования памяти.

nodeset

string

Укажите узлы NUMA гостевой системы для страниц заданного размера.

page_size

integer

Укажите размер большой страницы с суффиксом единицы измерения.

hugepages

boolean

Использовать большие страницы для резервирования памяти.

Варианты:

  • false
  • true

locked

boolean

Страницы памяти будут заблокированы в памяти хоста и не будут выгружаться в файл подкачки.

Варианты:

  • false
  • true

nosharepages

boolean

Указывает гипервизору отключить общие страницы (объединение памяти, KSM) для этого домена.

Варианты:

  • false
  • true

source

dictionary

добавлено в community.libvirt 2.1.0

Настройка источника резервирования памяти.

type

string

Тип источника резервирования памяти.

Варианты:

  • "anonymous"
  • "file"
  • "memfd"

memtune

dictionary

Настройка политики управления памятью для процесса домена.

Словарь содержит пары ключ/значение, определяющие отдельные параметры memtune.

metadata

dictionary

Укажите метаданные гостевой виртуальной машины.

Словарь содержит пары ключ/значение, определяющие отдельные записи метаданных.

например, {uuid: 4dea22b3-1d52-d8f3-2516-782e98ab3fa0}

Используйте virt-install --metadata=?, чтобы просмотреть список всех доступных вложенных параметров.

name

string / обязательный

Имя нового экземпляра гостевой виртуальной машины.

networks

list / elements=dictionary

Подключить гостевую систему к сети хоста.

Пустой список [] означает отсутствие сетевого интерфейса по умолчанию.

address

dictionary

Укажите свойства контроллера, к которому должна быть подключена файловая система.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

boot

dictionary

Укажите порядок загрузки для сетевого интерфейса.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

Параметры загрузки для отдельных устройств нельзя использовать вместе с общими параметрами загрузки в разделе загрузчика ОС.

bridge

string

Имя мостового устройства хоста для подключения.

driver

dictionary

Укажите параметры драйвера гипервизора.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

filterref

dictionary

Настройка правил фильтрации сетевого трафика для гостевой системы.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

hostdev

string

Имя устройства хоста для подключения при type=hostdev.

Для прямого назначения сетевого устройства используется сквозное подключение PCI.

mac

dictionary

Настройка MAC-адреса сетевого интерфейса.

address

string

Фиксированный MAC-адрес интерфейса гостевой системы.

Если адрес не указан, будет случайным образом сгенерирован подходящий адрес.

model

dictionary

Настройка модели сетевого устройства.

type

string

Модель сетевого устройства, видимая гостевой системе.

Примеры: virtio, e1000, rtl8139.

mtu

dictionary

Настройка MTU виртуального сетевого соединения. Словарь содержит пары ключ/значение, определяющие отдельные свойства.

network

string

Имя виртуальной сети libvirt для подключения.

rom

dictionary

Укажите конфигурацию ПЗУ BIOS интерфейса.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

source

dictionary

Укажите параметры непосредственно подключенного интерфейса macvtap.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

Можно использовать специальный атрибут value, чтобы задать основное значение, которое указывается в командной строке перед остальными свойствами.

Пример: source={value: bond0, mode: bridge}

state

dictionary

Задайте состояние виртуального сетевого соединения.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

target

dictionary

Укажите параметры целевого сетевого устройства.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

trust_guest_rx_filters

boolean

Если задано значение true, хосту разрешается доверять гостевой виртуальной машине и принимать сообщаемые ею изменения MAC-адреса и фильтров приёма.

Варианты:

  • false
  • true

type

string

Тип сетевого интерфейса.

direct обеспечивает прямое подключение к сетевому интерфейсу хоста с помощью macvtap.

Если параметр не указан, тип сетевого интерфейса определяется на основе других параметров.

Варианты:

  • "direct"

virtualport

dictionary

Настройка параметров виртуального порта сетевого интерфейса.

Словарь содержит пары ключ/значение, определяющие отдельные свойства.

К распространённым свойствам относятся type (например, 802.1Qbg, 802.1Qbh, openvswitch, midonet) и parameters, содержащий параметры для конкретного типа.

numatune

dictionary

Настройка политики NUMA для процесса домена.

memnode_specs

list / elements=dictionary

Укажите политики выделения памяти для каждого узла NUMA гостевой системы.

cellid

integer

Укажите идентификатор узла NUMA.

mode

string

Может иметь значение interleave, preferred или strict (по умолчанию).

Варианты:

  • "interleave"
  • "preferred"
  • "strict"

nodeset

string

Указывает узлы NUMA, из которых выделяется память.

memory

dictionary

Указывает, как выделять память для процесса домена на хосте NUMA.

mode

string

Может иметь значение interleave, preferred или strict (по умолчанию).

Варианты:

  • "interleave"
  • "preferred"
  • "strict"

nodeset

string

Указывает узлы NUMA, из которых выделяется память.

placement

string

Указывает режим размещения памяти для процесса домена.

Варианты:

  • "static"
  • "auto"

osinfo

dictionary

Оптимизация конфигурации гостевой системы для конкретной операционной системы.

detect

boolean

Следует ли virt-install пытаться определить ОС по указанному установочному носителю.

Варианты:

  • false
  • true

id

string

Идентификатор libosinfo в формате полного URL.

name

псевдонимы: short_id

string

Имя ОС из libosinfo (например, fedora32, win10).

require

boolean

Следует ли virt-install завершить работу с ошибкой, если не удастся определить ОС.

Варианты:

  • false
  • true

panic

dictionary

Подключение к гостевой системе устройства уведомления о панике.

Словарь содержит пары ключ/значение, определяющие отдельные свойства устройства паники.

Можно использовать специальный атрибут value, чтобы задать основное значение, которое указывается в командной строке перед остальными свойствами.

panic_devices

list / elements=dictionary

Настройка нескольких устройств паники для гостевой системы.

parallel

dictionary

Подключение к гостевой системе параллельного устройства.

Словарь содержит пары ключ/значение, определяющие отдельные свойства параллельного устройства.

Можно использовать специальный атрибут value, чтобы задать основное значение, которое указывается в командной строке перед остальными свойствами.

parallel_devices

list / elements=dictionary

Настройка нескольких параллельных устройств для гостевой системы.

paravirt

boolean

Эта гостевая система должна быть паравиртуализированной.

Варианты:

  • false
  • true

pm

dictionary

Настройка управления питанием гостевой системы.

suspend_to_disk

dictionary

Настройка поддержки BIOS для состояний сна ACPI S4 (приостановка с сохранением на диск).

enabled

boolean

Включить или отключить это состояние сна.

Варианты:

  • false
  • true

suspend_to_mem

dictionary

Настройка поддержки BIOS для состояний сна ACPI S3 (приостановка с сохранением в память).

enabled

boolean

Включить или отключить это состояние сна.

Варианты:

  • false
  • true

qemu_commandline

string

Передать параметры непосредственно эмулятору qemu. Работает только с драйвером qemu в libvirt.

recreate

boolean

Используйте вместе со значением present, чтобы принудительно пересоздать существующую виртуальную машину.

Варианты:

  • false ← (по умолчанию)
  • true

redirdev

dictionary

Добавить перенаправляемое устройство для перенаправления USB или других устройств.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства перенаправления.

К распространённым свойствам относятся bus=usb, type=tcp или type=spicevmc.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

redirected_devices

list / elements=dictionary

Настроить несколько перенаправляемых устройств для гостевой системы.

resource

dictionary

Указать разделение ресурсов для гостевой системы.

Словарь содержит пары «ключ/значение», определяющие отдельные записи ресурсов.

Используйте virt-install --resource=?, чтобы просмотреть список всех доступных вложенных параметров.

rng

dictionary

Настроить виртуальное устройство генератора случайных чисел (RNG).

Словарь содержит пары «ключ/значение», определяющие отдельные свойства RNG.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

rng_devices

list / elements=dictionary

Настроить несколько устройств RNG для гостевой системы.

security

dictionary

Настроить параметры домена seclabel.

Словарь содержит пары «ключ/значение», определяющие отдельные записи безопасности.

serial

dictionary

Подключить к гостевой системе последовательное устройство с различными параметрами перенаправления.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства последовательного устройства.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

serial_devices

list / elements=dictionary

Настроить несколько последовательных устройств для гостевой системы.

shmem

dictionary

Подключить к гостевой системе устройство с общей памятью.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства общей памяти.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

shmem_devices

list / elements=dictionary

Настроить несколько устройств с общей памятью для гостевой системы.

smartcard

dictionary

Настроить виртуальное устройство смарт-карты.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства смарт-карты.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

smartcard_devices

list / elements=dictionary

Настроить несколько устройств смарт-карт для гостевой системы.

sound

dictionary

Подключить к гостевой системе виртуальное аудиоустройство.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства звукового устройства.

К распространённым свойствам относится model (например, ich6, ich9, ac97).

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

sound_devices

list / elements=dictionary

Настроить несколько звуковых устройств для гостевой системы.

state

string

Если задано значение present, создать виртуальную машину, если она не существует.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

sysinfo

dictionary

Настроить значения sysinfo/SMBIOS, предоставляемые ОС виртуальной машины.

Словарь содержит пары «ключ/значение», определяющие отдельные записи sysinfo.

Используйте virt-install --sysinfo=?, чтобы просмотреть список всех доступных вложенных параметров.

tpm

dictionary

Настроить виртуальное устройство TPM (доверенный платформенный модуль).

Словарь содержит пары «ключ/значение», определяющие отдельные свойства TPM.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

tpm_devices

list / elements=dictionary

Настроить несколько устройств TPM для гостевой системы.

uri

string

URI подключения к Libvirt.

По умолчанию: "qemu:///system"

url_password

string

Пароль для базовой HTTP-аутентификации.

Используется только, если base_image является URL.

url_timeout

integer

Время ожидания в секундах при загрузке базового образа с URL.

Используется только, если base_image является URL.

По умолчанию: 60

url_username

string

Имя пользователя для базовой HTTP-аутентификации.

Используется только, если base_image является URL.

vcpus

integer

Количество виртуальных ЦП, настраиваемых для гостевой системы.

vcpus_opts

dictionary

Дополнительные параметры конфигурации виртуальных ЦП.

clusters

integer

Количество кластеров на кристалл

cores

integer

Количество ядер в кластере

cpuset

string

Разделённый запятыми список номеров физических ЦП, к которым по умолчанию можно привязать процесс домена и виртуальные ЦП.

current

integer

Указать, следует ли включить меньшее, чем максимальное, количество виртуальных ЦП.

dies

integer

Количество кристаллов на сокет

maxvcpus

integer

Если указано, во время работы гостевой системы можно будет подключить дополнительные виртуальные ЦП — до значения MAX.

placement

string

Указать режим размещения ЦП для процесса домена

Варианты:

  • "static"
  • "auto"

sockets

integer

Общее количество сокетов ЦП

threads

integer

Количество потоков на ядро

vcpu_specs

list / elements=dictionary

Настроить отдельные свойства виртуальных ЦП.

Каждая запись словаря содержит имя свойства и соответствующее ему значение.

video

dictionary

Указать модель видеоадаптера, который будет подключён к гостевой системе.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства видеоадаптера.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

video_devices

list / elements=dictionary

Настроить несколько видеоадаптеров для гостевой системы.

virt_type

string

Гипервизор, используемый для создания гостевой виртуальной машины. Например: kvm, qemu или xen.

vsock

dictionary

Настроить интерфейс vsock между хостом и гостевой системой.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства vsock.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

vsock_devices

list / elements=dictionary

Настроить несколько устройств vsock для гостевой системы.

wait_for_cloud_init_reboot

boolean

Если задано значение true, дождаться перезагрузки, инициированной cloud-init, и возвращения виртуальной машины в сеть.

Для этого в пользовательских данных cloud-init должно быть указано действие перезагрузки или задано значение cloud_init_auto_reboot=true.

Применимо только при наличии конфигурации cloud_init.

Варианты:

  • false
  • true ← (по умолчанию)

watchdog

dictionary

Подключить к гостевой системе виртуальное аппаратное устройство watchdog.

Словарь содержит пары «ключ/значение», определяющие отдельные свойства watchdog.

Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами.

watchdog_devices

list / elements=dictionary

Настроить несколько устройств watchdog для гостевой системы.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: full

Поддерживает режим проверки.

Примечания

Примечание

  • Команда virt-install предоставляется разными пакетами в разных дистрибутивах.
  • В Debian/Ubuntu установите пакет virtinst.
  • В RHEL/CentOS/Fedora и openSUSE установите пакет virt-install.
  • При использовании wait_for_cloud_init_reboot=true убедитесь, что пользовательские данные cloud-init содержат необходимые команды перезагрузки, или задайте cloud_init_auto_reboot=true.
  • Если параметр cloud_init_auto_reboot включён, он автоматически добавляет power_state.mode=reboot в конец пользовательских данных.
  • Модуль ожидает завершения всего процесса cloud-init, включая все перезагрузки, указанные в пользовательских данных.
  • Используйте cloud_init_reboot_timeout, чтобы задать максимальное время ожидания для сложных конфигураций cloud-init.

См. также

См. также

community.libvirt.virt_install

Более универсальный модуль установки виртуальных машин.

Справочная страница virt-install

Справочная страница инструмента virt-install в Ubuntu.

Примеры

# Basic example: Create a VM from a local cloud image
- name: Create Ubuntu VM from local cloud image
  community.libvirt.virt_cloud_instance:
    name: ubuntu-vm-01
    base_image: /srv/images/ubuntu-22.04-server-cloudimg-amd64.img
    disks:
      - path: /var/lib/libvirt/images/ubuntu-vm-01.qcow2
        size: 20
        format: qcow2
    memory: 2048
    vcpus: 2
    networks:
      - network: default

# Download cloud image from URL with checksum validation
- name: Create VM from remote Ubuntu cloud image
  community.libvirt.virt_cloud_instance:
    name: ubuntu-vm-02
    base_image: https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img
    image_cache_dir: /srv/cloud-images
    image_checksum: sha256:https://cloud-images.ubuntu.com/releases/22.04/release/SHA256SUMS
    disks:
      - path: /var/lib/libvirt/images/ubuntu-vm-02.qcow2
        size: 30
        format: qcow2
    memory: 4096
    vcpus: 4
    networks:
      - network: default

# Advanced example with cloud-init configuration
- name: Create VM with cloud-init user data
  community.libvirt.virt_cloud_instance:
    name: web-server-01
    base_image: /srv/images/ubuntu-22.04-server-cloudimg-amd64.img
    disks:
      - path: /var/lib/libvirt/images/web-server-01.qcow2
        size: 50
        format: qcow2
    memory: 8192
    vcpus: 4
    networks:
      - network: default
        mac: 52:54:00:12:34:56
    cloud_init:
      user_data: |
        #cloud-config
        users:
          - name: ansible
            groups: sudo
            shell: /bin/bash
            sudo: 'ALL=(ALL) NOPASSWD:ALL'
            ssh_authorized_keys:
              - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB... user@host
        packages:
          - nginx
          - htop
          - vim
        runcmd:
          - systemctl enable nginx
          - systemctl start nginx
      meta_data:
        instance-id: web-server-01
        local-hostname: web-server-01

# Force overwrite existing disk files
- name: Create VM and force overwrite existing disk
  community.libvirt.virt_cloud_instance:
    name: test-vm
    base_image: /srv/images/ubuntu-22.04-server-cloudimg-amd64.img
    force_disk: true
    disks:
      - path: /var/lib/libvirt/images/test-vm.qcow2
        size: 20
        format: qcow2
    memory: 2048
    vcpus: 2
    networks:
      - network: default

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

base_image_path

string

Путь к файлу базового облачного образа.

Это локальный путь, по которому был загружен образ (если был указан URL), или исходный локальный путь.

Возвращается: при успешном выполнении

Пример: "/srv/cloud-images/ubuntu-20.04-server-cloudimg-amd64.img"

commands

list / elements=string

добавлено в community.libvirt 2.2.0

Список команд, выполненных этим модулем во время подготовки виртуальной машины.

Включает команды qemu-img для подготовки диска и команду virt-install для создания виртуальной машины.

Заполняется только при создании или пересоздании виртуальной машины (state=present, если виртуальная машина ещё не существовала, или recreate=true).

В режиме проверки команда virt-install содержит флаг --dry-run.

Возвращается: при создании или пересоздании виртуальной машины

Пример: ["qemu-img resize /var/lib/libvirt/images/test.qcow2 20G", "virt-install --name test-vm --memory 2048 --vcpus 2 --import --disk path=/var/lib/libvirt/images/test.qcow2"]

Авторы

  • Joey Zhang (@thinkdoggie)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/libvirt/virt_cloud_instance_module.html

Spec-Zone.ru

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