Puppet Class: puppet_agent::service
- Defined in:
- manifests/service.pp
Summary
Ensures that managed services are running.Overview
This class is meant to be called from puppet_agent.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'manifests/service.pp', line 3
class puppet_agent::service {
assert_private()
$_service_names = $puppet_agent::service_names
if $facts['os']['name'] == 'Solaris' and $facts['os']['release']['major'] == '10' and versioncmp($facts['clientversion'], '5.0.0') < 0 {
# Skip managing service, upgrade script will handle it.
} elsif $facts['os']['name'] == 'Solaris' and $facts['os']['release']['major'] == '11' and $puppet_agent::aio_upgrade_required {
# Only use script if we just performed an upgrade.
$_logfile = "${facts['env_temp_variable']}/solaris_start_puppet.log"
# We'll need to pass the names of the services to start to the script
$_service_names_arg = join($_service_names, ' ')
notice ("Puppet service start log file at ${_logfile}")
file { "${facts['env_temp_variable']}/solaris_start_puppet.sh":
ensure => file,
source => 'puppet:///modules/puppet_agent/solaris_start_puppet.sh',
mode => '0755',
}
-> exec { 'solaris_start_puppet.sh':
command => "${facts['env_temp_variable']}/solaris_start_puppet.sh ${facts['puppet_agent_pid']} ${_service_names_arg} 2>&1 > ${_logfile} &",
path => '/usr/bin:/bin:/usr/sbin',
}
file { ['/var/opt/lib', '/var/opt/lib/pe-puppet', '/var/opt/lib/pe-puppet/state']:
ensure => directory,
}
} else {
$_service_names.each |$service| {
service { $service:
ensure => running,
enable => true,
hasstatus => true,
hasrestart => true,
}
}
}
}
|