Spec-Zone.ru › Ansible 2.11

community.general.proxmox_kvm – Управление виртуальными машинами Qemu(KVM) в кластере Proxmox VE.

Примечание

Этот плагин входит в коллекцию community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.proxmox_kvm.

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

Обзор

  • Позволяет создавать/удалять/останавливать виртуальные машины Qemu(KVM) в кластере Proxmox VE.
  • Начиная с версии community.general 4.0.0, значения по умолчанию отсутствуют, см. proxmox_default_behavior.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • proxmoxer
  • requests

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
acpi
boolean
    Варианты:
  • нет
  • да
Указывает, должен ли быть включён/выключен ACPI.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию yes. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
agent
boolean
    Варианты:
  • нет
  • да
Указывает, должен ли быть включён/выключен QEMU Guest Agent.
api_host
строка / обязательно
Указывает целевой хост кластера Proxmox VE.
api_password
строка
Указывает пароль для аутентификации.
Вы можете использовать переменную окружения PROXMOX_PASSWORD.
api_token_id
строка
добавлен в 1.3.0 community.general
Указывает идентификатор токена.
api_token_secret
строка
добавлен в 1.3.0 community.general
Указывает секрет токена.
api_user
строка / обязательно
Указывает пользователя для аутентификации.
args
строка
Передает произвольные аргументы в kvm.
Этот параметр предназначен только для специалистов!
autostart
boolean
    Варианты:
  • нет
  • да
Указывает, должен ли VM автоматически перезапускаться после сбоя (в настоящее время игнорируется в PVE API).
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
balloon
целое число
Указывает объём ОЗУ для VM в МБ.
Использование нуля отключает драйвер balloon.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 0. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
bios
строка
    Варианты:
  • seabios
  • ovmf
Указывает реализацию BIOS.
boot
строка
Указывает порядок загрузки -> загрузка с флоппи-диска a, жёсткого диска c, CD-ROM d, или сети n.
Можно комбинировать для задания порядка.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию cnd. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
bootdisk
строка
Включить загрузку со указанного диска. (ide|sata|scsi|virtio\d+)
cicustom
строка
добавлен в 1.3.0 community.general
cloud-init: Указать пользовательские файлы для замены автоматически сгенерированных файлов при запуске.
cipassword
строка
добавлен в 1.3.0 community.general
cloud-init: пароль для создания пользователя по умолчанию.
citype
строка
добавлен в 1.3.0 community.general
    Варианты:
  • nocloud
  • configdrive2
cloud-init: Указывает формат конфигурации cloud-init.
Значение по умолчанию зависит от типа установленной операционной системы (ostype).
Мы используем формат nocloud для Linux и configdrive2 для Windows.
ciuser
строка
добавлен в 1.3.0 community.general
cloud-init: имя пользователя по умолчанию для создания.
clone
строка
Имя VM, которое должно быть клонировано. Если vmid установлено, clone может принимать произвольное значение, но необходимо для инициирования клонирования.
cores
целое число
Указывает количество ядер на сокет.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 1. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
cpu
строка
Указывает тип эмулируемого процессора.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию kvm64. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
cpulimit
целое число
Указывает, будет ли ограничено использование процессора. Значение 0 указывает отсутствие ограничения по процессору.
Если компьютер имеет 2 процессора, то общее время использования '2' CPU
cpuunits
целое число
Указывает вес процессора для VM.
Вы можете отключить конфигурацию fair-scheduler, установив это значение в 0
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 1000. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
delete
строка
Указывает список настроек, которые нужно удалить.
description
строка
Указывает описание VM. Используется только в веб-интерфейсе конфигурации.
Сохраняется как комментарий в файле конфигурации.
digest
строка
Указывает, следует ли предотвращать изменения, если у текущего файла конфигурации другой SHA1 хеш.
Это можно использовать для предотвращения одновременных изменений.
force
boolean
    Варианты:
  • нет
  • да
Разрешить принудительное завершение работы VM.
Может использоваться со состояниями stopped, restarted и absent.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
format
строка
    Варианты:
  • cloop
  • cow
  • qcow
  • qcow2
  • qed
  • raw
  • vmdk
  • unspecified
Формат данных файла резервного копирования целевого диска.
Используется только с клонированием
Используйте format=unspecified и full=false для связанного клонирования.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию qcow2. Если proxmox_default_behavior установлено в no_defaults, пропуск этого параметра эквивалентен его установке в unspecified. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
freeze
boolean
    Варианты:
  • нет
  • да
Указывает, следует ли PVE замораживать процессор при запуске (используйте команду монитора 'c' для запуска выполнения).
full
boolean
    Варианты:
  • нет
  • да ←
Создать полную копию всех дисков. Это всегда выполняется при клонировании обычной VM.
Для шаблонов VM мы по умолчанию пытаемся создать связанное клонирование.
Используется только с клонированием
hostpci
словарь
Указывает хеш/словарь для отображения устройств PCI хоста в гостевую машину. hostpci='{"key":"value", "key":"value"}'.
Допустимые ключи - hostpci[n] где 0 ≤ n ≤ N.
Допустимые значения - "host="HOSTPCIID[;HOSTPCIID2...]",pcie="1|0",rombar="1|0",x-vga="1|0"".
Параметр host - проброс устройства PCI хоста. Синтаксис HOSTPCIID - bus:dev.func (шестнадцатеричные числа).
pcie=boolean default=0 Выбрать шину PCI-express (требуется модель машины q35).
rombar=boolean default=1 Указать, будет ли ПЗУ устройства отображаться в адресном пространстве памяти гостевой машины.
x-vga=boolean default=0 Включить поддержку устройства vfio-vga.
/!\ Этот параметр позволяет получить прямой доступ к оборудованию хоста. Поэтому такие машины больше нельзя мигрировать - использовать с особой осторожностью.
hotplug
строка
Выборочно включить функции hotplug.
Это список функций hotplug, разделённых запятыми 'network', 'disk', 'cpu', 'memory' and 'usb'.
Значение 0 полностью отключает hotplug, а значение 1 является псевдонимом для значения по умолчанию 'network,disk,usb'.
hugepages
строка
    Варианты:
  • any
  • 2
  • 1024
Включение/выключение памяти hugepages.
ide
словарь
Хеш/словарь томов, используемых в качестве жёсткого диска IDE или CD-ROM. ide='{"key":"value", "key":"value"}'.
Допустимые ключи - ide[n] где 0 ≤ n ≤ 3.
Допустимые значения - "storage:size,format=value".
storage - идентификатор хранилища, где создать диск.
size - размер диска в ГБ.
format - формат данных файла резервной копии диска. qcow2|raw|subvol.
ipconfig
словарь
добавлен в 1.3.0 community.general
cloud-init: Установите конфигурацию IP.
Хэш/словарь сетевых конфигураций IP. ipconfig='{"key":"value", "key":"value"}'.
Разрешенные ключи - ipconfig[n], где 0 ≤ n ≤ сетевых интерфейсов.
Разрешенные значения - "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]".
cloud-init: Укажите IP-адреса и шлюзы для соответствующего интерфейса.
IP-адреса используют нотацию CIDR, шлюзы необязательны, но должны находиться в той же подсети, что и указанный IP-адрес.
Для IP-адресов можно использовать специальную строку 'dhcp', в этом случае явный шлюз не должен быть предоставлен.
Для IPv6 можно использовать специальную строку 'auto' для использования бессостоятельной автоконфигурации.
Если cloud-init включен и не указан ни IPv4, ни IPv6 адрес, по умолчанию используется dhcp для IPv4.
keyboard
строка
Устанавливает раскладку клавиатуры для сервера VNC.
kvm
булево
    Варианты:
  • no
  • yes
Включить/выключить виртуализацию аппаратного обеспечения KVM.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию yes. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
localtime
булево
    Варианты:
  • no
  • yes
Устанавливает реальные часы на местное время.
Включено по умолчанию, если ostype указывает на операционную систему Microsoft.
lock
строка
    Варианты:
  • migrate
  • backup
  • snapshot
  • rollback
Заблокировать/разблокировать ВМ.
machine
строка
Указывает тип машины Qemu.
type => (pc|pc(-i440fx?-\d+\.\d+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?))
memory
целое число
Размер памяти в МБ для экземпляра.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 512. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
migrate_downtime
целое число
Устанавливает максимальную допустимую простоя (в секундах) для миграций.
migrate_speed
целое число
Устанавливает максимальную скорость (в МБ/с) для миграций.
Значение 0 означает отсутствие ограничения.
name
строка
Указывает имя ВМ. Используется только в веб-интерфейсе конфигурации.
Требуется только для state=present.
nameservers
список / элементы=строка
добавлен в 1.3.0 community.general
cloud-init: IP-адреса DNS-сервера(ов).
Если не задано, используются настройки хоста PVE.
net
словарь
Хэш/словарь сетевых интерфейсов для ВМ. net='{"key":"value", "key":"value"}'.
Разрешенные ключи - net[n], где 0 ≤ n ≤ N.
Разрешенные значения - "model="XX:XX:XX:XX:XX:XX",bridge="value",rate="value",tag="value",firewall="1|0",trunks="vlanid"".
Модель - один из e1000 e1000-82540em e1000-82544gc e1000-82545em i82551 i82557b i82559er ne2k_isa ne2k_pci pcnet rtl8139 virtio vmxnet3.
XX:XX:XX:XX:XX:XX должен быть уникальным MAC-адресом. Он автоматически генерируется, если не указан.
Параметр bridge может использоваться для автоматического добавления интерфейса к устройству моста. Стандартный мост Proxmox VE называется 'vmbr0'.
Параметр rate используется для ограничения пропускной способности трафика входящего и исходящего из этого интерфейса. Он задается как число с плавающей точкой, единица измерения - 'Мегабайты в секунду'.
Если вы не указываете мост, мы создаем сетевое устройство kvm 'user' (NAT), которое предоставляет DHCP и DNS-сервисы.
newid
целое число
VMID для клона. Используется только при клонировании.
Если newid не задан, следующий доступный идентификатор ВМ будет получен из ProxmoxAPI.
node
строка
Узел Proxmox VE, на котором нужно выполнить операцию.
Требуется только для state=present.
Во всех остальных состояниях он будет автоматически обнаружен.
numa
словарь
Хэш/словари топологии NUMA. numa='{"key":"value", "key":"value"}'.
Разрешенные ключи - numa[n], где 0 ≤ n ≤ N.
Разрешенные значения - "cpu="<id[-id];...>",hostnodes="<id[-id];...>",memory="number",policy="(bind|interleave|preferred"").
cpus ЦП, обращаются к этому узлу NUMA.
hostnodes Узлы NUMA хоста, которые будут использоваться.
memory Объём памяти, предоставляемый этим узлом NUMA.
policy Политика распределения NUMA.
numa_enabled
булево
    Варианты:
  • no
  • yes
Включает NUMA.
onboot
булево
    Варианты:
  • no
  • yes
Указывает, будет ли ВМ запущена во время загрузки системы.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию yes. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
ostype
строка
    Варианты:
  • other
  • wxp
  • w2k
  • w2k3
  • w2k8
  • wvista
  • win7
  • win8
  • win10
  • l24
  • l26
  • solaris
Указывает гостевую операционную систему. Используется для включения специальных оптимизаций/функций для определенных операционных систем.
l26 — Linux 2.6/3.X ядро.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию l26. Обратите внимание, что значение по умолчанию proxmox_default_behavior изменяется в community.general 4.0.0.
parallel
словарь
Хэш/словарь устройств параллельной карты хоста. parallel='{"key":"value", "key":"value"}'.
Разрешенные ключи - (parallel[n]), где 0 ≤ n ≤ 2.
Разрешенные значения - "/dev/parport\d+|/dev/usb/lp\d+".
pool
строка
Добавить новую ВМ в указанный пул.
protection
булево
    Варианты:
  • no
  • yes
Включить/выключить флаг защиты ВМ. Это включит/выключит операции удаления ВМ и удаления дисков.
proxmox_default_behavior
строка
добавлен в 1.3.0 community.general
    Варианты:
  • compatibility
  • no_defaults
Различные параметры модуля, используемые для определения значений по умолчанию. Это вызывает проблемы, когда пользователь ожидает другого поведения Proxmox по умолчанию или заполняет параметры, которые вызывают проблемы, когда они были установлены.
Значение по умолчанию compatibility, которое гарантирует, что значения по умолчанию будут использоваться, когда значения не указаны пользователем явно.
Начиная с community.general 4.0.0, значение по умолчанию изменится на no_defaults. Чтобы избежать предупреждений об устаревании, установите proxmox_default_behavior в явное значение.
Это влияет на параметры acpi, autostart, balloon, boot, cores, cpu, cpuunits, force, format, kvm, memory, onboot, ostype, sockets, tablet, template, vga.
reboot
булево
    Варианты:
  • no
  • yes
Разрешить перезагрузку. Если установлено yes, ВМ завершит работу при перезагрузке.
revert
строка
Отменить ожидающее изменение.
sata
словарь
Хэш/словарь томов, используемых в качестве жесткого диска SATA или CD-ROM. sata='{"key":"value", "key":"value"}'.
Разрешенные ключи - sata[n], где 0 ≤ n ≤ 5.
Разрешенные значения - "storage:size,format=value".
storage - идентификатор хранилища, где создать диск.
size - размер диска в ГБ.
format - формат данных файла резервной копии диска. qcow2|raw|subvol.
scsi
словарь
Хэш/словарь томов, используемых в качестве жесткого диска SCSI или CD-ROM. scsi='{"key":"value", "key":"value"}'.
Разрешенные ключи - sata[n], где 0 ≤ n ≤ 13.
Разрешенные значения - "storage:size,format=value".
storage - идентификатор хранилища, где создать диск.
size - размер диска в ГБ.
format - формат данных файла резервной копии диска. qcow2|raw|subvol.
scsihw
строка
    Варианты:
  • lsi
  • lsi53c810
  • virtio-scsi-pci
  • virtio-scsi-single
  • megasas
  • pvscsi
Указывает модель контроллера SCSI.
searchdomains
список / элементы=строка
добавлен в 1.3.0 community.general
cloud-init: Устанавливает DNS домены поиска.
Если не задано, используются настройки хоста PVE.
serial
словарь
Хэш/словарь последовательного устройства для создания внутри ВМ. '{"key":"value", "key":"value"}'.
Разрешенные ключи - serial[n](str; required) где 0 ≤ n ≤ 3.
Разрешенные значения - (/dev/.+|socket).
/!\ Если вы пробрасываете последовательное устройство хоста, то мигрировать такие машины больше не представляется возможным — используйте с осторожностью.
END_OF_DOCUMENT_MARKER
shares
integer
Количество долей памяти для автоматического изменения размера (0 - 50000).
Чем больше число, тем больше памяти получает эта виртуальная машина.
Число относительно весов всех других запущенных виртуальных машин.
Использование 0 отключает автоматическое изменение размера, что означает отсутствие ограничения.
skiplock
boolean
    Варианты:
  • no
  • yes
Игнорировать блокировки
Только root имеет право использовать этот параметр.
smbios
string
Указывает поля SMBIOS типа 1.
snapname
string
Имя снимка. Используется только с клонированием.
sockets
integer
Устанавливает количество сокетов процессора. (1 - N).
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 1. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в community.general 4.0.0.
sshkeys
string
добавлен в 1.3.0 community.general
cloud-init: SSH-ключ для присвоения пользователю по умолчанию. НЕ ТЕСТИРОВАЛОСЬ с несколькими ключами, но многострочное значение должно работать.
startdate
string
Устанавливает начальную дату реального времени.
Допустимые форматы даты: 'now' или '2016-09-25T16:01:21' или '2016-09-25'.
startup
string
Поведение при запуске и выключении. [[order=]\d+] [,up=\d+] [,down=\d+].
Порядок — положительное число, определяющее общий порядок запуска.
Выключение выполняется в обратном порядке.
state
string
    Варианты:
  • present ←
  • started
  • absent
  • stopped
  • restarted
  • current
Указывает желаемое состояние экземпляра.
Если current, текущее состояние виртуальной машины будет получено. Вы можете получить к нему доступ с помощью results.status
storage
string
Целевой накопитель для полного клонирования.
tablet
boolean
    Варианты:
  • no
  • yes
Включает/отключает устройство USB-планшета.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в community.general 4.0.0.
target
string
Целевой узел. Допускается только если исходная виртуальная машина находится на общем хранилище.
Используется только с клонированием
tdf
boolean
    Варианты:
  • no
  • yes
Включает/выключает исправление сдвига времени.
template
boolean
    Варианты:
  • no
  • yes
Включает/отключает шаблон.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в community.general 4.0.0.
timeout
integer
По умолчанию:
30
Таймаут для операций.
update
boolean
    Варианты:
  • no ←
  • yes
Если yes, виртуальная машина будет обновлена новым значением.
Из-за операций API и соображений безопасности я отключил обновление следующих параметров
net, virtio, ide, sata, scsi. Например, обновление net обновляет MAC-адрес, а virtio всегда создаёт новый диск...
Обновление pool отключено. Для этого требуется дополнительный конечный пункт API, не покрытый этим модулем.
validate_certs
boolean
    Варианты:
  • no ←
  • yes
Если no, сертификаты SSL не будут проверены.
Это следует использовать только на сайтах, контролируемых лично, которые используют самозаверяющие сертификаты.
vcpus
integer
Устанавливает количество горячих виртуальных процессоров.
vga
string
    Варианты:
  • std
  • cirrus
  • vmware
  • qxl
  • serial0
  • serial1
  • serial2
  • serial3
  • qxl2
  • qxl3
  • qxl4
Выбор типа VGA. Если требуется использовать режимы с высоким разрешением (≥ 1280x1024x16), используйте параметр 'std' или 'vmware'.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию std. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в community.general 4.0.0.
virtio
dictionary
Хэш/словарь, используемого тома как жесткий диск VIRTIO. virtio='{"key":"value", "key":"value"}'.
Разрешенные ключи — virto[n], где 0 ≤ n ≤ 15.
Разрешенные значения — "storage:size,format=value".
storage — идентификатор хранилища, где создать диск.
size — размер диска в ГБ.
format — формат данных файла резервной копии диска. qcow2|raw|subvol.
vmid
integer
Указывает идентификатор экземпляра.
Если не задано, следующий доступный идентификатор будет получен из ProxmoxAPI.
watchdog
string
Создаёт виртуальное устройство контроля сторожевого пса.

Примеры

- name: Create new VM with minimal options
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf

- name: Create new VM with minimal options and given vmid
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    vmid: 100

- name: Create new VM with two network interface options
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    net:
      net0: 'virtio,bridge=vmbr1,rate=200'
      net1: 'e1000,bridge=vmbr2'

- name: Create new VM with one network interface, three virto hard disk, 4 cores, and 2 vcpus
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    net:
      net0: 'virtio,bridge=vmbr1,rate=200'
    virtio:
      virtio0: 'VMs_LVM:10'
      virtio1: 'VMs:2,format=qcow2'
      virtio2: 'VMs:5,format=raw'
    cores: 4
    vcpus: 2

- name: >
    Clone VM with only source VM name.
    The VM source is spynal.
    The target VM name is zavala
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    clone: spynal
    name: zavala
    node: sabrewulf
    storage: VMs
    format: qcow2
    timeout: 500

- name: >
    Create linked clone VM with only source VM name.
    The VM source is spynal.
    The target VM name is zavala
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    clone: spynal
    name: zavala
    node: sabrewulf
    storage: VMs
    full: no
    format: unspecified
    timeout: 500

- name: Clone VM with source vmid and target newid and raw format
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    clone: arbitrary_name
    vmid: 108
    newid: 152
    name: zavala
    node: sabrewulf
    storage: LVM_STO
    format: raw
    timeout: 300

- name: Create new VM and lock it for snapshot
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    lock: snapshot

- name: Create new VM and set protection to disable the remove VM and remove disk operations
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    protection: yes

- name: Create new VM using cloud-init with a username and password
  community.general.proxmox_kvm:
    node: sabrewulf
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    ide:
      ide2: 'local:cloudinit,format=qcow2'
    ciuser: mylinuxuser
    cipassword: supersecret
    searchdomains: 'mydomain.internal'
    nameservers: 1.1.1.1
    net:
      net0: 'virtio,bridge=vmbr1,tag=77'
    ipconfig:
      ipconfig0: 'ip=192.168.1.1/24,gw=192.168.1.1'

- name: Create new VM using Cloud-Init with an ssh key
  community.general.proxmox_kvm:
    node: sabrewulf
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    ide:
      ide2: 'local:cloudinit,format=qcow2'
    sshkeys: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJkVm98B71lD5XHfihwcYHE9TVpsJmK1vR1JcaU82L+'
    searchdomains: 'mydomain.internal'
    nameservers:
      - '1.1.1.1'
      - '8.8.8.8'
    net:
      net0: 'virtio,bridge=vmbr1,tag=77'
    ipconfig:
      ipconfig0: 'ip=192.168.1.1/24'

- name: Start VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: started

- name: Stop VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: stopped

- name: Stop VM with force
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: stopped
    force: yes

- name: Restart VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: restarted

- name: Remove VM
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: absent

- name: Get VM current state
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    state: current

- name: Update VM configuration
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    cores: 8
    memory: 16384
    update: yes

- name: Delete QEMU parameters
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    delete: 'args,template,cpulimit'

- name: Revert a pending change
  community.general.proxmox_kvm:
    api_user: root@pam
    api_password: secret
    api_host: helldorado
    name: spynal
    node: sabrewulf
    revert: 'template,cpulimit'

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

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

Ключ Возвращено Описание
devices
dictionary
success
Список созданных или используемых устройств.

Пример:
{ "ide0": "VMS_LVM:vm-115-disk-1", "ide1": "VMs:115/vm-115-disk-3.raw", "virtio0": "VMS_LVM:vm-115-disk-2", "virtio1": "VMs:115/vm-115-disk-1.qcow2", "virtio2": "VMs:115/vm-115-disk-2.raw" }
mac
dictionary
success
Список созданных MAC-адресов и присоединённых net[n]. Полезно при использовании систем провизионирования, таких как Foreman через PXE.

Пример:
{ "net0": "3E:6E:97:D2:31:9F", "net1": "B6:A1:FC:EF:78:A4" }
status
dictionary
success
Текущее состояние виртуальной машины.
Возвращается только при state=current

Пример:
{ "changed": false, "msg": "Виртуальная машина kropta с vmid = 110 запущена", "status": "running" }
vmid
integer
success
vmid виртуальной машины.

Пример:
115


Авторы

  • Abdoul Bah (@helldorado) <bahabdoul at gmail.com>

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/proxmox_kvm_module.html

Spec-Zone.ru

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