55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
---
|
|
|
|
- name: Check state of /etc/network/interfaces
|
|
stat:
|
|
path: /etc/network/interfaces
|
|
register: interfaces_file
|
|
|
|
- debug:
|
|
msg: A /etc/network/interfaces file already exists, nothing is done.
|
|
when: interfaces_file.stat.exists
|
|
|
|
- block:
|
|
- name: "Parse addresses"
|
|
shell: "grep Address= /etc/systemd/network/50-default.network | cut -d'=' -f2"
|
|
register: network_address_grep
|
|
check_mode: no
|
|
|
|
- name: "Parse gateways"
|
|
shell: "grep Gateway= /etc/systemd/network/50-default.network | cut -d'=' -f2"
|
|
register: network_gateway_grep
|
|
check_mode: no
|
|
|
|
- name: Prepare variables
|
|
set_fact:
|
|
eni_interface_name: "{{ ansible_default_ipv4.interface }}"
|
|
eni_ipv4_address: "{{ network_address_grep.stdout_lines | ipv4 | first }}"
|
|
eni_ipv4_gateway: "{{ network_gateway_grep.stdout_lines | ipv4 | first }}"
|
|
eni_ipv6_address: "{{ network_address_grep.stdout_lines | ipv6 | first }}"
|
|
eni_ipv6_gateway: "{{ network_gateway_grep.stdout_lines | ipv6 | first }}"
|
|
|
|
- name: "A new /etc/network/interfaces is generated"
|
|
template:
|
|
src: interfaces.j2
|
|
dest: /etc/network/interfaces
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
|
|
- name: "Systemd 'networkd' unit is stopped and disabled"
|
|
systemd:
|
|
name: systemd-networkd.service
|
|
enabled: False
|
|
state: stopped
|
|
|
|
- name: "Systemd 'networking' unit is restarted (it often results in error)"
|
|
systemd:
|
|
name: networking
|
|
enabled: True
|
|
state: restarted
|
|
ignore_errors: True
|
|
|
|
- debug:
|
|
msg: You should verify your configuration, then reboot the server.
|
|
when: not interfaces_file.stat.exists
|