Commit 0c0a91eb authored by Leigh Stoller's avatar Leigh Stoller

No longer need the nobootinfo version of the dhcpd template, this

change is rolled into the main template and subboss template.
parent d98046da
...@@ -44,12 +44,11 @@ all: $(DHCPD_FILES) ...@@ -44,12 +44,11 @@ all: $(DHCPD_FILES)
include $(TESTBED_SRCDIR)/GNUmakerules include $(TESTBED_SRCDIR)/GNUmakerules
ifeq ($(DISABLE_DHCPD_INSTALL),0) ifeq ($(DISABLE_DHCPD_INSTALL),0)
install: install-real
ifeq ($(BOOTINFO_EVENTS),0) ifeq ($(BOOTINFO_EVENTS),0)
install: install-nobootinfo-real
subboss-install: subboss-install:
@echo "Must have BOOTINFO_EVENTS to support a subboss right now" @echo "Must have BOOTINFO_EVENTS to support a subboss right now"
else else
install: install-real
subboss-install: subboss-install-real subboss-install: subboss-install-real
endif endif
else else
...@@ -69,11 +68,6 @@ install-real: \ ...@@ -69,11 +68,6 @@ install-real: \
$(ETCDIR)/dhcpd.conf.template $(ETCDIR)/dhcpd.conf.subboss.template $(ETCDIR)/dhcpd.conf.template $(ETCDIR)/dhcpd.conf.subboss.template
-chmod 664 $(ETCDIR)/dhcpd.conf.template -chmod 664 $(ETCDIR)/dhcpd.conf.template
install-nobootinfo-real: \
dhcpd.conf.nobootinfo.template
$(INSTALL) dhcpd.conf.nobootinfo.template $(ETCDIR)/dhcpd.conf.template
-chmod 664 $(ETCDIR)/dhcpd.conf.template
clean: clean:
rm -f $(DHCPD_FILES) $(SUBBOSS_DHCPD_FILES) rm -f $(DHCPD_FILES) $(SUBBOSS_DHCPD_FILES)
......
#
# dhcpd.conf.template - From the emulab software distribution
#
# This file is used with dhcpd_makeconf to generate an actual dhpd.conf file
# from the database.
#
# Make sure to change all subnets (don't forget the mask!), the DHCP and DNS
# servers' IP addresses, the router's IP, and see the comment about nodetypes
# below.
#
server-identifier @BOSSNODE_IP@;
server-name "@BOSSNODE_IP@";
# Config these too?
option root-path "/tftpboot";
filename "/tftpboot/pxeboot.emu";
default-lease-time 36000; # 10 hours
max-lease-time 36000; # 10 hours
ddns-update-style none; # req'd vers 3 directive
# Define the PXE option space
# Code 1: Multicast IP address of bootfile
# Code 2: UDP port that client should monitor for MTFTP responses
# Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests
# Code 4: Number of secondes a client must listen for activity before trying
# to start a new MTFTP transfer
# Code 5: Number of secondes a client must listen before trying to restart
# a MTFTP transfer
# Code 128: IP address of Emulab bootinfo server
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
option PXE.emulab-bootinfo code 128 = ip-address;
#
# For PXE booting nodes we set the magic bits to tell the client that we are
# PXE-saavy so they don't wait around for 12 seconds or so waiting for a
# better response.
#
# If, for some reason, this doesn't work for you, just comment out the
# entire PXE class block. It will work without it, it will just take longer.
#
class "PXE" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
# bit 3 = If set, and a boot file name is present in the initial
# DHCP or ProxyDHCP offer packet, download the boot file (do not
# prompt/menu/discover).
option PXE.discovery-control 8;
}
on commit {
if (@BOOTINFO_EVENTS@ = 0) {
if (substring (option vendor-class-identifier, 0, 9) = "PXEClient") {
set boot = "PXE";
} elsif (substring (option vendor-class-identifier, 0, 6) = "U-boot") {
set boot = "PXE";
} else {
set boot = "OS";
}
set clip = binary-to-ascii(10, 8, ".", leased-address);
set clhw = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
execute("@prefix@/sbin/reportboot", clip, clhw, boot);
}
}
@DHCPD_CONTROLNET_DECL@
shared-network emulab {
subnet @CONTROL_NETWORK@ netmask @CONTROL_NETMASK@ {
option subnet-mask @CONTROL_NETMASK@;
option routers @CONTROL_ROUTER_IP@;
option domain-name-servers @BOSSNODE_IP@;
option domain-name "@OURDOMAIN@";
next-server @BOSSNODE_IP@;
# Example of a dynamic range. If you uncomment the following line
# (after changing the IP addresses to suitable ones, of course)
# unknown nodes will get assigned a random IP in it
#range @DHCPD_DYNRANGE@;
# testbed PCs
group {
#
# For every PC nodetype, include a line like the one below.
# These lines will be replaced with auto-generated entries for
# nodes of that type. You can also use the class field from the
# node_types table
#
%%nodetype=pc
}
}
%%management
#
# Private network; for virtual (jailed) nodes.
#
subnet @VIRTNODE_NETWORK@ netmask @VIRTNODE_NETMASK@ {
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment