summaryrefslogtreecommitdiff
path: root/manifests/puppetmaster
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2010-05-11 17:00:20 -0400
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2010-05-11 17:00:20 -0400
commit57d8ecf86f49db2c9e367480e380a73cad4b71e6 (patch)
tree473263b26fdb525e7e7c90efbf919b9d3f02dd99 /manifests/puppetmaster
parent0f0434a582c1f3bd274a79e51ab34a2f4887e659 (diff)
parentfc72cbc8a9d09b2d305df061dfc74cc960610d85 (diff)
Merge commit 'nadir/master'
Diffstat (limited to 'manifests/puppetmaster')
-rw-r--r--manifests/puppetmaster/base.pp40
-rw-r--r--manifests/puppetmaster/checklastrun.pp9
-rw-r--r--manifests/puppetmaster/linux.pp27
-rw-r--r--manifests/puppetmaster/package.pp9
-rw-r--r--manifests/puppetmaster/passenger.pp45
-rw-r--r--manifests/puppetmaster/storeconfigs.pp8
6 files changed, 112 insertions, 26 deletions
diff --git a/manifests/puppetmaster/base.pp b/manifests/puppetmaster/base.pp
index 0b208b0..4a1cb6f 100644
--- a/manifests/puppetmaster/base.pp
+++ b/manifests/puppetmaster/base.pp
@@ -1,9 +1,18 @@
class puppet::puppetmaster::base inherits puppet::base {
+ if defined (puppet::cron) {
+ File[puppet_config]{
+ source => [ "puppet://$server/modules/site-puppet/master/puppet.conf",
+ "puppet://$server/modules/puppet/master/puppet.conf" ],
+ notify => Service[puppetmaster],
+ }
+ }
+ else {
+ File[puppet_config]{
+ source => [ "puppet://$server/modules/site-puppet/master/puppet.conf",
+ "puppet://$server/modules/puppet/master/puppet.conf" ],
+ notify => [Service[puppet],Service[puppetmaster] ],
+ }
- File[puppet_config]{
- source => [ "puppet://$server/modules/site-puppet/master/puppet.conf",
- "puppet://$server/modules/puppet/master/puppet.conf" ],
- notify => [Service[puppet],Service[puppetmaster] ],
}
$real_puppet_fileserverconfig = $puppet_fileserverconfig ? {
@@ -12,22 +21,25 @@ class puppet::puppetmaster::base inherits puppet::base {
}
file { "$real_puppet_fileserverconfig":
- source => [ "puppet://$server/modules/site-puppet/master/${fqdn}/fileserver.conf",
- "puppet://$server/modules/site-puppet/master/fileserver.conf",
- "puppet://$server/modules/puppet/master/fileserver.conf" ],
- notify => [Service[puppet],Service[puppetmaster] ],
+ source => [ "puppet://$server/modules/site-puppet/master/${fqdn}/fileserver.conf",
+ "puppet://$server/modules/site-puppet/master/fileserver.conf",
+ "puppet://$server/modules/puppet/master/fileserver.conf" ],
+ notify => [Service[puppet],Service[puppetmaster] ],
owner => root, group => puppet, mode => 640;
- }
+ }
if $puppetmaster_storeconfigs {
include puppet::puppetmaster::storeconfigs
}
- # restart the master from time to time to avoid memory problems
- file{'/etc/cron.d/puppetmaster.cron':
- source => [ "puppet://$server/modules/puppet/cron.d/puppetmaster.${operatingsystem}",
- "puppet://$server/modules/puppet/cron.d/puppetmaster" ],
- owner => root, group => 0, mode => 0644;
+
+ if ! defined (puppet::puppetmaster::passenger) {
+ # restart the master from time to time to avoid memory problems
+ file{'/etc/cron.d/puppetmaster.cron':
+ source => [ "puppet://$server/modules/puppet/cron.d/puppetmaster.${operatingsystem}",
+ "puppet://$server/modules/puppet/cron.d/puppetmaster" ],
+ owner => root, group => 0, mode => 0644;
+ }
}
file{'/etc/cron.daily/puppet_reports_cleanup.sh':
diff --git a/manifests/puppetmaster/checklastrun.pp b/manifests/puppetmaster/checklastrun.pp
index 12f1042..fdcc096 100644
--- a/manifests/puppetmaster/checklastrun.pp
+++ b/manifests/puppetmaster/checklastrun.pp
@@ -1,12 +1,13 @@
class puppet::puppetmaster::checklastrun {
- file{'/opt/bin/puppetlast':
+ file{"/usr/local/bin/puppetlast":
source => [ "puppet://$server/modules/site-puppet/master/puppetlast",
"puppet://$server/modules/puppet/master/puppetlast"],
owner => root, group => 0, mode => 0700;
}
file{'/etc/cron.d/puppetlast.cron':
- content => "40 10,22 * * * root /opt/bin/puppetlast\n",
- require => File['/opt/bin/puppetlast'],
- owner => root, group => 0, mode => 0644;
+ content => "40 10,22 * * * root /usr/local/bin/puppetlast\n",
+ require => File["/usr/local/bin/puppetlast"],
+ owner => root, group => 0, mode => 0644,
+ notify => service["crond"];
}
}
diff --git a/manifests/puppetmaster/linux.pp b/manifests/puppetmaster/linux.pp
index 43cd841..2a71dd4 100644
--- a/manifests/puppetmaster/linux.pp
+++ b/manifests/puppetmaster/linux.pp
@@ -1,13 +1,28 @@
# manifests/puppetmaster/linux.pp
class puppet::puppetmaster::linux inherits puppet::linux {
-
- service{'puppetmaster':
- ensure => running,
- enable => true,
- require => [ Package[puppet] ],
+
+ if defined (puppet::puppetmaster::passenger) {
+ service{'puppetmaster':
+ ensure => running,
+ #name => apache2,
+ #enable => true,
+ pattern => 'apache2',
+ hasstatus => true,
+ start => '/etc/init.d/apache2 start',
+ stop => '/etc/init.d/apache2 start',
+ restart => '/etc/init.d/apache2 restart',
+ status => 'pgrep apache2',
+ require => [ Package[puppet] ],
+ }
+ }
+ else {
+ service{'puppetmaster':
+ ensure => running,
+ enable => true,
+ require => [ Package[puppet] ],
+ }
}
-
Service[puppet]{
require +> Service[puppetmaster],
}
diff --git a/manifests/puppetmaster/package.pp b/manifests/puppetmaster/package.pp
index d7c477d..c91dbe8 100644
--- a/manifests/puppetmaster/package.pp
+++ b/manifests/puppetmaster/package.pp
@@ -1,9 +1,14 @@
# manifests/puppetmaster/package.pp
class puppet::puppetmaster::package inherits puppet::puppetmaster::linux {
- package { puppet-server: ensure => present }
+ case $operatingsystem {
+ debian: { $puppetmaster_package="puppetmaster" }
+ default: { $puppetmaster_package="puppet-server" }
+ }
+
+ package { $puppetmaster_package: ensure => present }
Service[puppetmaster]{
- require +> Package[puppet-server],
+ require +> Package[$puppetmaster_package],
}
}
diff --git a/manifests/puppetmaster/passenger.pp b/manifests/puppetmaster/passenger.pp
new file mode 100644
index 0000000..06e2a2b
--- /dev/null
+++ b/manifests/puppetmaster/passenger.pp
@@ -0,0 +1,45 @@
+# class to use passenger for serving puppetmaster
+
+class puppet::puppetmaster::passenger {
+
+ case $operatingsystem {
+ debian: { include puppet::puppetmaster::passenger::debian }
+ defaults: { notice ( "class puppet::puppetmaster::passenger::base needs to be configured for using passenger with non-debian OS !" )
+ include puppet::puppetmaster::passenger::base }
+ }
+}
+
+class puppet::puppetmaster::passenger::debian inherits puppet::puppetmaster::passenger::base {
+ # according to http://github.com/reductivelabs/puppet/tree/master/ext/rack rack needs
+ # to be version >= 1.0.0 . lenny-backports provide it
+ package { "librack-ruby": ensure => "1.0.0-2~bpo50+1" }
+ package { "librack-ruby1.8": ensure => "1.0.0-2~bpo50+1" }
+
+ apache::config::global{ 'puppet-apache2-passenger.conf': }
+ apache::debian::module { 'ssl': ensure => present }
+ apache::debian::module { 'passenger': ensure => present }
+ apache::debian::module { 'headers': ensure => present }
+}
+
+class puppet::puppetmaster::passenger::base {
+
+ include apache
+ include passenger::apache
+
+
+ # http://github.com/reductivelabs/puppet/tree/master/ext/rack
+ file { ["/etc/puppet/rack", "/etc/puppet/rack/public"]:
+ ensure => directory,
+ mode => 0755,
+ owner => root,
+ group => root,
+ }
+ file { "/etc/puppet/rack/config.ru":
+ ensure => present,
+ source => "puppet:///modules/puppet/master/config.ru",
+ mode => 0644,
+ owner => puppet,
+ group => root,
+ }
+}
+
diff --git a/manifests/puppetmaster/storeconfigs.pp b/manifests/puppetmaster/storeconfigs.pp
index 32aaa7f..1b6d759 100644
--- a/manifests/puppetmaster/storeconfigs.pp
+++ b/manifests/puppetmaster/storeconfigs.pp
@@ -2,4 +2,12 @@
# so storeconfigs works.
class puppet::puppetmaster::storeconfigs {
include rails
+ include mysql::server
+
+ case $operatingsystem {
+ debian: { package { libmysql-ruby: ensure => present } }
+
+ }
+
+
}