- name: Install required system packages apt: name={{ item }} state=present update_cache=yes loop: [ 'ifupdown', 'ifenslave', ] tags: interfaces - name: Configure /etc/network/interfaces template: src: templates/interfaces.j2 dest: /etc/network/interfaces backup: yes tags: interfaces - name: Remove /etc/network/interfaces.d/eth0 file: path: /etc/network/interfaces.d/eth0 state: absent tags: interfaces - name: Get directory stats stat: path: "/etc/netplan" register: directory_stat - name: Delete directory file: path: "/etc/netplan" state: absent - name: Create directory file: path: "/etc/netplan" state: directory owner: "{{ directory_stat.stat.pw_name }}" group: "{{ directory_stat.stat.gr_name }}" mode: "{{ directory_stat.stat.mode }}" - name: Add the bonding module modprobe: name: bonding state: present tags: interfaces - name: Add the 8021q module modprobe: name: 8021q state: present tags: interfaces - name: Make sure 8021q\dot1q makes it into /etc/modules for loading at boot time lineinfile: path: /etc/modules state: present line: '8021q' tags: interfaces - name: Make sure bonding makes it into /etc/modules for loading at boot time lineinfile: path: /etc/modules state: present line: 'bonding' tags: interfaces - name: Make sure ip-tables makes it into /etc/modules for loading at boot time lineinfile: path: /etc/modules state: present line: 'ip-tables' tags: interfaces - name: Make sure ip6-tables makes it into /etc/modules for loading at boot time lineinfile: path: /etc/modules state: present line: 'ip6-tables' tags: interfaces