Add puppet master role

This commit adds a puppet master role for deploying
a fully functional puppet master with puppetdb
installed.

Adds the role in manifest/site.pp.
Add hosts entry to manifests/setup/hosts.pp
Add the definition in the vagrant file
Add new deps to Puppetfile
do not append timestamp to certname.

Add puppet master specific config settings to
setup/hosts.pp
This commit is contained in:
Dan Bode
2013-01-11 10:54:15 -08:00
parent 6fa47c691f
commit e04facc5a5
4 changed files with 72 additions and 2 deletions

View File

@@ -2,7 +2,7 @@
# specify a connection to the hardcoded puppet master
#
host {
'puppet': ip => '172.16.0.2';
'puppetmaster': ip => '172.16.0.31', host_aliases => ['puppetmaster.puppetlabs.lan'];
'openstackcontroller': ip => '172.16.0.3';
'compute1': ip => '172.16.0.4';
'compute2': ip => '172.16.0.14';
@@ -24,3 +24,24 @@ file { '/root/run_puppet.sh':
"#!/bin/bash
puppet apply --modulepath /tmp/vagrant-puppet/modules-0/ --certname ${clientcert} /tmp/vagrant-puppet/manifests/site.pp"
}
node /puppetmaster/ {
Ini_setting {
path => '/etc/puppet/puppet.conf',
section => 'main',
ensure => present,
}
ini_setting {'vardir':
setting => 'vardir',
value => '/var/lib/puppet/',
}
ini_setting {'ssldir':
setting => 'ssldir',
value => '/var/lib/puppet/ssl/',
}
ini_setting {'rundir':
setting => 'rundir',
value => '/var/run/puppet/',
}
}

View File

@@ -307,3 +307,36 @@ node /devstack/ {
node default {
notify { $clientcert: }
}
node puppetmaster {
$hostname = 'puppetmaster'
### Add the puppetlabs repo
apt::source { 'puppetlabs':
location => 'http://apt.puppetlabs.com',
repos => 'main',
key => '4BD6EC30',
key_server => 'pgp.mit.edu',
tag => ['puppet'],
}
Exec["apt_update"] -> Package <| |>
class { 'puppet::master':
autosign => true,
modulepath => '/etc/puppet/modules-0',
}
class { 'puppetdb':
require => Class['puppet::master'],
}
# Configure the puppet master to use puppetdb.
class { 'puppetdb::master::config':
restart_puppet => false,
puppetdb_startup_timeout => 240,
notify => Class['apache'],
}
}