diff options
Diffstat (limited to 'manifests/server')
-rw-r--r-- | manifests/server/base.pp | 58 | ||||
-rw-r--r-- | manifests/server/debian.pp | 21 |
2 files changed, 79 insertions, 0 deletions
diff --git a/manifests/server/base.pp b/manifests/server/base.pp new file mode 100644 index 0000000..1725b36 --- /dev/null +++ b/manifests/server/base.pp @@ -0,0 +1,58 @@ +/* + += Class dhcp::server::base +Do NOT include this class - it won't work at all. +Set variables for package name and so on. +This class should be inherited in dhcp::server::$operatingsystem. + +*/ +class dhcp::server::base { + include dhcp::params + package {"dhcp-server": + ensure => present, + name => $dhcp::params::srv_dhcpd, + } + + service {"dhcpd": + name => $dhcp::params::srv_dhcpd, + ensure => running, + enable => true, + require => Package["dhcp-server"], + } + + common::concatfilepart {"00.dhcp.server.base": + file => "${dhcp::params::config_dir}/dhcpd.conf", + ensure => present, + require => Package["dhcp-server"], + notify => Service["dhcpd"], + } + + file {"${dhcp::params::config_dir}/dhcpd.conf.d": + ensure => directory, + mode => 0700, + recurse => true, + purge => true, + force => true, + source => "puppet:///modules/dhcp/empty" + } + + file {"${dhcp::params::config_dir}/subnets": + ensure => directory, + require => Package["dhcp-server"], + notify => Service["dhcpd"], + recurse => true, + purge => true, + force => true, + source => "puppet:///modules/dhcp/empty" + } + + file {"${dhcp::params::config_dir}/hosts.d": + ensure => directory, + require => Package["dhcp-server"], + recurse => true, + purge => true, + force => true, + source => "puppet:///modules/dhcp/empty" + } + +} diff --git a/manifests/server/debian.pp b/manifests/server/debian.pp new file mode 100644 index 0000000..9762384 --- /dev/null +++ b/manifests/server/debian.pp @@ -0,0 +1,21 @@ +/* + += Class: dhcp::server::debian +Installs a dhcp server on debian system. + +This class should not be included as is, please include "dhcp::server" instead. + +*/ +class dhcp::server::debian inherits dhcp::server::base { + + Common::Concatfilepart["00.dhcp.server.base"] { + content => template('dhcp/dhcpd.conf.debian.erb'), + } + + Service["dhcpd"] { + pattern => $lsbdistcodename ? { + squeeze => "/usr/sbin/dhcpd", + lenny => "/usr/sbin/dhcpd3", + } + } +} |