From 4004a9ef6853e29c07bde98e855619e4fa4579c3 Mon Sep 17 00:00:00 2001 From: Timo Makinen Date: Fri, 17 May 2019 14:28:38 +0300 Subject: [PATCH] add support for defining multiple interfaces for virtual machines --- host_vars/git02.home.foo.sh.yml | 2 +- host_vars/mirror01.home.foo.sh.yml | 2 +- playbooks/include/vm-create.yml | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/host_vars/git02.home.foo.sh.yml b/host_vars/git02.home.foo.sh.yml index 7ebe13b..4d5952e 100644 --- a/host_vars/git02.home.foo.sh.yml +++ b/host_vars/git02.home.foo.sh.yml @@ -1,3 +1,3 @@ --- -mac_address: 52:54:00:ac:dc:18 +interfaces: [[20, "52:54:00:ac:dc:18"]] vmhost: vmhost02.home.foo.sh diff --git a/host_vars/mirror01.home.foo.sh.yml b/host_vars/mirror01.home.foo.sh.yml index fa00175..5e18de2 100644 --- a/host_vars/mirror01.home.foo.sh.yml +++ b/host_vars/mirror01.home.foo.sh.yml @@ -1,3 +1,3 @@ --- -mac_address: 52:54:00:ac:dc:15 +interfaces: [[20, "52:54:00:ac:dc:15"]] vmhost: vmhost01.home.foo.sh diff --git a/playbooks/include/vm-create.yml b/playbooks/include/vm-create.yml index 76e76cc..4a72feb 100644 --- a/playbooks/include/vm-create.yml +++ b/playbooks/include/vm-create.yml @@ -16,6 +16,11 @@ --disk /srv/libvirt/data/{{ inventory_hostname }}.{{ letters[num] }}.img,cache=none,format=raw,size={{ datadisk_size[num] }} {% endfor %} {% endif %} + virt_install_network: >- + {% for vlan, mac in interfaces %} + --network bridge=br{{ vlan }},mac={{ mac }},model=virtio + {% endfor %} + tasks: - name: get vm list @@ -61,7 +66,7 @@ --vcpus {{ num_cpus }} --cpu host-passthrough \ --disk /srv/libvirt/os/{{ inventory_hostname }}.a.img,cache=none,format=raw,size={{ dsk_size }} \ {{ extra_disks }} --initrd-inject {{ tmpdir.path }}/include.ks \ - --network bridge=br20,mac={{ mac_address }},model=virtio \ + {{ virt_install_network }} \ {{ virt_install_os_args }} delegate_to: localhost when: inventory_hostname not in result.list_vms