ww4-managed.ww
ww4-managed.ww
https://github.com/warewulf/warewulf/blob/05cf57a5/overlays/NetworkManager/rootfs/etc/NetworkManager/system-connections/ww4-managed.ww
{{- range $devname, $netdev := .NetDevs }} {{ file (print “warewulf-“ $devname “.conf”) }}
This file is autogenerated by warewulf
[connection] id={{ $devname }} {{- if $netdev.Device }} interface-name={{ $netdev.Device }} {{- end }} type={{ default “ethernet” (lower $netdev.Type) }} {{- if $netdev.Tags.master }} master={{ $netdev.Tags.master }} slave-type=bond {{- end }} autoconnect={{ $netdev.OnBoot.BoolDefaultTrue }}
{{- if eq (lower $netdev.Type) “bond” }} [bond] downdelay={{ default 0 $netdev.Tags.downdelay }} miimon={{ default 100 $netdev.Tags.miimon }} mode={{ default “balance-rr” $netdev.Tags.mode }} xmit_hash_policy={{ default “layer2+3” $netdev.Tags.xmit_hash_policy }} updelay={{ default 0 $netdev.Tags.updelay }} {{- end }}
{{- if eq (lower $netdev.Type) “infiniband” }} [infiniband] transport-mode=datagram {{- if $netdev.MTU }} mtu={{ $netdev.MTU }} {{- end }} {{- else if eq (default “ethernet” (lower $netdev.Type)) “ethernet” }} [ethernet] {{- if $netdev.Hwaddr }} mac-address={{ $netdev.Hwaddr }} {{- end }} {{- if $netdev.MTU }} mtu={{ $netdev.MTU }} {{- end }} {{- end }}
[ipv4] {{- $hasRoutes := false }} {{- range $tk, $tv := $netdev.Tags }} {{- if eq (substr 0 5 $tk) “route” }}{{ $hasRoutes = true }}{{ end }} {{- end }} {{- if and (or $netdev.Ipaddr $hasRoutes) (not $netdev.Tags.master) }} method=manual {{- if $netdev.Ipaddr }} address={{ $netdev.IpCIDR }} {{- end }} {{- else }} method=disabled {{- end }} {{- if $netdev.Gateway }} gateway={{ $netdev.Gateway }} {{- end }} {{- $dns := “” }} {{- range $tk, $tv := $netdev.Tags }} {{- if regexMatch “^DNS[0-9]*$” $tk }} {{- $dns = print $dns $tv “;” }} {{- else if eq (substr 0 5 $tk) “route” }} {{$tk}}={{$tv}} {{- end }} {{- end }} {{- if $dns }} dns={{$dns}} {{- end }} {{- if $netdev.Tags.DNSSEARCH }} dns-search={{ join “;” (without (regexSplit “[ ;]+” $netdev.Tags.DNSSEARCH -1) “”) }}; {{- end }}
[ipv6] {{- if $netdev.Tags.master }} method=disabled {{- else }} method=ignore addr-gen-mode=stable-privacy never-default=true {{- if $netdev.Ipaddr6 }} ipaddr=”{{ $netdev.Ipaddr6 }}” {{- end }} {{- end }}
{{- if eq $netdev.Type “vlan” }} [vlan] {{- if $netdev.Device }} interface-name={{ $netdev.Device }} {{- end }} parent={{ $netdev.Tags.parent_device }} id={{ $netdev.Tags.vlan_id }} {{- end }} {{- end }}