From 158902440ee8adf057b8f9063997f5c5bad8cc25 Mon Sep 17 00:00:00 2001 From: Michael Wilson Date: Thu, 24 Nov 2022 21:22:46 +0100 Subject: [PATCH] add debian interface config --- hetzner/autoinstall/tasks/main.yml | 16 ++++++++++++++++ hetzner/autoinstall/templates/interface-config | 4 ++++ hetzner/autoinstall/templates/post-install.sh | 9 --------- 3 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 hetzner/autoinstall/templates/interface-config diff --git a/hetzner/autoinstall/tasks/main.yml b/hetzner/autoinstall/tasks/main.yml index 0932450..108db16 100644 --- a/hetzner/autoinstall/tasks/main.yml +++ b/hetzner/autoinstall/tasks/main.yml @@ -1,6 +1,7 @@ - name: bootstrap fully encrypted linux image when: hetzner_autoinstall|default(false) notify: unlock_disk + register: autoinstall block: - name: copy setup.conf template template: @@ -27,3 +28,18 @@ - name: flush handlers meta: flush_handlers + + - name: gather facts + setup: + +- name: configure additional interfaces (debian) + template: + dest: "/etc/network/interfaces.d/{{ interface }}.cfg" + src: interface-config + owner: root + group: root + mode: "0644" + become: yes + loop: "{{ ansible_interfaces }}" + loop_control: + loop_var: interface diff --git a/hetzner/autoinstall/templates/interface-config b/hetzner/autoinstall/templates/interface-config new file mode 100644 index 0000000..9e4b5e1 --- /dev/null +++ b/hetzner/autoinstall/templates/interface-config @@ -0,0 +1,4 @@ +{% if "ens" in interface and interface != "ens3" %} +auto {{ interface }} +iface {{ interface }} inet dhcp +{% endif %} diff --git a/hetzner/autoinstall/templates/post-install.sh b/hetzner/autoinstall/templates/post-install.sh index 20d2a9e..6d3398e 100644 --- a/hetzner/autoinstall/templates/post-install.sh +++ b/hetzner/autoinstall/templates/post-install.sh @@ -1,6 +1,5 @@ #!/bin/bash -DEBIAN_INTERFACES_CONFIG=/etc/network/interfaces add_rfc3442_hook() { cat << EOF > /etc/initramfs-tools/hooks/add-rfc3442-dhclient-hook #!/bin/sh @@ -49,11 +48,3 @@ echo "DEVICE={{ autoinstall_initramfs_interface }}" >> /etc/initramfs-tools/init # Update system apt-get update >/dev/null apt-get -y install cryptsetup-initramfs dropbear-initramfs - -{% for interface in ansible_interfaces %} -{% if "ens" in interface and interface != "ens3" and ansible_distribution|lower == "debian" %} -echo "" >> $DEBIAN_INTERFACES_CONFIG -echo "auto {{ interface }}" >> $DEBIAN_INTERFACES_CONFIG -echo "iface {{ interface }} inet dhcp" >> $DEBIAN_INTERFACES_CONFIG -{% endif %} -{% endfor %}