Project

General

Profile

« Previous | Next » 

Revision 8eb54615

Added by Omar Wit almost 9 years ago

extend dhcp pool to support pool parameters

Closes GH-48

View differences:

manifests/pool.pp
define dhcp::pool (
$network,
$mask,
$gateway = undef,
$range = undef,
$options = undef,
$parameters = undef,
$nameservers = undef,
$pxeserver = undef,
$domain_name = undef,
$static_routes = undef,
$gateway = undef,
$pool_parameters = undef,
$range = undef,
$options = undef,
$parameters = undef,
$nameservers = undef,
$pxeserver = undef,
$domain_name = undef,
$static_routes = undef,
) {
concat::fragment { "dhcp.conf+70_${name}.dhcp":
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',
:options => 'ntp-servers 10.0.0.2',
:parameters => 'max-lease-time 300',
:nameservers => ['10.0.0.2', '10.0.0.4'],
:pxeserver => '10.0.0.2',
:domain_name => 'example.org',
:static_routes => [ { 'mask' => '24', 'network' => '10.0.1.0', 'gateway' => '10.0.0.2' } ],
:network => '10.0.0.0',
:mask => '255.255.255.0',
:pool_parameters => 'allow members of "some-class"',
:range => '10.0.0.10 - 10.0.0.50',
:gateway => '10.0.0.1',
:options => 'ntp-servers 10.0.0.2',
:parameters => 'max-lease-time 300',
:nameservers => ['10.0.0.2', '10.0.0.4'],
:pxeserver => '10.0.0.2',
:domain_name => 'example.org',
:static_routes => [ { 'mask' => '24', 'network' => '10.0.1.0', 'gateway' => '10.0.0.2' } ],
} end
it {
......
"subnet 10.0.0.0 netmask 255.255.255.0 {",
" pool",
" {",
" allow members of \"some-class\";",
" range 10.0.0.10 - 10.0.0.50;",
" }",
" option domain-name \"example.org\";",
templates/dhcpd.pool.erb
<% if @range && !@range.strip.empty? -%>
pool
{
<% if @pool_parameters.is_a? Array -%>
<% @pool_parameters.each do |param| -%>
<%= param %>;
<% end -%>
<% elsif @pool_parameters && !@pool_parameters.strip.empty? -%>
<%= @pool_parameters %>;
<% end -%>
range <%= @range %>;
}
<% end -%>

Also available in: Unified diff