summaryrefslogtreecommitdiff
path: root/roles/vm/network/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'roles/vm/network/tasks')
-rw-r--r--roles/vm/network/tasks/lan.yml6
-rw-r--r--roles/vm/network/tasks/main.yml9
-rw-r--r--roles/vm/network/tasks/public.yml33
-rw-r--r--roles/vm/network/tasks/systemd-link.yml15
4 files changed, 63 insertions, 0 deletions
diff --git a/roles/vm/network/tasks/lan.yml b/roles/vm/network/tasks/lan.yml
new file mode 100644
index 00000000..ec436e9b
--- /dev/null
+++ b/roles/vm/network/tasks/lan.yml
@@ -0,0 +1,6 @@
+---
+- name: install interface config (LAN only)
+ template:
+ src: interfaces_lan.j2
+ dest: /etc/network/interfaces
+ mode: 0644
diff --git a/roles/vm/network/tasks/main.yml b/roles/vm/network/tasks/main.yml
new file mode 100644
index 00000000..222a350b
--- /dev/null
+++ b/roles/vm/network/tasks/main.yml
@@ -0,0 +1,9 @@
+---
+- import_tasks: systemd-link.yml
+ when: srv_network.systemd_link is defined
+
+- import_tasks: public.yml
+ when: srv_network.public is defined
+
+- import_tasks: lan.yml
+ when: srv_network.public is not defined
diff --git a/roles/vm/network/tasks/public.yml b/roles/vm/network/tasks/public.yml
new file mode 100644
index 00000000..8b0e317a
--- /dev/null
+++ b/roles/vm/network/tasks/public.yml
@@ -0,0 +1,33 @@
+---
+- name: set routing table names
+ with_items:
+ - { regexp: '^89\s', line: '89 mur-default' }
+ - { regexp: '^212\s', line: '212 upc-default' }
+ lineinfile:
+ regexp: "{{ item.regexp }}"
+ line: "{{ item.line }}"
+ dest: /etc/iproute2/rt_tables
+
+- name: calculate address lists
+ set_fact:
+ srv_network_public_firewall_ipv4:
+ - "{{ srv_network.public.ip_mur }}"
+ - "{{ srv_network.public.ip_upc }}"
+ srv_network_public_firewall_ipv6:
+ - "{{ srv_network.public.ip_mur6 }}"
+
+- name: install firewall scripts
+ with_items:
+ - 4
+ - 6
+ template:
+ src: firewall.sh_public.j2
+ dest: "/etc/network/firewall{{ item }}.sh"
+ mode: 0755
+ when: srv_network.public.firewall is defined
+
+- name: install interface config (Public)
+ template:
+ src: interfaces_public.j2
+ dest: /etc/network/interfaces
+ mode: 0644
diff --git a/roles/vm/network/tasks/systemd-link.yml b/roles/vm/network/tasks/systemd-link.yml
new file mode 100644
index 00000000..ad12cd37
--- /dev/null
+++ b/roles/vm/network/tasks/systemd-link.yml
@@ -0,0 +1,15 @@
+---
+- name: remove legacy systemd.link units
+ file:
+ name: "/etc/systemd/network/{{ item }}"
+ state: absent
+ with_items:
+ - 50-virtio-kernel-names.link
+ - 99-default.link
+
+- name: install systemd network link units
+ template:
+ src: systemd.link.j2
+ dest: "/etc/systemd/network/{{ '%02d' | format(item.idx + 10) }}-{{ item.name }}.link"
+ with_items: "{{ srv_network.systemd_link.interfaces }}"
+ notify: rebuild initramfs