From d38b3a48b7bb2f4754b86abf7eba5d0feeeb280d Mon Sep 17 00:00:00 2001 From: Benjamin Graillot Date: Tue, 21 Apr 2020 14:40:53 +0200 Subject: [PATCH] [interfaces] Deploy interfaces on charybde --- interfaces.yml | 4 +++ roles/interfaces/tasks/main.yml | 7 ++++ .../network/interfaces.d/03-borne.j2 | 34 +++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 roles/interfaces/templates/network/interfaces.d/03-borne.j2 diff --git a/interfaces.yml b/interfaces.yml index f0a87578..f83070ac 100755 --- a/interfaces.yml +++ b/interfaces.yml @@ -12,6 +12,9 @@ - shell: grep adm /sys/class/net/*/ifalias | sed "s|/sys/class/net/||" | sed "s|/ifalias:.*||" register: adm_iface check_mode: no + - shell: grep borne /sys/class/net/*/ifalias | sed "s|/sys/class/net/||" | sed "s|/ifalias:.*||" + register: borne_iface + check_mode: no - shell: grep fil /sys/class/net/*/ifalias | sed "s|/sys/class/net/||" | sed "s|/ifalias:.*||" register: fil_iface check_mode: no @@ -26,6 +29,7 @@ - ens_gateway: 138.231.136.254 - ens_dns: 138.231.136.152 138.231.136.4 - adm_dns: 10.231.136.152 10.231.136.4 + - borne_dns: 10.231.148.4 - fil_gateway: 10.54.0.254 - fil_dns: 10.54.0.152 10.54.0.4 - adh_gateway: 185.230.78.254 diff --git a/roles/interfaces/tasks/main.yml b/roles/interfaces/tasks/main.yml index 4bf0fc42..91fe4164 100644 --- a/roles/interfaces/tasks/main.yml +++ b/roles/interfaces/tasks/main.yml @@ -26,6 +26,13 @@ mode: 0644 when: adm_iface.stdout +- name: Deploy adm interface config + template: + src: network/interfaces.d/03-borne.j2 + dest: /etc/network/interfaces.d/03-borne + mode: 0644 + when: borne_iface.stdout + - name: Deploy fil interface config template: src: network/interfaces.d/21-fil.j2 diff --git a/roles/interfaces/templates/network/interfaces.d/03-borne.j2 b/roles/interfaces/templates/network/interfaces.d/03-borne.j2 new file mode 100644 index 00000000..0eb3ecb2 --- /dev/null +++ b/roles/interfaces/templates/network/interfaces.d/03-borne.j2 @@ -0,0 +1,34 @@ +{{ ansible_header | comment }} + +{% set borne = hostvars[inventory_hostname]['ansible_' + borne_iface.stdout] %} +allow-hotplug {{ borne_iface.stdout }} +iface {{ borne_iface.stdout }} inet static + address {{ borne.ipv4.address }} + network {{ borne.ipv4.network }} + netmask {{ borne.ipv4.netmask }} + broadcast {{ borne.ipv4.broadcast }} + mtu 1496 + dns-nameservers {{ borne_dns }} + dns-search borne.crans.org + up /sbin/ip link set $IFACE alias borne +{% if 'interfaces' in ansible_local %} +{% if 'sup_if_4' in ansible_local.interfaces %} +{% if borne_iface.stdout in ansible_local.interfaces.sup_if_4 %} +{% for line in ansible_local.interfaces.sup_if_4[borne_iface.stdout] %} + {{ line }} +{% endfor %} +{% endif %} +{% endif %} +{% endif %} + +iface {{ borne_iface.stdout }} inet6 static + address {{ borne.ipv6[0].address }}/{{ borne.ipv6[0].prefix }} +{% if 'interfaces' in ansible_local %} +{% if 'sup_if_6' in ansible_local.interfaces %} +{% if borne_iface.stdout in ansible_local.interfaces.sup_if_6 %} +{% for line in ansible_local.interfaces.sup_if_6[borne_iface.stdout] %} + {{ line }} +{% endfor %} +{% endif %} +{% endif %} +{% endif %}