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:
@@ -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/',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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'],
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user