aboutsummaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorRaphaël Pinson <raphael.pinson@camptocamp.com>2013-04-12 14:11:44 +0200
committerRaphaël Pinson <raphael.pinson@camptocamp.com>2013-04-12 14:11:44 +0200
commit928dbaa62bcc37092ddec36b1f715365576eae6d (patch)
treeceb4ea7948269f0e2d7abbde24f5291de7a19d26 /manifests
parentb1c6314a83146a88f2d703ec99b6896bcd11c927 (diff)
downloadpuppet-dhcp-928dbaa62bcc37092ddec36b1f715365576eae6d.tar.gz
puppet-dhcp-928dbaa62bcc37092ddec36b1f715365576eae6d.tar.bz2
doc
Diffstat (limited to 'manifests')
-rw-r--r--manifests/hosts.pp38
-rw-r--r--manifests/init.pp22
-rw-r--r--manifests/server.pp54
-rw-r--r--manifests/shared_network.pp20
-rw-r--r--manifests/subnet.pp34
5 files changed, 112 insertions, 56 deletions
diff --git a/manifests/hosts.pp b/manifests/hosts.pp
index 9e2b284..1767a90 100644
--- a/manifests/hosts.pp
+++ b/manifests/hosts.pp
@@ -2,13 +2,13 @@
#
# Creates a dhcp configuration for given hosts
#
-# Arguments
-# $template: dhcp host template - default: 'dhcp/host.conf.erb'
-# $global_options: an array of global options for the whole bunch of hosts.
-# you may override it per host, setting the host "options"
-# directly in the hash.
-# $subnet: targeted subnet
-# $hash_data: hash containing data - default form:
+# Parameters:
+# ['template'] - DHCP host template - default: 'dhcp/host.conf.erb'
+# ['global_options'] - An array of global options for the whole bunch of
+# hosts. You may override it per host, setting the
+# host "options" directly in the hash.
+# ['subnet'] - Targeted subnet
+# ['hash_data'] - Hash containing data - default form:
# {
# <host1> => {
# options => ['opt1', 'opt2'],
@@ -33,6 +33,30 @@
# …,
# }
#
+# Sample usage:
+# ::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'],
+# },
+# },
+# }
+#
+# Requires:
+# - puppetlabs/stdlib
+# - ripienaar/concat
+#
define dhcp::hosts (
$hash_data,
$subnet,
diff --git a/manifests/init.pp b/manifests/init.pp
index e1e05b3..9af496f 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -1,3 +1,25 @@
+# Class: dhcp
+#
+# This class provides a simple way to install a DHCP server
+# It will install and configure the necessary packages.
+#
+# Parameters:
+# ['server'] - Whether to install the DHCP server
+# (default: true)
+# ['server_ddns_update'] - Set ddns_update on dhcp::server
+# ['server_authoritative'] - Set authoritative on dhcp::server
+# ['server_opts'] - Set opts for dhcp::server
+#
+# Actions:
+# - Deploys a DHCP server
+#
+# Sample usage:
+# include ::dhcp
+#
+# Requires:
+# - puppetlabs/stdlib
+# - ripienaar/concat
+#
class dhcp (
$server = true,
$server_ddns_update = undef,
diff --git a/manifests/server.pp b/manifests/server.pp
index 1c77cf2..a44cfe1 100644
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -1,35 +1,37 @@
-# = Class: dhcp::server
-# Simple OS wrapper. Include this to install a dhcp server on your host.
+# Class: dhcp::server
#
-# Requires:
-# module "common": git://github.com/camptocamp/puppet-common.git
+# Installs and configures a DHCP server.
#
-# facultative argument:
-# *$ddns_update* : ddns-update-style option (defaults to 'none')
-# *$authoritative* : a boolean setting whether the DHCP server is
-# authoritative (defaults to false)
-# *$opts* : an array of DHCPD valid options
+# Parameters:
+# ['ddns_update'] : ddns-update-style option (defaults to 'none')
+# ['authoritative'] : a boolean setting whether the DHCP server is
+# authoritative (defaults to false)
+# ['opts'] : an array of DHCPD valid options
#
-# Example:
-# node "dhcp.toto.ltd" {
-# class { 'dhcp::server':
-# opts => ['domain-name "toto.ltd"',
-# 'domain-name-servers 192.168.21.1'],
-# }
+# Sample usage:
+# node "dhcp.toto.ltd" {
+# class { 'dhcp::server':
+# opts => ['domain-name "toto.ltd"',
+# 'domain-name-servers 192.168.21.1'],
+# }
#
-# 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::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 => "10.27.20.0",
-# fixed_address => "10.27.10.52",
+# dhcp::host {"titi-eth0":
+# ensure => present,
+# mac => "0e:18:fa:fe:d9:00",
+# subnet => "10.27.20.0",
+# fixed_address => "10.27.10.52",
+# }
# }
-# }
+#
+# Requires:
+# - puppetlabs/stdlib
+# - ripienaar/concat
#
class dhcp::server (
$ddns_update = 'none',
diff --git a/manifests/shared_network.pp b/manifests/shared_network.pp
index 38f14fb..766f432 100644
--- a/manifests/shared_network.pp
+++ b/manifests/shared_network.pp
@@ -1,12 +1,22 @@
-# == Definition: dhcp::shared-network
+# Definition: dhcp::shared-network
+#
# Creates a shared-network
#
-# Arguments:
-# *$subnets* : subnet list to be included in the shared-network
+# Parameters:
+# ['subnets'] - An array of subnets to be included in the shared-network.
+#
+# Sample usage:
+# ::dhcp::shared_network { 'office':
+# subnets => ['192.168.1.0', '192.168.2.0'],
+# }
+#
+# Requires:
+# - puppetlabs/stdlib
+# - ripienaar/concat
#
# Warnings:
-# - subnets must exists
-# - subnets must have $is_shared set to true (default is false)
+# - subnets must exists
+# - subnets must have $is_shared set to true (default is false)
#
define dhcp::shared_network(
$ensure = present,
diff --git a/manifests/subnet.pp b/manifests/subnet.pp
index b9826da..b70a233 100644
--- a/manifests/subnet.pp
+++ b/manifests/subnet.pp
@@ -1,29 +1,27 @@
-# = Definition: dhcp::subnet
-# Creates a subnet
-#
-# Arguments:
-# *$broadcast* : subnet broadcast (mandatory)
-# *$netmask* : subnet netmask (if not set, takes eth0 netmask)
-# *$routers* : subnet routers (array) (if not set, takes eth0 IP)
-# *$subnet_mask* : netmask sent to dhcp guests (if not set, takes
-# $netmask, or netmask_eth0)
-# *$domain_name* : subnet domain name (if not set, takes server domain)
-# *$other_opts* : any other DHCPD option, as an array
-# *$is_shared* : whether it's part of a shared network or not. Default: false
+# Definition: dhcp::subnet
#
-# Example:
+# Creates a subnet
#
-# node "dhcp.domain.ltd" {
-# $dhcpd_domain_name = 'domain.ltd'
-# $dhcpd_dns_servers = '10.27.21.1, 10.26.21.1'
-# include dhcp
+# Parameters:
+# ['broadcast'] : subnet broadcast (mandatory)
+# ['netmask'] : subnet netmask
+# (default: $::netmask_eth0)
+# ['routers'] : An array of subnet routers
+# (default: $::netmask)
+# ['subnet_mask'] : netmask sent to dhcp guests
+# (default: the value of $netmask)
+# ['domain_name'] : subnet domain name
+# (default: $::domain)
+# ['other_opts'] : An array of additional DHCPD options
+# ['is_shared'] : whether it's part of a shared network or not
+# (default: false)
#
+# Sample usage:
# dhcp::subnet {"10.27.20.0":
# ensure => present,
# broadcast => "10.27.20.255",
# other_opts => ['filename "pxelinux.0";', 'next-server 10.27.10.1;'],
# }
-# }
#
define dhcp::subnet(
$broadcast,