fuel-plugin-kafka/deployment_scripts/puppet/patches/kafka/manifests/broker/service.pp

56 lines
1.5 KiB
Puppet

# Author:: Liam Bennett (mailto:lbennett@opentable.com)
# Copyright:: Copyright (c) 2013 OpenTable Inc
# License:: MIT
# == Class: kafka::broker::service
#
# This private class is meant to be called from `kafka::broker`.
# It manages the kafka service
#
class kafka::broker::service(
$service_install = $kafka::broker::service_install,
$service_ensure = $kafka::broker::service_ensure,
$jmx_opts = $kafka::broker::jmx_opts,
$log4j_opts = $kafka::broker::log4j_opts,
$opts = $kafka::broker::opts
) {
if $caller_module_name != $module_name {
fail("Use of private class ${name} by ${caller_module_name}")
}
if $service_install {
if $::service_provider == 'systemd' {
include ::systemd
file { '/usr/lib/systemd/system/kafka.service':
ensure => present,
mode => '0644',
content => template('kafka/broker.unit.erb'),
}
file { '/etc/init.d/kafka':
ensure => absent,
}
File['/usr/lib/systemd/system/kafka.service'] ~> Exec['systemctl-daemon-reload'] -> Service['kafka']
} else {
file { '/etc/init/kafka.conf':
ensure => present,
mode => '0755',
content => template('kafka/init.erb'),
before => Service['kafka'],
}
}
service { 'kafka':
ensure => $service_ensure,
enable => true,
hasstatus => true,
hasrestart => true,
}
} else {
debug('Skipping service install')
}
}