diff options
Diffstat (limited to 'roles/vm/host/network/tasks/main.yml')
-rw-r--r-- | roles/vm/host/network/tasks/main.yml | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/roles/vm/host/network/tasks/main.yml b/roles/vm/host/network/tasks/main.yml new file mode 100644 index 00000000..cd415d1e --- /dev/null +++ b/roles/vm/host/network/tasks/main.yml @@ -0,0 +1,42 @@ +--- +- name: configure bonds and vlans + when: "'bonds' in network or 'vlans' in network" + block: + - name: install ifenslave package + when: "'bonds' in network" + apt: + name: ifenslave + state: present + + - name: install vlan package + when: "'vlans' in network" + apt: + name: vlan + state: present + + - name: create network interfaces + template: + src: interfaces.j2 + dest: /etc/network/interfaces + +- name: create network bridges + when: "'bridges' in vm_host.network" + block: + - name: generate bridge interface config + loop: "{{ vm_host.network.bridges | default({}) | dict2items }}" + loop_control: + label: "{{ item.key }}" + template: + src: bridge-interfaces.j2 + dest: "/etc/network/interfaces.d/br-{{ item.key }}" + register: vmhost_bridge_config + + ## We don't try to be to clever here: aka don't call ifdown before ifup because + ## if there are VMs running they would end up with a broken network + - name: bring up bridge interfaces + loop: "{{ vmhost_bridge_config.results }}" + loop_control: + label: "br-{{ item.item.key }}" + when: item is changed + command: "/sbin/ifup br-{{ item.item.key }}" + failed_when: false |