Sha256: 82406c57450c69afc0106858bd67e318866f039f8781841e3c491acd441caf7a

Contents?: true

Size: 1.46 KB

Versions: 6

Compression:

Stored size: 1.46 KB

Contents

<%#
name: Boot disk iPXE - generic host
snippet: false
model: ProvisioningTemplate
kind: Bootdisk
description: |
  Example foreman_bootdisk generic host template
 
  This template is generic, but it will chainload to Foreman so expects the
  host to be registered already.
 
  It loops through all interfaces using DHCP, requesting a template from
  Foreman in the hope that one of the MACs or IPs matches.
-%>
#!ipxe

echo Foreman Bootdisk: Generic image

# loop over net* until we can get a template
<% url = bootdisk_chain_url %>
<% (0..32).each do |i| -%>
:net<%= i %>
isset ${net<%= i -%>/mac} || goto no_nic
echo net<%= i -%> is a ${net<%= i -%>/chip} with MAC ${net<%= i -%>/mac}
dhcp net<%= i %> || goto net<%= i+1 %>
chain <%= url %>${net<%= i -%>/mac} || goto net<%= i+1 %>
exit 0
<% end -%>
echo Failed to chainload from any network interface, fallback to static.
ifstat

:no_nic
echo -n Enter interface name to boot from (e.g. net0):  && read interface
isset ${${interface}/mac} && goto get_static_ip
echo Interface ${interface} is not initialized, try again
goto no_nic

:get_static_ip
ifopen ${interface}
echo Please enter IP details for ${interface}
echo
echo -n IP address      :  && read ${interface}/ip
echo -n Subnet mask     :  && read ${interface}/netmask
echo -n Default gateway :  && read ${interface}/gateway
echo -n DNS server      :  && read dns
chain <%= url %>${${interface}/mac} || goto boot_failure
exit 0

:boot_failure
echo Cannot continue, spawning shell
shell

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman_bootdisk-19.0.9 app/views/foreman_bootdisk/generic_host.erb
foreman_bootdisk-19.0.8 app/views/foreman_bootdisk/generic_host.erb
foreman_bootdisk-19.0.7 app/views/foreman_bootdisk/generic_host.erb
foreman_bootdisk-19.0.6 app/views/foreman_bootdisk/generic_host.erb
foreman_bootdisk-19.0.4.1 app/views/foreman_bootdisk/generic_host.erb
foreman_bootdisk-19.0.5 app/views/foreman_bootdisk/generic_host.erb