Project

General

Profile

« Previous | Next » 

Revision fe8397c9

Added by Stephen Hoekstra over 9 years ago

added ability to configure pool specific name servers.

Closes GH-26

View differences:

README.md
gateway => '10.0.1.1',
}
Override global attributes with pool specific
dhcp::pool{ 'ops.dc1.example.net':
network => '10.0.1.0',
mask => '255.255.255.0',
range => '10.0.1.100 10.0.1.200',
gateway => '10.0.1.1',
nameservers => ['10.0.1.2', '10.0.2.2'],
pxeserver => '10.0.1.2',
}
### dhcp::host
Create host reservations.
manifests/pool.pp
define dhcp::pool (
$network,
$mask,
$range = false,
$gateway = false,
$pxeserver = undef,
) {
$network,
$mask,
$range = false,
$gateway = false,
$nameservers = undef,
$pxeserver = undef,
) {
include dhcp::params
include dhcp::params
$dhcp_dir = $dhcp::params::dhcp_dir
$dhcp_dir = $dhcp::params::dhcp_dir
concat_fragment { "dhcp.conf+70_${name}.dhcp":
content => template('dhcp/dhcpd.pool.erb'),
}
concat_fragment { "dhcp.conf+70_${name}.dhcp":
content => template('dhcp/dhcpd.pool.erb'),
}
}
spec/defines/pool_spec.rb
describe 'full parameters' do
let :params do {
:network => '10.0.0.0',
:mask => '255.255.255.0',
:range => '10.0.0.10 - 10.0.0.50',
:gateway => '10.0.0.1',
:pxeserver => '10.0.0.2',
:network => '10.0.0.0',
:mask => '255.255.255.0',
:range => '10.0.0.10 - 10.0.0.50',
:gateway => '10.0.0.1',
:nameservers => ['10.0.0.2', '10.0.0.4'],
:pxeserver => '10.0.0.2',
} end
it {
......
" }",
" option subnet-mask 255.255.255.0;",
" option routers 10.0.0.1;",
" option domain-name-servers 10.0.0.2, 10.0.0.4;",
" next-server 10.0.0.2;",
"}",
]
templates/dhcpd.pool.erb
<% if @gateway -%>
option routers <%= @gateway %>;
<% end -%>
<% if @nameservers and @nameservers.is_a? Array -%>
option domain-name-servers <%= @nameservers.sort.join(', ') %>;
<% elsif @nameservers -%>
option domain-name-servers <%= @nameservers %>;
<% end -%>
<% if @pxeserver -%>
next-server <%= @pxeserver %>;
<% end -%>

Also available in: Unified diff