ansible-network-config/tasks/main.yml

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