Project

General

Profile

« Previous | Next » 

Revision bc84f709

Added by Ewoud Kohl van Wijngaarden almost 10 years ago

puppet-lint clean

View differences:

manifests/init.pp
class dhcp (
$dnsdomain,
$nameservers,
$interfaces = undef,
$interface = 'NOTSET',
$dnskeyname = 'rndc-key',
$dnsupdatekey = undef,
$pxeserver = undef,
$pxefilename = undef,
$logfacility = 'local7',
$dhcp_monitor = true
) {
include dhcp::params
$dhcp_dir = $dhcp::params::dhcp_dir
$packagename = $dhcp::params::packagename
$servicename = $dhcp::params::servicename
$dnsdomain = $dhcp::params::dnsdomain,
$nameservers = ['8.8.8.8', '8.8.4.4'],
$interfaces = undef,
$interface = 'NOTSET',
$dnskeyname = 'rndc-key',
$dnsupdatekey = undef,
$pxeserver = undef,
$pxefilename = undef,
$logfacility = 'local7',
$dhcp_monitor = true,
$dhcp_dir = $dhcp::params::dhcp_dir,
$packagename = $dhcp::params::packagename,
$servicename = $dhcp::params::servicename,
) inherits dhcp::params {
# Incase people set interface instead of interfaces work around
# that. If they set both, use interfaces and the user is a unwise
......
$dhcp_interfaces = $interfaces
}
package {
$packagename:
ensure => installed,
provider => $::operatingsystem ? {
default => undef,
darwin => macports
}
$package_provider = $::operatingsystem ? {
darwin => 'macports',
default => undef,
}
file {
$dhcp_dir:
mode => '0755',
require => Package[$packagename],
package { $packagename:
ensure => installed,
provider => $package_provider,
}
file { $dhcp_dir:
mode => '0755',
require => Package[$packagename],
}
# Only debian and ubuntu have this style of defaults for startup.
case $::operatingsystem {
'debian','ubuntu': {
case $::osfamily {
'Debian': {
file{ '/etc/default/isc-dhcp-server':
ensure => present,
owner => 'root',
......
content => template('dhcp/debian/default_isc-dhcp-server'),
}
}
'redhat','centos','fedora','Scientific': {
'RedHat': {
file{ '/etc/sysconfig/dhcpd':
ensure => present,
owner => 'root',
......
content => template('dhcp/redhat/sysconfig-dhcpd'),
}
}
default: {
fail("Unsupported OS family ${::osfamily}")
}
}
concat_build { 'dhcp.conf':
......
content => "# static DHCP hosts\n",
}
service {
$servicename:
ensure => running,
enable => true,
hasstatus => true,
subscribe => File["${dhcp_dir}/dhcpd.hosts", "${dhcp_dir}/dhcpd.conf"],
require => Package[$packagename],
service { $servicename:
ensure => running,
enable => true,
hasstatus => true,
subscribe => File["${dhcp_dir}/dhcpd.hosts", "${dhcp_dir}/dhcpd.conf"],
require => Package[$packagename],
}
}
manifests/params.pp
class dhcp::params {
$dhcp_dir = $::operatingsystem ? {
/(redhat|centos|fedora|Scientific)/ => '/etc/dhcp',
/(Ubuntu|Debian)/ => '/etc/dhcp',
darwin => '/opt/local/etc/dhcp',
default => '/etc/dhcp',
$dnsdomain = [$::domain]
$dhcp_dir = $::osfamily ? {
'RedHat' => '/etc/dhcp',
'Debian' => '/etc/dhcp',
'darwin' => '/opt/local/etc/dhcp',
default => '/etc/dhcp',
}
$packagename = $::operatingsystem ? {
/(redhat|centos|fedora|Scientific)/ => 'dhcp',
/(Ubuntu|Debian)/ => 'isc-dhcp-server',
darwin => 'dhcp',
default => 'dhcp',
$packagename = $::osfamily ? {
'RedHat' => 'dhcp',
'Debian' => 'isc-dhcp-server',
'darwin' => 'dhcp',
default => 'dhcp',
}
$servicename = $::operatingsystem ? {
/(redhat|centos|fedora|Scientific)/ => 'dhcpd',
/(Ubuntu|Debian)/ => 'isc-dhcp-server',
darwin => 'org.macports.dhcpd',
default => 'dhcpd',
$servicename = $::osfamily ? {
'RedHat' => 'dhcpd',
'Debian' => 'isc-dhcp-server',
'darwin' => 'org.macports.dhcpd',
default => 'dhcpd',
}
}
tests/init.pp
],
nameservers => ['10.1.1.10'],
interfaces => ['eth0'],
dnsupdatekey => "/etc/bind/keys.d/$::ddnskeyname",
dnsupdatekey => "/etc/bind/keys.d/${::ddnskeyname}",
require => Bind::Key[$::ddnskeyname],
pxeserver => '10.1.1.5',
pxefilename => 'pxelinux.0',

Also available in: Unified diff