]> gitweb.fluxo.info Git - puppet-puppet.git/commitdiff
Parametrizing more variables
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 25 Jan 2013 19:00:46 +0000 (17:00 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 25 Jan 2013 19:00:46 +0000 (17:00 -0200)
manifests/daemon.pp
manifests/master.pp
templates/check-puppetd.sh.erb
templates/puppet-node.conf.erb
templates/puppetmaster.erb

index 27f3651c1f9c14adfe631c771dbb0a6de457727a..13b81b10196f6a793abe7f98ba0a97adfdab1968 100644 (file)
@@ -1,29 +1,18 @@
 # handles puppetd service
 class puppet::daemon(
-  $master = false,
-  $main_master = false,
+  $master        = false,
+  $main_master   = false,
+  $ensure        = hiera('puppet::daemon::ensure',       ''),
+  $port          = hiera('puppet::daemon::port',         "8140"),
+  $runinterval   = hiera('puppet::daemon::runinterval',  "7200"),
+  $configtimeout = hiera('puppet::daemon::configtimeout', "120"),
+  $server        = hiera('puppet::daemon::server',        "puppet.${::domain}"
 ) {
   include puppet
 
-  case $puppetmaster_port {
-    '': { $puppetmaster_port = "8140" }
-  }
-
-  case $puppetd_runinterval {
-    '': { $puppetd_runinterval = "7200" }
-  }
-
-  case $puppetd_configtimeout {
-    '': { $puppetd_configtimeout = "120" }
-  }
-
-  case $puppetd_server {
-    '': { $puppetd_server = "puppet.$domain" }
-  }
-
-  case $puppetd_ensure {
+  case $ensure {
     '': {
-      $puppetd_ensure = $lsbdistcodename ? {
+      $ensure = $::lsbdistcodename ? {
         'squeeze' => '2.7.18-1~bpo60+1',
         default   => installed,
       }
@@ -31,16 +20,16 @@ class puppet::daemon(
   }
 
   package { "puppet-common":
-    ensure => $puppetd_ensure,
+    ensure => $ensure,
   }
 
   package { "puppet":
-   ensure  => $puppetd_ensure,
+   ensure  => $ensure,
    require => Package["cron", "puppet-common"],
   }
 
   file { "/etc/default/puppet":
-    source => "puppet://$server/modules/puppet/puppet",
+    source => "puppet:///modules/puppet/puppet",
     owner  => "root",
     group  => "root",
     mode   => 0644,
@@ -55,14 +44,14 @@ class puppet::daemon(
     require    => [ Package["puppet"], File["/etc/default/puppet"] ],
   }
 
-  # name of puppet agent section in config file
-  if $puppetversion <= "0.25.4" {
-    $puppet_agent_name = 'puppetd'
+  # Name of puppet agent section in config file
+  if $::puppetversion <= "0.25.4" {
+    $agent_name = 'puppetd'
   } else {
-    $puppet_agent_name = 'agent'
+    $agent_name = 'agent'
   }
 
-  # default config file for puppet nodes
+  # Default config file for puppet nodes
   if ($master != true) or ($main_master != true) {
     file { "/etc/puppet/puppet.conf":
       ensure  => file,
@@ -78,7 +67,7 @@ class puppet::daemon(
     }
   }
 
-  # cron rule to restart puppet minutes after puppetmaster is restarted
+  # Cron rule to restart puppet minutes after puppetmaster is restarted
   cron { "puppet-restart":
     command  => "/etc/init.d/puppet restart > /dev/null 2>&1",
     user     => root,
@@ -105,17 +94,17 @@ class puppet::daemon(
     ensure   => present,
   }
 
-  # thanks to https://labs.riseup.net/code/projects/shared-puppet
+  # Thanks to https://labs.riseup.net/code/projects/shared-puppet
   file { "/etc/cron.d/puppetd":
-    source => "puppet://$server/modules/puppet/cron.d/puppetd",
+    source => "puppet:///modules/puppet/cron.d/puppetd",
     owner  => root,
     group  => root,
     mode   => 0644;
   }
 
-  # restore to original state after the following bug is addressed:
+  # Restore to original state after the following bug is addressed:
   # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625626
-  if $lsbdistcodename == 'squeeze' {
+  if $::lsbdistcodename == 'squeeze' {
     file { "/etc/logrotate.d/puppetmaster":
       ensure => absent,
     }
index 54898a08efb1621435c59f046ed866efaccba79b..f81f2b3fe44a2e5a8bf772352e0b62f3bc8c001c 100644 (file)
@@ -1,20 +1,10 @@
 # handles puppetmasterd service
 class puppet::master(
-  $main = false
+  $main       = false,
+  $servertype = hiera('puppet::master::servertype', 'passenger'),
+  $manager_ca = hiera('puppet::master::manage_ca',  false)
 ) {
 
-  # Configuration
-  case $puppetmaster_servertype {
-    'mongrel': { 
-      $puppetmaster_servertype  = 'mongrel'
-      $puppetmaster_daemon_opts = '--ssl_client_header=HTTP_X_SSL_SUBJECT'
-    }
-    default: {
-      $puppetmaster_servertype  = 'passenger'
-      $puppetmaster_daemon_opts = ''
-    }
-  }
-
   # Use this option if you want puppet to manage the certificates for all
   # master nodes, useful when using multiple masters as prevents issues such as
   # http://groups.google.com/group/puppet-users/browse_thread/thread/f24bd7500e9091bd
@@ -25,7 +15,7 @@ class puppet::master(
   #   - It doesn't refresh the proxy server (eg. nginx) upon key updates.
   #
   # A better approach is to keep certificates at /etc/puppet/ssl (and hence at your puppet repo).
-  if $puppetmaster_manage_ca == true {
+  if $manage_ca == true {
     include puppet::master::ca
   }
 
@@ -39,20 +29,22 @@ class puppet::master(
   package {
     "sqlite3":           ensure => installed;
     "libmysql-ruby":     ensure => installed;
-    "ruby-hiera-puppet": ensure => $lsbdistcodename ? {
+    "ruby-hiera-puppet": ensure => $::lsbdistcodename ? {
         'squeeze' => absent,
         default   => installed,
       }
   }
 
-  case $puppetmaster_servertype {
+  case $servertype {
     'mongrel': {
-      $puppetmaster_puppetmasters = hiera('puppet::master::worker_processes', 4)
-      $puppetmaster_port          = hiera('puppet::master::port', '18140')
+      $daemon_opts       = '--ssl_client_header=HTTP_X_SSL_SUBJECT'
+      $worker_processes  = hiera('puppet::master::worker_processes', 4)
+      $puppetmaster_port = hiera('puppet::master::port', '18140')
 
       include puppet::master::mongrel
     }
     'passenger': {
+      $daemon_opts = ''
       include puppet::master::passenger
     }
     default: {
@@ -110,14 +102,14 @@ class puppet::master(
   }
 
   # cron rule to execute puppetlast once a week as a report
-  # currently not working for puppet 2.6.x
+  # currently not working for puppet 2.6+
   cron { "puppetlast":
     command  => "/usr/local/sbin/puppetlast",
     user     => root,
     hour     => "0",
     minute   => "0",
     weekday  => "0",
-    ensure   => $puppetversion ? {
+    ensure   => $::puppetversion ? {
       "0.25.4" => present,
       default  => absent,
     },
index d467ad6e93c1fe9e5b450590d6cac6b3fba2bc35..ee2fc7a7d10044e47df4680b138418bb53a5389a 100644 (file)
@@ -4,7 +4,7 @@
 #
 
 PATH="$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
-PID="/var/run/puppet/<%= puppet_agent_name %>.pid"
+PID="/var/run/puppet/<%= agent_name %>.pid"
 INIT="/etc/init.d/puppet"
 LOCKFILE="/var/run/puppet/check-puppetd.pid"
 
index ac113bcb799dc6fd9286a3c95e32e67c2d59534f..7df045cd7e81a765079589995bceeb6644b2da34 100644 (file)
@@ -6,11 +6,11 @@ rundir        = /var/run/puppet
 factpath      = $vardir/lib/facter
 pluginsync    = true
 
-[<%= puppet_agent_name %>]
+[<%= agent_name %>]
 vardir        = /var/lib/puppet
 ssldir        = $vardir/ssl
-server        = <%= puppetd_server %>
-runinterval   = <%= puppetd_runinterval %>
+server        = <%= server %>
+runinterval   = <%= runinterval %>
 puppetport    = 8139
-masterport    = <%= puppetmaster_port %>
-configtimeout = <%= puppetd_configtimeout %>
+masterport    = <%= port %>
+configtimeout = <%= configtimeout %>
index b3ce647ebe42c8bb4edbc33dd465a1ff32e94633..750e080a07ae13ca978d21a266abb01c760aae22 100644 (file)
@@ -4,8 +4,8 @@
 START=yes
 
 # Startup options
-DAEMON_OPTS="<%= puppetmaster_daemon_opts %>"
-<% if puppetmaster_servertype == 'mongrel' %>
+DAEMON_OPTS="<%= daemon_opts %>"
+<% if servertype == 'mongrel' %>
 # What server type to run 
 # Options: 
 #          webrick (default, cannot handle more than ~30 nodes)
@@ -15,11 +15,11 @@ DAEMON_OPTS="<%= puppetmaster_daemon_opts %>"
 #                   mongrel. Requires front-end web-proxy such as
 #                   apache, nginx, or pound)
 #          See: http://reductivelabs.com/trac/puppet/wiki/UsingMongrel
-SERVERTYPE=<%= puppetmaster_servertype %>
+SERVERTYPE=<%= servertype %>
 
 # How many puppetmaster instances to start? Its pointless to set this
 # higher than 1 if you are not using mongrel. 
-PUPPETMASTERS=<%= puppetmaster_puppetmasters %>
+PUPPETMASTERS=<%= worker_processes %>
 
 # What port should the puppetmaster listen on (default: 8140). If
 # PUPPETMASTERS is set to a number greater than 1, then the port for