- split package/service from config so puppetservers agents can be managed in the same was as clients
36 lines
915 B
Puppet
36 lines
915 B
Puppet
# profiles::puppet::agent
|
|
# This class manages Puppet agent package and service.
|
|
class profiles::puppet::agent (
|
|
String $puppet_version = 'latest',
|
|
) {
|
|
|
|
# Ensure the puppet-agent package is installed and locked to a specific version
|
|
package { 'puppet-agent':
|
|
ensure => $puppet_version,
|
|
}
|
|
|
|
# if puppet-version is anything other than latest, set a versionlock
|
|
$puppet_versionlock_ensure = $puppet_version ? {
|
|
'latest' => 'absent',
|
|
default => 'present',
|
|
}
|
|
$puppet_versionlock_version = $puppet_version ? {
|
|
'latest' => undef,
|
|
default => $puppet_version,
|
|
}
|
|
yum::versionlock{'puppet-agent':
|
|
ensure => $puppet_versionlock_ensure,
|
|
version => $puppet_versionlock_version,
|
|
}
|
|
|
|
# Ensure the puppet service is running
|
|
service { 'puppet':
|
|
ensure => 'running',
|
|
enable => true,
|
|
hasrestart => true,
|
|
require => Package['puppet-agent'],
|
|
}
|
|
|
|
}
|
|
|