diff --git a/CHANGELOG.md b/CHANGELOG.md index 51ef1e9b..447dc271 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add nightly release support. #969 - Add container rename command. #583 - Add container build flags and warn message after container sync. #509 +- Add DNS fields to network configuration overlays. #922 ### Fixed - Make Variables.mk consistent with spec file w.r.t. WWPROVISIONDIR, e.g. diff --git a/overlays/wwinit/etc/NetworkManager/system-connections/ww4-managed.ww b/overlays/wwinit/etc/NetworkManager/system-connections/ww4-managed.ww index c90f6f1d..b633a260 100644 --- a/overlays/wwinit/etc/NetworkManager/system-connections/ww4-managed.ww +++ b/overlays/wwinit/etc/NetworkManager/system-connections/ww4-managed.ww @@ -65,6 +65,16 @@ address={{ $netdev.IpCIDR }} gateway={{ $netdev.Gateway }} {{ end -}} method=manual +{{- $dns := "" }} +{{range $tk, $tv := $netdev.Tags -}} +{{ $prefix := slice $tk 0 3 -}} +{{ if eq $prefix "DNS" -}} +{{ $dns = print $dns $tv ";" -}} +{{ end -}} +{{ end -}} +{{ if ne $dns "" -}} +dns={{$dns}} +{{ end -}} {{ end -}} {{/* always autoconfigure ipv6 */}} diff --git a/overlays/wwinit/etc/resolv.conf.ww b/overlays/wwinit/etc/resolv.conf.ww new file mode 100644 index 00000000..f245b9e7 --- /dev/null +++ b/overlays/wwinit/etc/resolv.conf.ww @@ -0,0 +1,15 @@ +{{- $host := .BuildHost }} +{{- $time := .BuildTime }} +{{- $source := .BuildSource }} +# This file is autogenerated by warewulf +# Host: {{ $host }} +# Time: {{ $time }} +# Source: {{ $source }} +{{range $devname, $netdev := .NetDevs -}} +{{range $tk, $tv := $netdev.Tags -}} +{{ $prefix := slice $tk 0 3 -}} +{{ if eq $prefix "DNS" -}} +nameserver {{ $tv }} +{{ end -}} +{{ end -}} +{{ end -}} diff --git a/overlays/wwinit/etc/sysconfig/network-scripts/ifcfg.ww b/overlays/wwinit/etc/sysconfig/network-scripts/ifcfg.ww index c2cf4c95..1f45ed1f 100644 --- a/overlays/wwinit/etc/sysconfig/network-scripts/ifcfg.ww +++ b/overlays/wwinit/etc/sysconfig/network-scripts/ifcfg.ww @@ -37,4 +37,10 @@ IPV6_FAILURE_FATAL=no {{ if $netdev.Ipaddr6 -}} IPV6ADDR="{{ $netdev.Ipaddr6 }}" {{ end -}} +{{range $tk, $tv := $netdev.Tags -}} +{{ $prefix := slice $tk 0 3 -}} +{{ if eq $prefix "DNS" -}} +{{ $tk }}={{ $tv }} +{{ end -}} +{{ end -}} {{ end -}}