puppet-ironic/templates/inspector_dnsmasq_http.erb
Miles Gould a7e66a34a4 Allow chainloading of Inspector ramdisk over UEFI
To send the Inspector ramdisk over HTTP rather than TFTP, we must first
send an iPXE boot image that knows how to speak HTTP, and then instruct
it to "chainload" the inspector ramdisk. Previously, we could only do
this if the machine being introspected had BIOS firmware. However, most
modern servers now use UEFI firmware, which requires a different iPXE
boot image (as described at http://ipxe.org/howto/chainloading).

We must specify the initrd in the iPXE `kernel` line to avoid the
problem described at http://forum.ipxe.org/showthread.php?tid=7589.

Change-Id: I9cb102178bee8039a8cfc157154ecbd315aba871
2016-04-08 17:25:37 +01:00

20 lines
651 B
Plaintext

port=0
interface=<%= @dnsmasq_interface %>
bind-interfaces
dhcp-range=<%= @dnsmasq_ip_range %>,29
enable-tftp
tftp-root=/tftpboot
dhcp-sequential-ip
dhcp-match=ipxe,175
<% if @enable_uefi -%>
dhcp-match=set:efi,option:client-arch,7
<% end -%>
# Client is running iPXE; move to next stage of chainloading
dhcp-boot=tag:ipxe,http://<%= @dnsmasq_local_ip %>:8088/inspector.ipxe
<% if @enable_uefi -%>
# Client is running PXE over EFI; send EFI version of iPXE chainloader
dhcp-boot=tag:efi,ipxe.efi
# Client is running PXE over BIOS; send BIOS version of iPXE chainloader
<% end -%>
dhcp-boot=undionly.kpxe,localhost.localdomain,<%= @dnsmasq_local_ip %>