IPv6: /etc/hosts support

Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
This commit is contained in:
Timothy Middelkoop
2025-11-27 02:48:28 +00:00
parent 4f58845a9e
commit f5b4333781
4 changed files with 43 additions and 0 deletions

View File

@@ -27,6 +27,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Rename Netdev ip6addr to ipaddr6 for consistency
- Set `addr-gen-mode=eui64`
- Set dnsmasq to listen to the Warewulf interface to prevent to binding to localhost:53
- Added Ipv6 support to `/etc/hosts` on host and nodes.
### Removed

View File

@@ -333,6 +333,14 @@ Filename: etc/hosts
192.168.3.22 node1-secondary node1-wwnet1
# Entry for node2
192.168.3.23 node2 node2-default node2-wwnet0
# Warewulf Ipv6
2001:db8::1 %HOSTNAME% warewulf
# Entry for node1
2001:db8::111 node1 node1-default node1-wwnet0
2001:db8::112 node1-secondary node1-wwnet1
# Entry for node2
2001:db8::121 node2 node2-default node2-wwnet0
`
const host_ssh_setup_csh = `backupFile: true

View File

@@ -14,3 +14,20 @@
{{- end }}{{/* if ip */}}
{{- end }}{{/* for each network device */}}
{{- end }}{{/* for each node */}}
{{- if .Ipv6 }}
# Warewulf Ipv6
{{$.Ipaddr6}} {{$.BuildHost}} warewulf
{{- range $node := $.AllNodes}}{{/* for each node */}}
# Entry for {{$node.Id}}
{{- range $devname, $netdev := $node.NetDevs}}{{/* for each network device on the node */}}
{{- if $netdev.Ipaddr6}}{{/* if we have an ip address on this network device */}}
{{- /* emit the node name as hostname if this is the primary */}}
{{$netdev.Ipaddr6}} {{if $netdev.Primary}}{{$node.Id}}{{end}} {{$node.Id}}-{{$devname}} {{if $netdev.Device}}{{$node.Id}}-{{$netdev.Device}}{{end}}
{{- end }}{{/* if ip */}}
{{- end }}{{/* for each network device */}}
{{- end }}{{/* for each node */}}
{{- end }}{{/* for .IPv6 */}}

View File

@@ -12,3 +12,20 @@
{{- end }}
{{- end }}
{{- end }}
{{- if .Ipv6 }}
# Warewulf Ipv6
{{$.Ipaddr6}} {{$.BuildHost}} warewulf
{{- range $node := $.AllNodes}}{{/* for each node */}}
# Entry for {{$node.Id}}
{{- range $devname, $netdev := $node.NetDevs}}{{/* for each network device on the node */}}
{{- if $netdev.Ipaddr6}}{{/* if we have an ip address on this network device */}}
{{- /* emit the node name as hostname if this is the primary */}}
{{$netdev.Ipaddr6}} {{if $netdev.Primary}}{{$node.Id}}{{end}} {{$node.Id}}-{{$devname}} {{if $netdev.Device}}{{$node.Id}}-{{$netdev.Device}}{{end}}
{{- end }}{{/* if ip */}}
{{- end }}{{/* for each network device */}}
{{- end }}{{/* for each node */}}
{{- end }}{{/* for .IPv6 */}}