Я импортирую роль Ansible в пьесу и выполняю ее задачу «Установить». Роль предназначена для создания виртуальных машин на гипервизоре, таком как Vbox, и работает нормально.
Однако я хочу использовать его для создания нескольких виртуальных машин одновременно, и я должен предоставить 2 переменные для этой цели:
- vm_ip: ip виртуальной машины, которая будет создана
- vm_name: имя создаваемого виртуального компьютера
Я уже почти все перепробовал с циклами, with_items и другими вещами. Например, этот код не работает:
- name: Create VMs
hosts: localhost
tasks:
- import_role:
name: vm_creation
tasks_from: install
vars:
vm_ip: "{{ item.ips }}"
vm_name: "{{ item.names }}"
loop:
- { ips: '192.168.20.4', names: 'test4' }
- { ips: '192.168.20.5', names: 'test5' }
Предполагается создать виртуальные машины как .20.4, так и .20.5, но игра вылетает, сообщая мне следующее: «Задача включает параметр с неопределенной переменной. Ошибка была:« элемент »не определен