diff options
author | Christian Pointner <equinox@spreadspace.org> | 2020-07-08 03:16:17 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2020-07-11 02:29:02 +0200 |
commit | cb006428feac7f330fee3098dbf749aec6ebf585 (patch) | |
tree | eafe7a9dfb42484958688b04df9639b3f6fd8661 /roles/vm/host/network/tasks/main.yml | |
parent | refactor vm role names (diff) |
vm/host/network: config initial setup works now
Diffstat (limited to 'roles/vm/host/network/tasks/main.yml')
-rw-r--r-- | roles/vm/host/network/tasks/main.yml | 39 |
1 files changed, 39 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..e7668917 --- /dev/null +++ b/roles/vm/host/network/tasks/main.yml @@ -0,0 +1,39 @@ +--- +- 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 |