Forge Home

dhcp

Camptocamp DHCP Module

Camptocamp

camptocamp

29,058 downloads

14,872 latest version

4.6 quality score

Version information

  • 1.2.1 (latest)
  • 1.2.0
  • 1.1.1
  • 1.1.0
  • 1.0.1
  • 1.0.0
  • 0.5.13
  • 0.5.12
  • 0.5.11
  • 0.5.10
  • 0.5.9
  • 0.5.8
  • 0.5.7
  • 0.5.6
  • 0.5.5
  • 0.5.4
  • 0.5.3
  • 0.5.2
  • 0.5.1
  • 0.5.0
  • 0.4.4
  • 0.4.3
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
released Nov 21st 2016
This version is compatible with:
  • Debian
    ,
    Ubuntu
    ,
    RedHat
    ,
    CentOS

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'camptocamp-dhcp', '1.2.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add camptocamp-dhcp
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install camptocamp-dhcp --version 1.2.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

camptocamp/dhcp — version 1.2.1 Nov 21st 2016

DHCP module for Puppet

Puppet Forge Build Status

Manages dhcp configuration under Debian.

This module is provided by Camptocamp

Classes

  • dhcp
  • dhcp::server

dhcp

The dhcp class is a wrapper around dhcp::server:

include ::dhcp

dhcp::server

Installs a DHCP server:

 class { 'dhcp::server':
   opts => ['domain-name "toto.ltd"',
            'domain-name-servers 192.168.21.1'],
 }

Definitions

  • dhcp::hosts
  • dhcp::shared_network
  • dhcp::subnet
  • dhcp::failover

dhcp::hosts

Creates a DHCP configuration for the given hosts:

dhcp::hosts { 'workstations':
  subnet    => '192.168.1.0',
   'hash_data' => {
     'host1' => {
       'interfaces' => {
         'eth0'  => '00:11:22:33:44:55',
         'wlan0' => '00:aa:bb:44:55:ff',
       },
     },
     'host2' => {
       'interfaces' => {
         'eth1'  => '00:11:af:33:44:55',
       },
       'fixed_address' => 'foo.example.com',
       'options'        => ['opt1'],
     },
   },
}

dhcp::shared_network

Creates a shared-network entry:

dhcp::shared_network { 'office':
  subnets => ['192.168.1.0', '192.168.2.0'],
}

dhcp::subnet

Creates a subnet:

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::failover

Creates a failover peer:

dhcp::failover {'my-failover-peer':
  ensure       => present,
  peer_address => '1.2.3.4',
  options      => {
    'max-response-delay'       => 30,
    'max-unacked-updates'      => 10,
    'load balance max seconds' => 3,
    'mclt'                     => 1800,
    'split'                    => 128,
  }
}
dhcp::subnet {"10.27.20.0":
  ensure     => present,
  broadcast  => "10.27.20.255",
  other_opts => [
    'pool {',
    'failover peer "my-failover-peer"',
    'max-lease-time 1800',
    'range 10.27.20.100 10.27.20.250',
    '}',
  ],
}

Contributing

Please report bugs and feature request using GitHub issue tracker.

For pull requests, it is very much appreciated to check your Puppet manifest with puppet-lint to follow the recommended Puppet style guidelines from the Puppet Labs style guide.

License

Copyright (c) 2013 puppet@camptocamp.com All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.