Модуль 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 | Установить флаг автоматического запуска домена. Варианты:
|
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 |
Установить смещение часов, например |
|
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 может сбрасывать параметры аутентификации при каждой загрузке. Варианты:
|
|
meta_data any |
Указать содержимое файла метаданных cloud-init. Его можно передать в виде строки YAML (например, с помощью оператора «|» в Ansible) или структуры словаря. Примечание: предпочтительнее использовать строковые значения, поскольку словарь не гарантирует сохранение порядка. |
|
network_config any |
Указать содержимое файла конфигурации сети cloud-init. Его можно передать в виде строки YAML (например, с помощью оператора «|» в Ansible) или структуры словаря. Примечание: предпочтительнее использовать строковые значения, поскольку словарь не гарантирует сохранение порядка. |
|
root_password_file string |
Файл, из которого будет задан пароль root виртуальной машины. |
|
root_password_generate boolean |
Создать новый пароль root для виртуальной машины. Варианты:
|
|
root_ssh_key string |
Указать файл открытого ключа для передачи в гостевую систему. |
|
user_data any |
Указать содержимое файла пользовательских данных cloud-init. Его можно передать в виде строки YAML (например, с помощью оператора «|» в Ansible) или структуры словаря. Примечание: предпочтительнее использовать строковые значения, поскольку словарь не гарантирует сохранение порядка. |
cloud_init_auto_reboot boolean | Если wait_for_cloud_init_reboot=true, автоматически добавить команду перезагрузки в пользовательские данные cloud-init. Если задано значение Применяется только при условии wait_for_cloud_init_reboot=true. Варианты:
|
cloud_init_reboot_timeout integer | Максимальное время в секундах ожидания завершения цикла перезагрузки cloud-init. Проверка времени ожидания выполняется с интервалом в одну минуту, поэтому фактическое время ожидания может превышать заданное значение максимум на 60 секунд. Применяется только при условии wait_for_cloud_init_reboot=true. Если время ожидания истечёт, задача завершится с ошибкой. По умолчанию: |
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 |
Если задано значение Если задано значение Если задано значение Варианты:
|
|
features dictionary |
Точно настроить функции выбранной модели ЦП. Значение должно быть словарём, в котором каждый ключ — имя функции, а значение — словарь параметров этой функции. Пустой объект |
|
policy string |
Политика для функции ЦП. Если задано значение Если задано значение Если задано значение Если задано значение Если задано значение Варианты:
|
|
match string |
Указать строгость соответствия модели ЦП. Варианты:
|
|
migratable boolean |
Указать, допускает ли эта модель ЦП миграцию. Варианты:
|
|
model string |
Допустимая модель ЦП или режим конфигурации для гостевой системы. Возможные значения: |
|
model_opts dictionary |
Дополнительные параметры настройки модели ЦП. |
|
fallback string |
Указать, следует ли автоматически переключаться на ближайшую модель, поддерживаемую гипервизором, если невозможно использовать точную модель ЦП. Варианты:
|
|
vendor_id string |
Задать идентификатор производителя, который видит гостевая система. Он должен состоять ровно из 12 символов. Типичные возможные значения: AuthenticAMD и GenuineIntel. |
|
numa dictionary |
Настроить топологию NUMA гостевой системы. |
|
cell_specs list / элементы=dictionary |
Указать конфигурацию ячейки NUMA. |
|
cache_specs list / элементы=dictionary |
Описать кэш памяти для доменов близости памяти. Каждая запись словаря содержит имя свойства и соответствующее ему значение. |
|
cpus string |
Указать ЦП или диапазон ЦП, относящихся к этому узлу. |
|
discard boolean |
Точно настроить функцию отбрасывания для указанного узла NUMA. Варианты:
|
|
distances dictionary |
Задать расстояния между ячейками NUMA. |
|
sibling_specs list / элементы=dictionary |
Указать значение расстояния между соседними ячейками NUMA. Каждая запись словаря содержит имя свойства и соответствующее ему значение. |
|
id integer |
Указать идентификатор узла NUMA. |
|
mem_access string |
Указать режим доступа к памяти для узла NUMA. Этот параметр допустим только для памяти на основе hugepages и модулей nvdimm. Варианты:
|
|
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 |
Тип планировщика. Допустимые значения:
|
|
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 |
Тип планировщика. Допустимые значения:
|
|
period integer |
Укажите интервал применения ограничений (единица измерения: микросекунды). Значение должно находиться в диапазоне [1000, 1000000]. Значение периода 0 означает отсутствие значения. |
|
quota integer |
Укажите максимально допустимую пропускную способность (единица измерения: микросекунды). Любое отрицательное значение квоты домена означает, что пропускная способность потоков vCPU домена не ограничена. |
|
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 |
Тип планировщика. Допустимые значения:
|
|
vcpus string |
Выберите vCPU, к которым применяется этот параметр. |
disks list / elements=dictionary | Укажите устройства хранения для гостевой системы. |
|
address dictionary |
Укажите свойства контроллера, к которому следует подключить диск. Словарь содержит пары ключ/значение, определяющие отдельные свойства. |
|
backing_format string |
Формат образа диска для backing_store. |
|
backing_store string |
Путь к диску, который будет использоваться в качестве базового хранилища для вновь созданного образа. |
|
blockio dictionary |
Переопределите свойства блочного устройства диска по умолчанию. Словарь содержит пары ключ/значение, определяющие отдельные свойства. |
|
boot dictionary |
Укажите порядок загрузки для дискового устройства. Словарь содержит пары ключ/значение, определяющие отдельные свойства. Параметры загрузки для отдельных устройств нельзя использовать вместе с общими параметрами загрузки в разделе загрузчика ОС. |
|
bus string |
Тип шины диска (например, |
|
cache string |
Используемый режим кэширования. Допустимые значения:
|
|
driver dictionary |
Укажите параметры драйвера диска гипервизора. Словарь содержит пары ключ/значение, определяющие отдельные свойства. |
|
format string |
Формат образа диска. Для файловых томов это может быть |
|
geometry dictionary |
Переопределите настройки геометрии диска. Словарь содержит пары ключ/значение, определяющие отдельные свойства. |
|
iotune dictionary |
Укажите дополнительные параметры настройки ввода-вывода для отдельного устройства. Словарь содержит пары ключ/значение, определяющие отдельные свойства. |
|
path string |
Путь к носителю данных (существующему или нет), который будет использоваться. |
|
pool string |
Имя существующего пула хранения libvirt, в котором будет создано новое хранилище. |
|
rawio boolean |
Укажите, требуется ли диску возможность rawio. Допустимые значения:
|
|
readonly boolean |
Установите для диска режим только для чтения Допустимые значения:
|
|
serial string |
Серийный номер эмулируемого дискового устройства. |
|
sgio string |
Укажите, фильтруются ли для диска непривилегированные команды SG_IO. Доступно только для устройства типа «lun». Допустимые значения:
|
|
boolean |
Установите для диска режим совместного использования Допустимые значения:
|
|
size integer |
Размер (в ГиБ), используемый при создании нового хранилища. |
|
snapshot string |
Определяет поведение диска по умолчанию при создании снимков диска. Допустимые значения:
|
|
source dictionary |
Укажите параметры источника диска. Словарь содержит пары ключ/значение, определяющие отдельные свойства. |
|
sparse boolean |
Следует ли пропустить полное выделение пространства для созданного хранилища. Допустимые значения:
|
|
target dictionary |
Укажите параметры целевого дискового устройства. Словарь содержит пары ключ/значение, определяющие отдельные свойства. |
|
transient boolean |
Если Допустимые значения:
|
|
transient_opts dictionary |
Дополнительные параметры конфигурации временного диска. |
|
boolean |
Если Допустимые значения:
|
|
vol string |
Существующий том хранилища libvirt, который будет использоваться. |
events dictionary | Укажите значения событий для гостевой системы. |
|
on_crash string |
Действие при аварийном завершении работы гостевой системы. Допустимые значения:
|
|
on_lockfailure string |
Действие при потере менеджером блокировок блокировок ресурсов. Допустимые значения:
|
|
on_poweroff string |
Действие, выполняемое при запросе гостевой системой выключения. Варианты:
|
|
on_reboot string |
Действие, выполняемое при запросе гостевой системой перезагрузки. Варианты:
|
features dictionary | Включение или отключение определённых функций машины. Значение должно быть словарём, в котором каждый ключ — это имя функции, а значение — словарь параметров этой функции. Пустой объект Пример: |
filesystems list / elements=dictionary | Указывает каталоги на хосте, которые нужно экспортировать в гостевую систему. |
|
accessmode string |
Указывает режим безопасности для доступа к источнику. Варианты:
|
|
address dictionary |
Указывает свойства контроллера, к которому следует подключить файловую систему. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
binary dictionary |
Настройка параметров virtiofsd. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
dmode string |
Режим создания каталогов при использовании значения |
|
driver dictionary |
Указывает сведения о драйвере гипервизора. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
fmode string |
Режим создания файлов при использовании значения |
|
multidevs string |
Указывает, как обрабатывать экспорт файловой системы, содержащий несколько устройств. Варианты:
|
|
readonly boolean |
Включает экспорт файловой системы в гостевую систему как точки монтирования только для чтения. Варианты:
|
|
source dictionary |
Конфигурация исходного каталога на хосте. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
space_hard_limit integer |
Максимальный объём пространства, доступный файловой системе этой гостевой системы |
|
space_soft_limit integer |
Максимальный объём пространства, доступный файловой системе этой гостевой системы. |
|
target dictionary |
Конфигурация точки монтирования в гостевой системе. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. |
|
type string |
Указывает тип источника файловой системы. Варианты:
|
force_disk boolean | Принудительно удаляет и повторно создаёт существующие файлы дисков. Если задано значение Если задано значение Этот параметр влияет только на создание файлов дисков, но не на определение виртуальной машины. Используйте вместе с Варианты:
|
force_pull boolean | Принудительно загружает облачный образ, даже если он уже есть в кэше. Используется только, если Полезно для обновления кэшированных образов до последних версий. Варианты:
|
graphics dictionary | Настройка графического дисплея виртуальной машины гостевой системы. Словарь содержит пары «ключ/значение», определяющие отдельные свойства. К распространённым свойствам относятся type (например, |
graphics_devices list / elements=dictionary | Настройка нескольких графических устройств для гостевой системы. |
host_devices list / elements=dictionary | Настройка нескольких устройств хоста для гостевой системы. |
hostdev dictionary | Подключает физическое устройство хоста к гостевой системе. Словарь содержит пары «ключ/значение», определяющие отдельные свойства устройства хоста. Можно использовать специальный атрибут value, чтобы указать основное значение, которое будет отображаться в командной строке перед другими свойствами. |
hvm boolean | Запрашивает использование полной виртуализации. Варианты:
|
image_cache_dir path | Каталог для кэширования загруженных облачных образов. Используется только, если Если каталог не указан, базовый образ будет загружен во временный каталог и не будет кэшироваться. |
image_checksum string | Если параметр указан, будет вычислена контрольная сумма загруженного образа для проверки его целостности. Формат: <algorithm>:<checksum|url>, например, sha256:D98291AC[…]B6DC7B97, sha256:http://example.com/path/sha256sum.txt. Используется только, если Если важна переносимость, учитывайте, что алгоритм 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, например |
|
reduced_phys_bits integer |
Сокращение количества битов физического адреса, например |
|
session string |
Двоичный блок сеанса владельца гостевой системы в кодировке base64, определённый в спецификации API SEV. |
|
type string / обязательный |
Тип защиты при запуске, которую нужно включить, например |
machine string | Тип эмулируемой машины. Обычно для Xen или KVM указывать его не требуется. |
memballoon dictionary | Подключает к гостевой системе виртуальное устройство баллона памяти. Словарь содержит пары «ключ/значение», определяющие отдельные свойства баллона памяти. К распространённым свойствам относится model (например, Можно использовать специальный атрибут 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 |
Режим доступа к памяти. Варианты:
|
|
allocation dictionary |
Настройка поведения выделения памяти. |
|
mode string |
Укажите, когда выделять память, задав Варианты:
|
|
threads integer |
Количество потоков, используемых гипервизором для выделения памяти. |
|
discard boolean |
Если задано значение Варианты:
|
|
hugepage_specs list / elements=dictionary |
Настройка параметров больших страниц для резервирования памяти. |
|
nodeset string |
Укажите узлы NUMA гостевой системы для страниц заданного размера. |
|
page_size integer |
Укажите размер большой страницы с суффиксом единицы измерения. |
|
hugepages boolean |
Использовать большие страницы для резервирования памяти. Варианты:
|
|
locked boolean |
Страницы памяти будут заблокированы в памяти хоста и не будут выгружаться в файл подкачки. Варианты:
|
|
boolean |
Указывает гипервизору отключить общие страницы (объединение памяти, KSM) для этого домена. Варианты:
|
|
source dictionary добавлено в community.libvirt 2.1.0 |
Настройка источника резервирования памяти. |
|
type string |
Тип источника резервирования памяти. Варианты:
|
memtune dictionary | Настройка политики управления памятью для процесса домена. Словарь содержит пары ключ/значение, определяющие отдельные параметры memtune. |
metadata dictionary | Укажите метаданные гостевой виртуальной машины. Словарь содержит пары ключ/значение, определяющие отдельные записи метаданных. например, Используйте |
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 |
Модель сетевого устройства, видимая гостевой системе. Примеры: |
|
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 |
Если задано значение Варианты:
|
|
type string |
Тип сетевого интерфейса.
Если параметр не указан, тип сетевого интерфейса определяется на основе других параметров. Варианты:
|
|
virtualport dictionary |
Настройка параметров виртуального порта сетевого интерфейса. Словарь содержит пары ключ/значение, определяющие отдельные свойства. К распространённым свойствам относятся type (например, |
numatune dictionary | Настройка политики NUMA для процесса домена. |
|
memnode_specs list / elements=dictionary |
Укажите политики выделения памяти для каждого узла NUMA гостевой системы. |
|
cellid integer |
Укажите идентификатор узла NUMA. |
|
mode string |
Может иметь значение Варианты:
|
|
nodeset string |
Указывает узлы NUMA, из которых выделяется память. |
|
memory dictionary |
Указывает, как выделять память для процесса домена на хосте NUMA. |
|
mode string |
Может иметь значение Варианты:
|
|
nodeset string |
Указывает узлы NUMA, из которых выделяется память. |
|
placement string |
Указывает режим размещения памяти для процесса домена. Варианты:
|
osinfo dictionary | Оптимизация конфигурации гостевой системы для конкретной операционной системы. |
|
detect boolean |
Следует ли Варианты:
|
|
id string |
Идентификатор libosinfo в формате полного URL. |
|
name псевдонимы: short_id string |
Имя ОС из libosinfo (например, |
|
require boolean |
Следует ли Варианты:
|
panic dictionary | Подключение к гостевой системе устройства уведомления о панике. Словарь содержит пары ключ/значение, определяющие отдельные свойства устройства паники. Можно использовать специальный атрибут value, чтобы задать основное значение, которое указывается в командной строке перед остальными свойствами. |
panic_devices list / elements=dictionary | Настройка нескольких устройств паники для гостевой системы. |
parallel dictionary | Подключение к гостевой системе параллельного устройства. Словарь содержит пары ключ/значение, определяющие отдельные свойства параллельного устройства. Можно использовать специальный атрибут value, чтобы задать основное значение, которое указывается в командной строке перед остальными свойствами. |
parallel_devices list / elements=dictionary | Настройка нескольких параллельных устройств для гостевой системы. |
paravirt boolean | Эта гостевая система должна быть паравиртуализированной. Варианты:
|
pm dictionary | Настройка управления питанием гостевой системы. |
|
suspend_to_disk dictionary |
Настройка поддержки BIOS для состояний сна ACPI S4 (приостановка с сохранением на диск). |
|
enabled boolean |
Включить или отключить это состояние сна. Варианты:
|
|
suspend_to_mem dictionary |
Настройка поддержки BIOS для состояний сна ACPI S3 (приостановка с сохранением в память). |
|
enabled boolean |
Включить или отключить это состояние сна. Варианты:
|
qemu_commandline string | Передать параметры непосредственно эмулятору qemu. Работает только с драйвером qemu в libvirt. |
recreate boolean | Используйте вместе со значением present, чтобы принудительно пересоздать существующую виртуальную машину. Варианты:
|
redirdev dictionary | Добавить перенаправляемое устройство для перенаправления USB или других устройств. Словарь содержит пары «ключ/значение», определяющие отдельные свойства перенаправления. К распространённым свойствам относятся bus=usb, type=tcp или type=spicevmc. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами. |
redirected_devices list / elements=dictionary | Настроить несколько перенаправляемых устройств для гостевой системы. |
resource dictionary | Указать разделение ресурсов для гостевой системы. Словарь содержит пары «ключ/значение», определяющие отдельные записи ресурсов. Используйте |
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 (например, Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами. |
sound_devices list / elements=dictionary | Настроить несколько звуковых устройств для гостевой системы. |
state string | Если задано значение Варианты:
|
sysinfo dictionary | Настроить значения sysinfo/SMBIOS, предоставляемые ОС виртуальной машины. Словарь содержит пары «ключ/значение», определяющие отдельные записи sysinfo. Используйте |
tpm dictionary | Настроить виртуальное устройство TPM (доверенный платформенный модуль). Словарь содержит пары «ключ/значение», определяющие отдельные свойства TPM. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами. |
tpm_devices list / elements=dictionary | Настроить несколько устройств TPM для гостевой системы. |
uri string | URI подключения к Libvirt. По умолчанию: |
url_password string | Пароль для базовой HTTP-аутентификации. Используется только, если |
url_timeout integer | Время ожидания в секундах при загрузке базового образа с URL. Используется только, если По умолчанию: |
url_username string | Имя пользователя для базовой HTTP-аутентификации. Используется только, если |
vcpus integer | Количество виртуальных ЦП, настраиваемых для гостевой системы. |
vcpus_opts dictionary | Дополнительные параметры конфигурации виртуальных ЦП. |
|
clusters integer |
Количество кластеров на кристалл |
|
cores integer |
Количество ядер в кластере |
|
cpuset string |
Разделённый запятыми список номеров физических ЦП, к которым по умолчанию можно привязать процесс домена и виртуальные ЦП. |
|
current integer |
Указать, следует ли включить меньшее, чем максимальное, количество виртуальных ЦП. |
|
dies integer |
Количество кристаллов на сокет |
|
maxvcpus integer |
Если указано, во время работы гостевой системы можно будет подключить дополнительные виртуальные ЦП — до значения MAX. |
|
placement string |
Указать режим размещения ЦП для процесса домена Варианты:
|
|
sockets integer |
Общее количество сокетов ЦП |
|
threads integer |
Количество потоков на ядро |
|
vcpu_specs list / elements=dictionary |
Настроить отдельные свойства виртуальных ЦП. Каждая запись словаря содержит имя свойства и соответствующее ему значение. |
video dictionary | Указать модель видеоадаптера, который будет подключён к гостевой системе. Словарь содержит пары «ключ/значение», определяющие отдельные свойства видеоадаптера. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами. |
video_devices list / elements=dictionary | Настроить несколько видеоадаптеров для гостевой системы. |
virt_type string | Гипервизор, используемый для создания гостевой виртуальной машины. Например: |
vsock dictionary | Настроить интерфейс vsock между хостом и гостевой системой. Словарь содержит пары «ключ/значение», определяющие отдельные свойства vsock. Можно использовать специальный атрибут value, чтобы указать основное значение, которое в командной строке будет расположено перед другими свойствами. |
vsock_devices list / elements=dictionary | Настроить несколько устройств vsock для гостевой системы. |
wait_for_cloud_init_reboot boolean | Если задано значение Для этого в пользовательских данных cloud-init должно быть указано действие перезагрузки или задано значение cloud_init_auto_reboot=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), или исходный локальный путь. Возвращается: при успешном выполнении Пример: |
commands list / elements=string добавлено в community.libvirt 2.2.0 | Список команд, выполненных этим модулем во время подготовки виртуальной машины. Включает команды qemu-img для подготовки диска и команду virt-install для создания виртуальной машины. Заполняется только при создании или пересоздании виртуальной машины ( В режиме проверки команда virt-install содержит флаг Возвращается: при создании или пересоздании виртуальной машины Пример: |
Ссылки на коллекцию
© 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