From c6c89634b635bb081652e71667921c7dda082da1 Mon Sep 17 00:00:00 2001 From: Murat Aybars <39916128+aybarsm@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:12:29 +0100 Subject: [PATCH] Empty commit message --- roles/network_interfaces/defaults/main.yml | 3 +++ roles/network_interfaces/templates/network_interfaces.j2 | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/network_interfaces/defaults/main.yml b/roles/network_interfaces/defaults/main.yml index 4edd8c4..870f3de 100644 --- a/roles/network_interfaces/defaults/main.yml +++ b/roles/network_interfaces/defaults/main.yml @@ -28,6 +28,9 @@ linux_network_interfaces_source_line: "source {{ linux_network_interfaces_seggre linux_network_interfaces_backup: true linux_network_interfaces_template: network_interfaces.j2 +# iface XXX inet {manual|static|dhcp} +# Manual method only INCLUDES selected options whereas static and dhcp methods EXCLUDES selected options +linux_network_interfaces_manual_includes: [] linux_network_interfaces_static_excludes: [] linux_network_interfaces_dhcp_excludes: [ 'address', 'netmask', 'gateway', 'broadcast', 'network', 'dns-nameservers', 'dns-search', diff --git a/roles/network_interfaces/templates/network_interfaces.j2 b/roles/network_interfaces/templates/network_interfaces.j2 index 4ea3df6..c25eede 100644 --- a/roles/network_interfaces/templates/network_interfaces.j2 +++ b/roles/network_interfaces/templates/network_interfaces.j2 @@ -17,13 +17,13 @@ iface lo inet loopback {% for addr_family in ['inet', 'inet6'] %} {% if addr_family in iface %} {% set ifaceMethod = iface[addr_family] | selectattr('name', 'equalto', 'method') | map(attribute='value') | first | default('') %} -{% if ifaceMethod in ['static', 'dhcp'] %} +{% if ifaceMethod in ['static', 'dhcp', 'manual'] %} iface {{ iface.name }} {{ addr_family }} {{ ifaceMethod }} {% set ifaceParamsExclude = linux_network_interfaces_dhcp_excludes | default([]) if ifaceMethod == 'dhcp' else linux_network_interfaces_static_excludes | default([]) %} {% set ifaceParamsExclude = ifaceParamsExclude + ['method'] %} {% set ifaceParams = iface[addr_family] | rejectattr('name', 'in', ifaceParamsExclude) %} {% if ifaceParams | length > 0 %} -{{ ifaceParams | flatten_query('name', 'value', ' ', '\n') | indent(4, true) }} +{{ ifaceParams | aybarsm.helper.flatten_query('name', 'value', ' ', '\n') | indent(4, true) }} {% endif %} {% endif %}