From db2b3b7ee14f22b91d9f2279817866811c574515 Mon Sep 17 00:00:00 2001 From: Jerry Vonau Date: Sat, 12 May 2018 17:08:07 -0500 Subject: [PATCH] netplan systemd-networkd static support --- roles/2-common/tasks/packages.yml | 1 + roles/network/tasks/sysd-netd-debian.yml | 12 ++++++++++++ roles/network/templates/network/cloud-init.j2 | 11 +++++++++++ 3 files changed, 24 insertions(+) create mode 100644 roles/network/templates/network/cloud-init.j2 diff --git a/roles/2-common/tasks/packages.yml b/roles/2-common/tasks/packages.yml index 05c38f359..fdb840965 100644 --- a/roles/2-common/tasks/packages.yml +++ b/roles/2-common/tasks/packages.yml @@ -61,6 +61,7 @@ - bzip2 - i2c-tools - bridge-utils + - netmask - usbutils - hostapd - wget diff --git a/roles/network/tasks/sysd-netd-debian.yml b/roles/network/tasks/sysd-netd-debian.yml index 68af9fc45..d536ef859 100644 --- a/roles/network/tasks/sysd-netd-debian.yml +++ b/roles/network/tasks/sysd-netd-debian.yml @@ -28,6 +28,18 @@ state: stopped when: is_ubuntu_18 +- name: Static IP computing CIDR + shell: netmask {{ wan_ip }}/{{ wan_netmask }} | awk -F "/" '{print $2}' + when: wan_ip != "dhcp" + register: CIDR + +- name: Supply static template + template: + dest: /etc/netplan/50-cloud-init.yaml + src: network/cloud-init.j2 + backup: yes + when: wan_ip != "dhcp" + - name: Reload systemd systemd: daemon_reload: yes diff --git a/roles/network/templates/network/cloud-init.j2 b/roles/network/templates/network/cloud-init.j2 new file mode 100644 index 000000000..c0c95e48c --- /dev/null +++ b/roles/network/templates/network/cloud-init.j2 @@ -0,0 +1,11 @@ +network: + ethernets: + {{ iiab_wan_iface }}: + dhcp4: false + dhcp6: false + addresses: [{{ wan_ip }}/{{ CIDR.stdout }}] + gateway4: {{ wan_gateway }} + nameservers: + addresses: [{{ wan_nameserver }}] + optional: true + version: 2