Spec-Zone.ru › Ansible 2.10

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

Примечание

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

Для его установки используйте: 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
    Варианты:
  • no
  • yes
Указать, должен ли быть включён/выключен ACPI.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию yes. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
agent
boolean
    Варианты:
  • no
  • yes
Указать, должен ли быть включён/выключен QEMU Guest Agent.
api_host
string / обязательно
Указать целевой хост кластера Proxmox VE.
api_password
string
Указать пароль для аутентификации.
Можно использовать переменную среды PROXMOX_PASSWORD.
api_token_id
string
добавлен в 1.3.0 community.general
Указать идентификатор токена.
api_token_secret
string
добавлен в 1.3.0 community.general
Указать секрет токена.
api_user
string / обязательно
Указать пользователя для аутентификации.
args
string
Передать произвольные аргументы в kvm.
Этот параметр предназначен только для экспертов!
autostart
boolean
    Варианты:
  • no
  • yes
Указать, должен ли VM автоматически перезапускаться после сбоя (в настоящее время игнорируется в PVE API).
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
balloon
integer
Указать количество оперативной памяти для VM в МБ.
Использование нуля отключает драйвер balloon.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 0. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
bios
string
    Варианты:
  • seabios
  • ovmf
Указать реализацию BIOS.
boot
string
Указать порядок загрузки -> загрузить с гибкого диска a, жёсткого диска c, CD-ROM d, или сети n. Можно комбинировать для настройки порядка.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию cnd. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
bootdisk
string
Включить загрузку со указанного диска. (ide|sata|scsi|virtio\d+)
cicustom
string
добавлен в 1.3.0 community.general
cloud-init: Указать пользовательские файлы для замены автоматически сгенерированных файлов при запуске.
cipassword
string
добавлен в 1.3.0 community.general
cloud-init: пароль для создания пользователя по умолчанию.
citype
string
добавлен в 1.3.0 community.general
    Варианты:
  • nocloud
  • configdrive2
cloud-init: Указывает формат конфигурации cloud-init.
Значение по умолчанию зависит от типа настроенной операционной системы (ostype).
Мы используем формат nocloud для Linux и configdrive2 для Windows.
ciuser
string
добавлен в 1.3.0 community.general
cloud-init: имя пользователя по умолчанию для создания.
clone
string
Имя VM, который нужно клонировать. Если vmid установлено, clone может принимать произвольное значение, но обязательно для инициирования клонирования.
cores
integer
Указать количество ядер на сокет.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 1. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
cpu
string
Указать тип эмулируемого процессора.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию kvm64. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
cpulimit
integer
Указать, будет ли ограничено использование ЦП. Значение 0 указывает на отсутствие ограничения ЦП.
Если компьютер имеет 2 процессора, то общее количество времени ЦП равно '2'.
cpuunits
integer
Указать вес процессора для VM.
Можно отключить настройку fair-scheduler, установив это значение в 0.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 1000. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
delete
string
Указать список настроек, которые нужно удалить.
description
string
Указать описание для VM. Используется только на веб-интерфейсе конфигурации.
Сохраняется как комментарий внутри файла конфигурации.
digest
string
Указать, нужно ли предотвращать изменения, если текущий файл конфигурации имеет другой хэш SHA1.
Это можно использовать для предотвращения одновременных изменений.
force
boolean
    Варианты:
  • no
  • yes
Разрешить принудительное прекращение работы VM.
Можно использовать с состояниями stopped и restarted.
Если proxmox_default_behavior установлен на compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в версии community.general 4.0.0.
format
string
    Варианты:
  • 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
    Варианты:
  • no
  • yes
Указать, должен ли PVE заморозить процессор при запуске (используйте команду монитора 'c', чтобы начать выполнение).
full
boolean
    Варианты:
  • no
  • yes ←
Создать полную копию всех дисков. Это всегда делается при клонировании обычной 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 — это проброс устройства Host PCI. Синтаксис HOSTPCIID — bus:dev.func (шестнадцатеричные числа). pcie=boolean по умолчанию=0 Выбрать шину PCI-express (требуется модель машины q35). rombar=boolean по умолчанию=1 Указать, будет ли ROM устройства доступен в адресном пространстве памяти гостевой системы. x-vga=boolean по умолчанию=0 Включить поддержку устройства vfio-vga. /!\ Этот параметр позволяет получить прямой доступ к оборудованию хоста. Поэтому больше невозможна миграция таких машин — использовать с особой осторожностью.
hotplug
строка
Выбрать и включить функции hotplug.
Это список функций hotplug, разделённых запятыми 'network', 'disk', 'cpu', 'memory' and 'usb'. Значение 0 полностью отключает hotplug, а значение 1 — псевдоним для значения по умолчанию 'network,disk,usb'.
hugepages
строка
    Варианты:
  • any
  • 2
  • 1024
Включить/выключить память hugepages.
ide
словарь
Хеш/словарь тома, используемого в качестве жёсткого диска или CD-ROM IDE. ide='{"key":"value", "key":"value"}'. Ключи разрешены - ide[n], где 0 ≤ n ≤ 3. Значения разрешены - "storage:size,format=value". storage — идентификатор хранилища, где создать диск. size — размер диска в ГБ. format — формат данных файла резервного копирования диска. qcow2|raw|subvol.
END_OF_DOCUMENT_MARKER
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
логическое значение
    Варианты:
  • нет
  • да
Включить/выключить виртуализацию аппаратного обеспечения KVM.
Если proxmox_default_behavior задано как compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию yes. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в community.general 4.0.0.
localtime
логическое значение
    Варианты:
  • нет
  • да
Устанавливает реальные часы на местное время.
Это включено по умолчанию, если ostype указывает на операционную систему Microsoft.
lock
строка
    Варианты:
  • мигрировать
  • резервное копирование
  • снимок
  • откат
Заблокировать/разблокировать ВМ.
machine
строка
Указывает тип машины Qemu.
тип => (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 «пользователь» (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
логическое значение
    Варианты:
  • нет
  • да
Включает NUMA.
onboot
логическое значение
    Варианты:
  • нет
  • да
Указывает, будет ли ВМ запущена во время загрузки системы.
Если proxmox_default_behavior задано как compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию yes. Обратите внимание, что значение по умолчанию для proxmox_default_behavior изменяется в community.general 4.0.0.
ostype
строка
    Варианты:
  • другой
  • 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
словарь
Хеш/словарь устройств параллельного хоста map. parallel='{"key":"value", "key":"value"}'.
Разрешенные ключи - (parallel[n]), где 0 ≤ n ≤ 2.
Разрешенные значения - "/dev/parport\d+|/dev/usb/lp\d+".
pool
строка
Добавить новую ВМ в указанный пул.
protection
логическое значение
    Варианты:
  • нет
  • да
Включить/выключить флаг защиты ВМ. Это включит/выключит операции удаления ВМ и удаления дисков.
proxmox_default_behavior
строка
добавлено в 1.3.0 от community.general
    Варианты:
  • совместимость
  • без_по умолчанию
Различные параметры модуля, используемые для установки значений по умолчанию. Это вызывает проблемы, когда пользователь ожидает другого поведения от 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
логическое значение
    Варианты:
  • нет
  • да
Разрешить перезагрузку. Если установлено значение 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](строка; требуется), где 0 ≤ n ≤ 3.
Разрешенные значения - (/dev/.+|socket.
/!\ Если вы используете последовательное устройство хоста, мигрировать такие машины больше не получится — используйте с осторожностью.
shares
целое число
Количество долей памяти для автоматического увеличения. (0 - 50000).
Чем больше число, тем больше памяти получает эта виртуальная машина.
Число относительно весов всех других работающих виртуальных машин.
Использование 0 отключает автоматическое увеличение, это означает отсутствие ограничения.
skiplock
логический тип
    Варианты:
  • нет
  • да
Игнорировать блокировки
Использовать этот параметр разрешено только для root.
smbios
строка
Указывает поля SMBIOS типа 1.
snapname
строка
Имя моментального снимка. Используется только с клонированием.
sockets
целое число
Устанавливает количество сокетов процессора. (1 - N).
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию 1. Обратите внимание, что значение по умолчанию для proxmox_default_behavior меняется в community.general 4.0.0.
sshkeys
строка
добавлено в версии 1.3.0 community.general
cloud-init: SSH-ключ, который нужно назначить для пользователя по умолчанию. НЕ ТЕСТИРОВАЛОСЬ с несколькими ключами, но многострочное значение должно работать.
startdate
строка
Устанавливает начальную дату реальных часов.
Допустимые форматы даты 'now' или '2016-09-25T16:01:21' или '2016-09-25'.
startup
строка
Поведение при запуске и выключении. [[order=]\d+] [,up=\d+] [,down=\d+].
Порядок — это неотрицательное число, определяющее общий порядок запуска.
Выключение выполняется в обратном порядке.
state
строка
    Варианты:
  • present ←
  • started
  • absent
  • stopped
  • restarted
  • current
Указывает желаемое состояние экземпляра.
Если current, текущее состояние виртуальной машины будет получено. Вы можете получить доступ к нему с помощью results.status
storage
строка
Целевой накопитель для полного клонирования.
tablet
логический тип
    Варианты:
  • нет
  • да
Включает/отключает устройство планшета USB.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию для proxmox_default_behavior меняется в community.general 4.0.0.
target
строка
Целевой узел. Разрешено только в том случае, если исходная виртуальная машина находится на общем хранилище.
Используется только при клонировании
tdf
логический тип
    Варианты:
  • нет
  • да
Включает/отключает исправление сдвига времени.
template
логический тип
    Варианты:
  • нет
  • да
Включает/отключает шаблон.
Если proxmox_default_behavior установлено в compatiblity (значение по умолчанию), этот параметр имеет значение по умолчанию no. Обратите внимание, что значение по умолчанию для proxmox_default_behavior меняется в community.general 4.0.0.
timeout
целое число
По умолчанию:
30
Таймаут для операций.
update
логический тип
    Варианты:
  • нет ←
  • да
Если yes, виртуальная машина будет обновлена новым значением.
Из-за операций API и соображений безопасности я отключил обновление следующих параметров
net, virtio, ide, sata, scsi. Например, при обновлении net обновляется MAC-адрес, а при обновлении virtio всегда создаётся новый диск...
Обновление pool отключено. Для этого требуется дополнительный конечный пункт API, не покрытый данным модулем.
validate_certs
логический тип
    Варианты:
  • нет ←
  • да
Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых вами лично, с использованием самозаверяющих сертификатов.
vcpus
целое число
Устанавливает количество подключенных по горячей замене vCPU.
vga
строка
    Варианты:
  • 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
словарь
Хэш/словарь томов, используемых в качестве жёсткого диска VIRTIO. virtio='{"key":"value", "key":"value"}'.
Разрешены ключи - virto[n] где 0 ≤ n ≤ 15.
Разрешены значения - "storage:size,format=value".
storage - идентификатор хранилища для создания диска.
size - размер диска в ГБ.
format - формат данных файла резервного копирования диска. qcow2|raw|subvol.
vmid
целое число
Указывает ID виртуальной машины. Вместо этого используйте параметр name.
Если vmid не задан, следующий доступный ID виртуальной машины будет получен из ProxmoxAPI.
watchdog
строка
Создаёт виртуальное устройство наблюдения.

Примеры

- 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
словарь
успешно
Список созданных или используемых устройств.

Пример:
{ "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
словарь
успешно
Список созданных MAC-адресов и подключений net[n]. Полезно при использовании систем подготовки, таких как Foreman через PXE.

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

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

Пример:
115


Авторы

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

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

Spec-Zone.ru

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