79 lines
1.8 KiB
YAML
79 lines
1.8 KiB
YAML
- 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
|