aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Jeanneret <cedric.jeanneret@camptocamp.com>2010-11-05 14:47:31 +0100
committerCédric Jeanneret <cedric.jeanneret@camptocamp.com>2010-11-05 14:47:31 +0100
commit98407bfa96e8600d82abf24ef95d91a6ff911c4d (patch)
treedf332638a6ff3f9193117e96d0c83d16a6e60f89
parentd5c5782194f3623332d61bc856727d52d3621149 (diff)
downloadpuppet-dhcp-98407bfa96e8600d82abf24ef95d91a6ff911c4d.tar.gz
puppet-dhcp-98407bfa96e8600d82abf24ef95d91a6ff911c4d.tar.bz2
(dhcp::server and associated erb) updated documentation and template
-rw-r--r--manifests/classes/dhcp-server.pp26
-rw-r--r--templates/dhcpd.conf.debian.erb11
2 files changed, 14 insertions, 23 deletions
diff --git a/manifests/classes/dhcp-server.pp b/manifests/classes/dhcp-server.pp
index f0efea0..b9a36ef 100644
--- a/manifests/classes/dhcp-server.pp
+++ b/manifests/classes/dhcp-server.pp
@@ -6,33 +6,27 @@ Simple OS wrapper. Include this to install a dhcp server on your host.
Requires:
module "common": git://github.com/camptocamp/puppet-common.git
-Required arguments:
- *$dhcpd_domain_name*: domain-name option
- *$dhcpd_dns_servers*: domain-name-servers option
-
facultative argument:
- *$dhcpd_ddns_update*: ddns-update-style option
- *$dhcpd_ddns_authoritative*: set it if you want that your DHCP server is authoritative
+ *$dhcpd_ddns_update* : ddns-update-style option (default to none)
+ *$dhcpd_authoritative* : set it if you want that your DHCP server is authoritative (default to no)
+ *$dhcpd_opts* : any other DHCPD valid options
Example:
node "dhcp.toto.ltd" {
- $dhcpd_domain_name = 'toto.ltd'
- $dhcpd_dns_servers = '192.168.21.1'
+ $dhcpd_opts = ['domain-name "toto.ltd"', "domain-name-servers 192.168.21.1"]
include dhcp::server
- dhcp::subnet {"192.168.20.0":
- ensure => present,
- bcast => "192.168.20.255",
- dns => "192.168.21.1, 10.26.22.1",
- other_opt => ['filename "pxelinux.0";', 'next-server 192.168.10.1;'],
- inc => true,
+ dhcp::subnet {"10.27.20.0":
+ ensure => present,
+ broadcast => "10.27.20.255",
+ other_opts => ['filename "pxelinux.0";', 'next-server 10.27.10.1;'],
}
dhcp::host {"titi-eth0":
ensure => present,
mac => "0e:18:fa:fe:d9:00",
- subnet => "192.168.20.0",
- fixed_address => "192.168.10.52",
+ subnet => "10.27.20.0",
+ fixed_address => "10.27.10.52",
}
}
*/
diff --git a/templates/dhcpd.conf.debian.erb b/templates/dhcpd.conf.debian.erb
index 8cd3183..7606c0c 100644
--- a/templates/dhcpd.conf.debian.erb
+++ b/templates/dhcpd.conf.debian.erb
@@ -10,13 +10,6 @@ ddns-update-style <%=dhcpd_ddns_update%>;
ddns-update-style none;
<% end -%>
-# option definitions common to all supported networks...
-option domain-name "<%=dhcpd_domain_name%>";
-option domain-name-servers <%=dhcpd_dns_servers%>;
-
-default-lease-time 600;
-max-lease-time 7200;
-
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
<% if has_variable?('dhcpd_authoritative') -%>
@@ -25,6 +18,10 @@ authoritative;
#authoritative;
<% end -%>
+<% if dhcpd_opts and not dhcpd_opts.empty? -%>
+<%= dhcpd_opts.collect! {|i| "#{i}" }.join(";\n") %>
+<% end -%>
+
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;