diff --git a/puppet/manifests/init.pp b/puppet/manifests/init.pp index ea1286e..065ef95 100644 --- a/puppet/manifests/init.pp +++ b/puppet/manifests/init.pp @@ -143,14 +143,10 @@ class puppet::server { } -# Install and configure Puppet server using mongrel. +# Common configuration for all puppet server types. # # === Global variables # -# $puppet_listenports: -# Array containing ports that puppetmaster should listen to. Defaults to -# [ "18140", "18141", "18142", "18143", ]. -# # $puppet_storeconfigs: # Store config type to use. Valid values are "thin", "full" and "none". # Defaults to "thin". @@ -158,11 +154,7 @@ class puppet::server { # $puppet_report_maxage: # Maximum age (in hours) to keep reports. Defaults to 720 hours (30 days). # -class puppet::server::mongrel inherits puppet::client { - - if ! $puppet_listenports { - $puppet_listenports = [ "18140", "18141", "18142", "18143", ] - } +class puppet::server::common inherits puppet::client { case $puppet_storeconfigs { "": { $puppet_storeconfigs = "thin" } @@ -198,9 +190,6 @@ class puppet::server::mongrel inherits puppet::client { } } - include ::mongrel - include ldap::client::ruby - if $puppet_storeconfigs != "none" { case $operatingsystem { "debian","ubuntu": { @@ -231,10 +220,11 @@ class puppet::server::mongrel inherits puppet::client { if $puppet_datadir { file { "${puppet_datadir}": - ensure => directory, - mode => 0755, - owner => root, - group => root, + ensure => directory, + mode => 0755, + owner => root, + group => root, + require => Package["puppetmaster"], } file { "/srv/puppet": ensure => link, @@ -243,10 +233,11 @@ class puppet::server::mongrel inherits puppet::client { } } else { file { "/srv/puppet": - ensure => directory, - mode => 0755, - owner => root, - group => root, + ensure => directory, + mode => 0755, + owner => root, + group => root, + require => Package["puppetmaster"], } } @@ -256,8 +247,7 @@ class puppet::server::mongrel inherits puppet::client { mode => 0750, owner => puppet, group => puppet, - require => [ File["/srv/puppet"], - Package["puppetmaster"], ], + require => File["/srv/puppet"], before => Service["puppetmaster"], } } @@ -268,8 +258,7 @@ class puppet::server::mongrel inherits puppet::client { mode => 0750, owner => puppet, group => puppet, - require => [ File["/srv/puppet"], - Package["puppetmaster"], ], + require => File["/srv/puppet"], before => Service["puppetmaster"], } file { [ "/srv/puppet/files", @@ -294,19 +283,10 @@ class puppet::server::mongrel inherits puppet::client { mode => 0750, owner => root, group => puppet, - require => [ File["/srv/puppet/files"], - Package["puppetmaster"], ], + require => File["/srv/puppet/files"], before => Service["puppetmaster"], } - service { "puppetmaster": - ensure => running, - enable => true, - hasstatus => true, - require => Package["puppetmaster", "mongrel"], - subscribe => File["/etc/puppet/puppet.conf"], - } - File["/etc/puppet/puppet.conf"] { content => template("puppet/puppet.conf.erb", "puppet/puppetmaster.conf.erb"), } @@ -334,6 +314,46 @@ class puppet::server::mongrel inherits puppet::client { notify => Service["puppetmaster"], } + if !$puppet_report_maxage { + $puppet_report_maxage = "720" + } + file { "/etc/cron.daily/puppet-report-cleanup": + ensure => present, + content => template("puppet/puppet-report-cleanup.erb"), + mode => 0755, + owner => root, + group => root, + require => File["/srv/puppet/reports"], + } + +} + + +# Install and configure Puppet server using mongrel. +# +# === Global variables +# +# $puppet_listenports: +# Array containing ports that puppetmaster should listen to. Defaults to +# [ "18140", "18141", "18142", "18143", ]. +# +class puppet::server::mongrel inherits puppet::server::common { + + if ! $puppet_listenports { + $puppet_listenports = [ "18140", "18141", "18142", "18143", ] + } + + include ::mongrel + include ldap::client::ruby + + service { "puppetmaster": + ensure => running, + enable => true, + hasstatus => true, + require => Package["puppetmaster", "mongrel"], + subscribe => File["/etc/puppet/puppet.conf"], + } + case $operatingsystem { debian,ubuntu: { file { "/etc/default/puppetmaster": @@ -357,18 +377,6 @@ class puppet::server::mongrel inherits puppet::client { } } - if !$puppet_report_maxage { - $puppet_report_maxage = "720" - } - file { "/etc/cron.daily/puppet-report-cleanup": - ensure => present, - content => template("puppet/puppet-report-cleanup.erb"), - mode => 0755, - owner => root, - group => root, - require => File["/srv/puppet/reports"], - } - }