You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 KiB
44 KiB
Модуль decort_kvmvm
Обзор модуля decort_kvmvm
Модуль decort_kvmvm предназначен для выполнения следующих действий над виртуальными машинами:
- создать (см. примеры)
- с указанием описания (см. параметр description и примеры)
- с указанием объёма загрузочного диска (см. параметр boot_disk и примеры)
- с указанием СХД (см. параметры sep_id и pool и примеры)
- с указанием Cloud-init user data (см. параметр ci_user_data и примеры)
- с указанием SSH-ключа (см. параметры ssh_key и ssh_key_user и примеры)
- с указанием NUMA Affinity (см. параметр numa_affinity и примеры)
- с указанием запуска на выделенных ядрах ЦП (см. параметр cpu_pin и примеры)
- с использованием Huge Pages (см. параметр hp_backed и примеры)
- с указанием custom_fields (см. параметр custom_fields и примеры)
- с указанием affinity-метки (см. параметр affinity_label и примеры)
- с указанием affinity правил (см. параметр aff_rule и примеры)
- с указанием anti-affinity правил (см. параметр aaff_rule и примеры)
- с указанием тэгов (см. параметр tag и примеры)
- с образом (см. параметры image_id и image_name и примеры)
- без образа (см. параметры image_id и image_name и примеры)
- с включением автоматического запуска ВМ после перезапуска вычислительного узла, за которым она закреплена (см. параметр auto_start и примеры)
- с указанием чипсета (см. параметр chipset и примеры)
- с указанием предпочтительных ядер (см. параметр preferred_cpu_cores и примеры)
- получить информацию (см. возвращаемые значения и примеры)
- остановить/приостановить/запустить (см. параметр state и примеры)
- подключить/отключить диски с данными (см. параметр data_disks и примеры)
- подключить/отключить сети (см. параметры networks и network_order_changing и примеры)
- откатить ВМ к состоянию снимка (см. параметры rollback_to и примеры)
- изменить (см. примеры)
- объём загрузочного диска в большую сторону (см. параметр boot_disk и примеры)
- количество ЦП (см. параметр cpu и примеры)
- объём ОЗУ (см. параметр ram и примеры)
- тэги (см. параметр tag и примеры)
- affinity метку (см. параметр affinity_label и примеры)
- affinity правила (см. параметр aff_rule и примеры)
- anti-affinity правила (см. параметр aaff_rule и примеры)
- описание (см. параметр description и примеры)
- чипсет (см. параметр chipset и примеры)
- правило NUMA Affinity (см. параметр numa_affinity и примеры)
- запуск на выделенных ядрах ЦП (см. параметр cpu_pin и примеры)
- использование Huge Pages (см. параметр hp_backed и примеры)
- имя (см. параметр name и примеры)
- XML виртуальной машины (см. параметр custom_fields и примеры)
- автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена (см. параметр auto_start и примеры)
- предпочтительные ядра (см. параметр preferred_cpu_cores и примеры)
- удалить (безвозвратно) (см. параметр state и примеры)
Параметры модуля decort_kvmvm
Ниже приведен список параметров для модуля decort_kvmvm (за исключением общих параметров авторизации):
Параметр | Тип, допустимые значения | Описание |
---|---|---|
aaff_rule | (list) | Список словарей, описывающих anti-affinity правила. Ключи словаря: • topology (string) (обязательный) - назначение правила; значения: node (узел) или compute (ВМ)• policy (string) (обязательный) - степень "необходимости" этого правила; значения: RECOMMENDED или REQUIRED • mode (string) (обязательный) - режим сравнения; значения: EQ (должно соответствовать), NE (не должно соответствовать), ANY (любое)• key (string) (обязательный) - ключ, который учитывается при анализе данного правила• value (string) (обязательный) - значение ключа, учитываемого при анализе данного правила (зависит от ключа mode ).Чтобы очистить anti-affinity правила, нужно указать пустой список [] . |
account_id | (int) | Идентификатор аккаунта. Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией account_id и rg_name . Если задан account_id , то account_name игнорируется. |
account_name | (string) | Имя аккаунта. Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией account_name и rg_name . Если задан account_id , то account_name игнорируется. |
aff_rule | (list) | Список словарей, описывающих affinity правила. Ключи словаря: • topology (string) (обязательный) - назначение правила; значения: node (узел) или compute (ВМ)• policy (string) (обязательный) - степень "необходимости" этого правила; значения: RECOMMENDED или REQUIRED • mode (string) (обязательный) - режим сравнения; значения: EQ (должно соответствовать), NE (не должно соответствовать), ANY (любое)• key (string) (обязательный) - ключ, который учитывается при анализе данного правила• value (string) (обязательный) - значение ключа, учитываемого при анализе данного правила (зависит от ключа mode ).Чтобы очистить affinity правила, нужно указать пустой список [] . |
affinity_label | (str) | Метка affinity. Чтобы очистить метку affinity, нужно указать пустую строку "" . |
auto_start | (bool) | Включить/выключить автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена. Если параметр не задан при создании ВМ, то значение будет выбрано платформой. |
boot_disk | (int) | Объём загрузочного диска виртуальной машины в ГБ. |
chipset | (string) Значения: Q35 i440fx |
Эмулируемый чипсет. Значение по умолчанию при создании: i440fx . |
ci_user_data | (dict) | конфигурация для cloud-init |
cpu | (int) | Количество виртуальных процессоров, выделяемых виртуальной машине. |
cpu_pin | (bool) | Запуск виртуальной машины на выделенных ядрах ЦП. Значение по умолчанию при создании: false . |
custom_fields | (dict) | Словарь, управляющий XML виртуальной машины. Ключи словаря: • disable (bool) - отключение управления виртуальной машиной через XML. Значение по умолчанию при создании: true • fields (dict) - поля для управления XML виртуальной машины. |
data_disks | (list) | Список идентификаторов дисков, которые следует подключить к данной виртуальной машине как дополнительные. Чтобы отключить все диски, нужно указать пустой список [] . |
description | (string) | Опциональное описание виртуальной машины. |
hp_backed | (bool) | Использовать Huge Pages для выделения оперативной памяти виртуальной машины. Система должна быть предварительно сконфигурирована путем выделения Huge Pages на физическом узле. Значение по умолчанию при создании: false . |
id | (int) | Уникальный цифровой идентификатор виртуальной машины. Этот параметр используется как один из методов идентификации существующей ВМ (альтернатива – по комбинации name , rg_name и account_name ). Если при вызове модуля decort_kvmvm существующая ВМ идентифицируется по id , то параметры account_id , account_name , rg_id и rg_name игнорируются. |
image_id | (int) | Уникальный цифровой идентификатор образа, на базе которого следует создать виртуальную машину. При создании задать этот параметр или параметр image_name . При любых других операциях данные параметры игнорируются. Если заданы оба этих параметра (image_id и image_name ), то image_name игнорируется. |
image_name | (string) | Название образа, на базе которого следует создать ВМ. При создании требуется задать этот параметр или параметр image_id . При любых других операциях данные параметры игнорируются. |
name | (string) | Имя ВМ. Чтобы модуль decort_kvmvm мог управлять сервером по его названию, также необходимо задать комбинацию account_name и rg_name или rg_id . Если для существующей ВМ указаны и name , и id , то параметр name игнорируется и идентификация сервера выполняется по id . |
network_order_changing | (bool) Default: false |
Соблюдение очерёдности сетей при их изменении. Если true , то сравнение списка уже подключённых к ВМ сетей со списком из параметра networks будет производится с учётом очерёдности сетей и, при выявлении несоответствия, сначала будет произведено отключение всех сетей от ВМ, а затем подключение сетей в соответствии с параметром networks .Если false , то очерёдность при сравнении учитываться не будет. Соответственно, сети, которые имеются в списке параметра networks и уже подключены к ВМ, переподключаться не будут, что может кратно уменьшить время выполнения изменения сетей. |
networks | (list) | Список словарей, описывающих сети ВМ. Ключи словаря: • type (string) (обязательный) - тип сети; значения: VINS (внутренняя), EXTNET (внешняя), VFNIC (вирт. функция), DPDK , EMPTY (без подключения к сети)• id (int) (необязательный) - идентификатор внутренней/внешней/DPDK сети или пула вирт. функций• ip_addr (string) (необязательный) - IP-адрес, используемый для подключения к данной сети; применимо только для VINS и EXTNET • mtu (int) (необязательный) - MTU интерфейса; применимо только для DPDK .ВМ не может одновременно быть подключена к сети DPDK и к сети другого типа. Чтобы отключить все сети, нужно указать пустой список [] . |
numa_affinity | (str) Значения: strict loose none |
Правило применения NUMA affinity к виртуальной машине. strict - строго с NUMA affinity, loose - использовать NUMA affinity, если возможно, none - отменить применение NUMA affinity. Значение по умолчанию при создании: none . |
pool | (str) | Пул СХД, заданной параметром sep_id . Если пул не задан, то он будет выбран платформой. |
preferred_cpu_cores | (list) | Список номеров предпочтительных выделенных ядер ЦП (см. параметр cpu_pin ). Чтобы очистить список номеров предпочтительных выделенных ядер ЦП, нужно указать пустой список [] . |
ram | (int) | Объем оперативной памяти в МБ, выделенной данной ВМ. Параметр является обязательным при создании. Если указать его для уже существующей ВМ, то будет выполнена попытка изменить объем выделенной памяти. |
rg_id | (int) | Уникальный цифровой идентификатор уже существующей ресурсной группы, в которой будет создана новая или находится уже существующая ВМ. Данный параметр является одним из методов идентификации существующей РГ (альтернативой является задание комбинации account_name и rg_name ). |
rg_name | (string) | Имя уже существующей ресурсной группы, в которой будет создаа новая или находится уже существующая ВМ. Данный параметр является одним из методов идентификации существующей РГ, когда задается пара account_name и rg_name (альтернативой является задание rg_id ). Если заданы и rg_id , и rg_name , то параметр rg_name игнорируется. |
rollback_to | (string) | Имя снимка, к состоянию которого необходимо совершить откат ВМ. |
sep_id | (int) | Идентификатор СХД для загрузочного диска ВМ. Если не задан, то будет использоваться СХД образа. |
ssh_key | (string) | Открытая часть SSH-ключа, который необходимо добавить на создаваемую ВМ для пользователя, заданного параметром ssh_key_user . Данный параметр применим только для ОС Linux, используется только при создании и игнорируется при других операциях. |
ssh_key_user | (string) | Имя пользователя в гостевой ОС (только для Linux), для которого добавляется SSH-ключ, заданный параметром ssh_key . Данный параметр является обязательным, если задан ssh_key . Используется только при создании и игнорируется при других операциях. |
state | (str) Значения: present absent poweredon poweredoff halted paused |
Целевое состояние ВМ.present - виртуальная машина существует и не удалена. Если удалена в корзину, то будет восстановлена из корзины.absent - виртуальная машина безвозвратно удалена. poweredon - виртуальная машина запущена. Если остановлена, то будет запущена. Если удалена в корзину, то будет восстановлена из корзины.poweredoff - виртуальная машина остановлена. Если запущена, то будет остановлена.halted - аналогично poweredoff .paused - виртуальная машина приостановлена.Значение по умолчанию при создании: present . |
tag | (dict) | Словарь, пары ключ-значение которого, описывают тэги для ВМ. Чтобы очистить теги, нужно указать пустой словарь {} . |
Возвращаемые значения модуля decort_kvmvm
Модуль decort_kvmvm возвращает информацию о виртуальной машине в виде словаря facts
со следующими ключами:
Ключ | Тип данных | Описание |
---|---|---|
account_id | int | Идентификатор аккаунта. |
arch | string | Архитектура ВМ. |
auto_start | bool | Автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена. |
chipset | string | Эмулируемый чипсет. |
cpu | int | Количество виртуальных процессоров. |
cpu_pin | bool | Запуск виртуальной машины на выделенных ядрах ЦП. |
custom_fields | dict | Словарь, управляющий XML виртуальной машины. Если null , то управление виртуальной машиной через XML отключено, иначе - управление через XML включено. |
data_disks | list | Список идентификаторов дисков с данными, подключенных к ВМ. |
disk_size | int | Размер загрузочного диска в ГБ. |
hp_backed | bool | Использовать Huge Pages для выделения оперативной памяти виртуальной машины. |
id | int | Идентификатор ВМ. |
image_id | id | Идентификатор образа. |
interfaces | list | Список словарей, описывающих сетевые интерфейсы ВМ. |
name | string | Имя ВМ. |
numa_affinity | str | Правило применения NUMA affinity к виртуальной машине. |
password | string | Пароль пользователя ОС по умолчанию. |
preferred_cpu_cores | list | Список номеров предпочтительных выделенных ядер ЦП. |
private_ips | list | Список IP-адресов на сетевых интерфейсах ВМ, которые подключены к внутренним сетям. |
public_ips | list | Список IP адресов на сетевых интерфейсах ВМ, которые подключены к внешним сетям. |
ram | int | Объём ОЗУ ВМ в МБ. |
rg_id | int | Идентификатор ресурсной группы, которой принадлежит данная ВМ. |
snapshots | list | Список словарей, описывающих снимки ВМ. |
state | string | Состояние ВМ. |
tags | dict | Словарь, пары ключ-значение которого, описывают тэги ВМ. |
tech_status | str | Технический статус ВМ. |
username | string | Имя пользователя ОС по умолчанию. |
vnc_password | string | Пароль, используемый для подключения к ВМ через VNC. |
Примеры использования
Создать
С указанием описания
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
description: vm description
state: present
С указанием объёма загрузочного диска
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
boot_disk: 10
state: present
С указанием СХД
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
sep_id: "{{ sep_id }}"
pool: "{{ sep_pool_name }}"
state: present
С указанием Cloud-init user data
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
ci_user_data:
packages:
- apache2
write_files:
- content: |
<div>
Hello World!
</div>
owner: user:user
path: /var/www/html/index.html
hostname: test-apache
ssh_keys:
- rsa_public: ssh-rsa AAAAOasDmLxnD= user@pc
state: present
С указанием SSH-ключа
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...
ssh_key_user: user
state: present
С указанием NUMA Affinity
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
numa_affinity: strict
state: present
С указанием запуска на выделенных ядрах ЦП
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
cpu_pin: true
state: present
С использованием Huge Pages
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
hp_backed: true
state: present
С указанием custom_fields
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
custom_fields:
fields:
title: Title
cpu:
mode: custom
vendor: Intel
cache:
mode: disable
topology:
sockets: 1
cores: 14
threads: 1
match: minimum
check: partial
state: present
С указанием affinity-метки
- name: Example
hosts: localhost
tasks:
- name: Create VM with affinity-label
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
affinity_label: label
state: present
С указанием affinity правил
- name: Example
hosts: localhost
tasks:
- name: Create VM with affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
aff_rule:
- topology: compute
policy: RECOMMENDED
mode: EQ
key: key
value: value
state: present
С указанием anti-affinity правил
- name: Example
hosts: localhost
tasks:
- name: Create VM with anti-affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
aaff_rule:
- topology: node
policy: REQUIRED
mode: ANY
key: key
value: value
state: present
С указанием тэгов
- name: Example
hosts: localhost
tasks:
- name: Create VM with tags
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
tag:
tag1_key: tag1_value
tag2_key: tag2_value
state: present
С образом
- name: Example
hosts: localhost
tasks:
- name: Create VM with image
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
image_id: "{{ image_id }}"
state: present
Без образа
С загрузочным диском
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and with boot disk
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
boot_disk: 10
state: present
Без загрузочного диска
- name: Example
hosts: localhost
tasks:
- name: Create VM without image and without boot disk
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
state: present
С включением автоматического запуска ВМ после перезапуска вычислительного узла, за которым она закреплена
- name: Example
hosts: localhost
tasks:
- name: Create VM
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
auto_start: true
state: present
С указанием чипсета
- name: Example
hosts: localhost
tasks:
- name: Create VM
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
chipset: Q35
state: present
С указанием предпочтительных ядер
- name: Example
hosts: localhost
tasks:
- name: Create VM with preferred CPU cores
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
cpu: 1
ram: 512
cpu_pin: true
preferred_cpu_cores:
- 0
- 1
state: present
Получение основной информации о виртуальной машине
По идентификатору
- name: Example
hosts: localhost
tasks:
- name: Get basic VM info by ID
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
По имени
- name: Example
hosts: localhost
tasks:
- name: Get basic VM info by name
decort_kvmvm:
# Параметры для авторизации упущены
rg_id: "{{ rg_id }}"
name: "{{ vm_name }}"
Остановить/приостановить/запустить
Остановить
- name: Example
hosts: localhost
tasks:
- name: Stop VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: poweredoff
Запустить
- name: Example
hosts: localhost
tasks:
- name: Start VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: poweredon
Приостановить
- name: Example
hosts: localhost
tasks:
- name: Pause VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: paused
Подключить/отключить диски с данными
Подключить
- name: Example
hosts: localhost
tasks:
- name: Connect data disks to VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
data_disks:
- "{{ datadisk1_id }}"
- "{{ datadisk2_id }}"
Отключить
- name: Example
hosts: localhost
tasks:
- name: Disconnect data disks from VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
data_disks: []
Подключить/отключить сети
Подключить не-DPDK сети
- name: Example
hosts: localhost
tasks:
- name: Connect networks to VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
ip_addr: 192.168.4.0
- type: EMPTY
- type: EXTNET
id: "{{ extnet_id }}"
ip_addr: 35.21.230.0
- type: VFNIC
id: "{{ vfpool_id }}"
state: poweredoff
Подключить не-DPDK сети с соблюдением очередности
- name: Example
hosts: localhost
tasks:
- name: Connect networks to VM without network order changing
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks:
- type: VINS
id: "{{ vins_id }}"
ip_addr: 192.168.4.0
- type: EMPTY
- type: EXTNET
id: "{{ extnet_id }}"
ip_addr: 35.21.230.0
- type: VFNIC
id: "{{ vfpool_id }}"
network_order_changing: true
state: poweredoff
Подключить DPDK сети
- name: Example
hosts: localhost
tasks:
- name: Connect DPDK networks to VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hp_backed: true
networks:
- type: DPDK
id: "{{ dpdk1_id }}"
- type: EMPTY
- type: DPDK
id: "{{ dpdk2_id }}"
mtu: 1500
state: poweredoff
Отключить
- name: Example
hosts: localhost
tasks:
- name: Disconnect networks from VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
networks: []
state: poweredoff
Откатить ВМ к состоянию снимка
- name: Example
hosts: localhost
tasks:
- name: Rollback VM to snapshot
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
rollback_to: snapshot_01
state: poweredoff
Изменить
Объём загрузочного диска в большую сторону
- name: Example
hosts: localhost
tasks:
- name: Increase boot disk size
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
boot_disk: 15
state: poweredoff
Количество ЦП
- name: Example
hosts: localhost
tasks:
- name: Change CPU amount
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu: 1
state: poweredoff
Объём ОЗУ
- name: Example
hosts: localhost
tasks:
- name: Change RAM size
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
ram: 512
state: poweredoff
Тэги
- name: Example
hosts: localhost
tasks:
- name: Change tags
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
tag:
tag1_key: tag1_value
tag2_key: tag2_value
Affinity метку
- name: Example
hosts: localhost
tasks:
- name: Change affinity label
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
affinity_label: Affinity label 1
Affinity правила
- name: Example
hosts: localhost
tasks:
- name: Change affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
aff_rule:
- topology: compute
policy: REQUIRED
mode: EQ
key: app
value: main
- topology: node
policy: RECOMMENDED
mode: NE
key: state
value: started
Anti-affinity правила
- name: Example
hosts: localhost
tasks:
- name: Change anti-affinity rules
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
aaff_rule:
- topology: compute
policy: REQUIRED
mode: ANY
key: app
value: main
Описание
- name: Example
hosts: localhost
tasks:
- name: Change description
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
description: vm description
Чипсет
- name: Example
hosts: localhost
tasks:
- name: Change chipset
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
chipset: i440fx
state: poweredoff
Правило NUMA Affinity
- name: Example
hosts: localhost
tasks:
- name: Change NUMA affinity rule
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
numa_affinity: loose
state: poweredoff
Запуск на выделенных ядрах ЦП
- name: Example
hosts: localhost
tasks:
- name: Change CPU Pinning usage
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu_pin: true
state: poweredoff
Использование Huge Pages
- name: Example
hosts: localhost
tasks:
- name: Change Huge Pages usage
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
hp_backed: true
state: poweredoff
Имя
- name: Example
hosts: localhost
tasks:
- name: Rename VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
name: "{{ new_vm_name }}"
XML виртуальной машины
Изменение
- name: Example
hosts: localhost
tasks:
- name: Change XML management
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
custom_fields:
fields:
cpu:
mode: custom
vendor: Intel
cache:
mode: enable
os:
type:
machine: pc-i440fx-artful
Отключение управления ВМ через XML
- name: Example
hosts: localhost
tasks:
- name: Disable XML management
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
custom_fields:
disable: true
Автоматический запуск ВМ после перезапуска вычислительного узла, за которым она закреплена
Включить
- name: Example
hosts: localhost
tasks:
- name: Enable auto starting pinned VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
auto_start: true
Выключить
- name: Example
hosts: localhost
tasks:
- name: Disable auto starting of pinned VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
auto_start: false
Предпочтительные ядра
- name: Example
hosts: localhost
tasks:
- name: Change preferred CPU cores
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
cpu_pin: true
preferred_cpu_cores:
- 0
- 1
- 2
state: poweredoff
Удалить
Безвозвратно
- name: Example
hosts: localhost
tasks:
- name: Delete VM
decort_kvmvm:
# Параметры для авторизации упущены
id: "{{ vm_id }}"
state: absent