Add inst.ks.sendmac to the iPXE boot script
ci/woodpecker/push/pre-commit Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/push/validate Pipeline was successful
ci/woodpecker/pr/validate Pipeline was successful

Cobbler's per-MAC gPXE script passed inst.ks.sendmac, making anaconda send its
interface MACs as X-RHN-Provisioning-MAC-N headers when fetching the kickstart.
The bootapi iPXE script omitted it, so it was not a full drop-in for Cobbler's
gpxe output.

- Emit inst.ks.sendmac immediately before inst.ks= in the boot iPXE template,
  matching Cobbler ordering.

Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
This commit is contained in:
2026-08-06 22:19:32 +10:00
parent bbbb4a4bbc
commit ee81dd9e51
+4 -2
View File
@@ -6,12 +6,14 @@ it. Mirrors how Cobbler generated a per-MAC gPXE script carrying inst.ks=.
KernelURL/InitrdURL/RepoURL come from the selected catalog entry (artifactapi KernelURL/InitrdURL/RepoURL come from the selected catalog entry (artifactapi
remote); KernelArgs are the catalog's extra args. KickstartURL uses remote); KernelArgs are the catalog's extra args. KickstartURL uses
BOOTAPI_BASE_URL (http://). BOOTAPI_BASE_URL (http://). inst.ks.sendmac makes anaconda send its interface
MACs as X-RHN-Provisioning-MAC-N headers when fetching the kickstart (Cobbler
parity; lets /ks resolve a host by MAC as well as by name).
*/ -}} */ -}}
#!ipxe #!ipxe
echo bootapi: provisioning {{ .FQDN }} ({{ .Platform }}) echo bootapi: provisioning {{ .FQDN }} ({{ .Platform }})
{{ if and .KernelURL .InitrdURL -}} {{ if and .KernelURL .InitrdURL -}}
kernel {{ .KernelURL }} initrd=initrd.img{{ if .RepoURL }} inst.repo={{ .RepoURL }}{{ end }} inst.ks={{ .KickstartURL }} ip=dhcp{{ range .KernelArgs }} {{ . }}{{ end }} kernel {{ .KernelURL }} initrd=initrd.img{{ if .RepoURL }} inst.repo={{ .RepoURL }}{{ end }} inst.ks.sendmac inst.ks={{ .KickstartURL }} ip=dhcp{{ range .KernelArgs }} {{ . }}{{ end }}
initrd {{ .InitrdURL }} initrd {{ .InitrdURL }}
boot boot
{{- else -}} {{- else -}}