diff --git a/roles/Node/files/bridge.conf b/roles/Node/files/bridge.conf new file mode 100644 index 0000000..f4b9cc3 --- /dev/null +++ b/roles/Node/files/bridge.conf @@ -0,0 +1 @@ +allow br0 diff --git a/roles/Node/tasks/main.yml b/roles/Node/tasks/main.yml index 301f39d..86dc935 100644 --- a/roles/Node/tasks/main.yml +++ b/roles/Node/tasks/main.yml @@ -10,7 +10,8 @@ package: name: - edk2-ovmf - - qemu-headless + - qemu-base + - qemu-emulators-full - ddrescue state: present @@ -32,6 +33,7 @@ - name: QEMU Bridge Config become: yes + register: qemubr copy: src: bridge.conf dest: /etc/qemu/bridge.conf @@ -41,9 +43,10 @@ - name: System bridge interface become: yes + when: qemubr.changed register: br0 - copy: - src: br0 + template: + src: netctl-bridge.j2 dest: /etc/netctl/br0 owner: root group: root @@ -51,5 +54,10 @@ - name: Enable bridge become: yes - when: br0.changed + when: qemubr.changed or br0.changed command: "/bin/bash -l -c 'netctl enable br0 && netctl restart br0'" + + - name: Remind about restarting VMs + when: qemubr.changed or br0.changed + debug: + msg: You may need to restart VMs on the Node. diff --git a/roles/Node/templates/netctl-bridge.j2 b/roles/Node/templates/netctl-bridge.j2 new file mode 100644 index 0000000..7ad978e --- /dev/null +++ b/roles/Node/templates/netctl-bridge.j2 @@ -0,0 +1,5 @@ +Description="Bridged Network Interface for VMs" +Interface=br0 +Connection=bridge +BindsToInterfaces=({{ ipinterface }}) +IP=dhcp