67 lines
1.8 KiB
Plaintext
67 lines
1.8 KiB
Plaintext
{{if .Dhcp.Enabled -}}
|
|
# This file is autogenerated by warewulf
|
|
# Host: {{.BuildHost}}
|
|
# Time: {{.BuildTime}}
|
|
# Source: {{.BuildSource}}
|
|
|
|
allow booting;
|
|
allow bootp;
|
|
ddns-update-style interim;
|
|
authoritative;
|
|
|
|
option space ipxe;
|
|
|
|
# Tell iPXE to not wait for ProxyDHCP requests to speed up boot.
|
|
option ipxe.no-pxedhcp code 176 = unsigned integer 8;
|
|
option ipxe.no-pxedhcp 1;
|
|
|
|
option architecture-type code 93 = unsigned integer 16;
|
|
|
|
if exists user-class and option user-class = "iPXE" {
|
|
filename "http://{{$.Ipaddr}}:{{$.Warewulf.Port}}/ipxe/${mac:hexhyp}";
|
|
} else {
|
|
{{- if .BoothMethpd == "ipxe" }}
|
|
{{range $type,$name := $.Tftp.IpxeBinaries }}
|
|
if option architecture-type = {{ $type }} {
|
|
filename "/warewulf/{{ basename $name }}";
|
|
}
|
|
{{- end }}{{/* range IpxeBinaries */}}
|
|
{{ else }}
|
|
filename {{ .DefaultShim }}
|
|
{{- end }}{{/* BootMethod */}}
|
|
}
|
|
|
|
{{if eq .Dhcp.Template "static" -}}
|
|
subnet {{$.Network}} netmask {{$.Netmask}} {
|
|
next-server {{$.Ipaddr}};
|
|
}
|
|
{{range $nodes := .AllNodes}}
|
|
{{- range $netname, $netdevs := $nodes.NetDevs}}
|
|
host {{$nodes.Id.Get}}-{{if $netdevs.Device.Defined}}{{$netdevs.Device.Get}}{{else}}{{$netname}}{{end}} {
|
|
{{- if $netdevs.Hwaddr.Defined}}
|
|
hardware ethernet {{$netdevs.Hwaddr.Get}};
|
|
{{- end}}
|
|
{{- if $netdevs.Ipaddr.Defined}}
|
|
fixed-address {{$netdevs.Ipaddr.Get}};
|
|
{{- end}}
|
|
{{- if $netdevs.Primary.GetB}}
|
|
option host-name "{{$nodes.Id.Get}}";
|
|
{{else}}
|
|
option host-name "{{$nodes.Id.Get}}-{{if $netdevs.Device.Defined}}{{$netdevs.Device.Get}}{{else}}{{$netname}}{{end}}";
|
|
{{- end}}
|
|
}
|
|
{{end -}}
|
|
{{end -}}
|
|
|
|
{{else -}}
|
|
subnet {{$.Network}} netmask {{$.Netmask}} {
|
|
max-lease-time 120;
|
|
range {{$.Dhcp.RangeStart}} {{$.Dhcp.RangeEnd}};
|
|
next-server {{$.Ipaddr}};
|
|
}
|
|
{{end}}
|
|
|
|
{{- else}}
|
|
{{abort}}
|
|
{{- end}}
|