From e1ba82061729cb091f5328ae2a811d06ae7050a7 Mon Sep 17 00:00:00 2001 From: Sven Dewit Date: Thu, 12 Dec 2024 20:58:17 +0100 Subject: [PATCH] fix: honor service_restart in kafka::broker::service --- manifests/broker/service.pp | 10 +++++++++- spec/classes/broker_spec.rb | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/manifests/broker/service.pp b/manifests/broker/service.pp index 5879b72..405008c 100644 --- a/manifests/broker/service.pp +++ b/manifests/broker/service.pp @@ -7,6 +7,7 @@ Boolean $manage_service = $kafka::broker::manage_service, Enum['running', 'stopped'] $service_ensure = $kafka::broker::service_ensure, String[1] $service_name = $kafka::broker::service_name, + Boolean $service_restart = $kafka::broker::service_restart, String[1] $user_name = $kafka::broker::user_name, String[1] $group_name = $kafka::broker::group_name, Stdlib::Absolutepath $config_dir = $kafka::broker::config_dir, @@ -38,12 +39,19 @@ include systemd + if ($service_restart) { + $config_notify = Service[$service_name] + } else { + $config_notify = undef + } + file { "/etc/systemd/system/${service_name}.service": ensure => file, mode => '0644', content => template('kafka/unit.erb'), + notify => $config_notify, } - ~> service { $service_name: + service { $service_name: ensure => $service_ensure, enable => true, hasstatus => true, diff --git a/spec/classes/broker_spec.rb b/spec/classes/broker_spec.rb index 311fce0..99c7dee 100644 --- a/spec/classes/broker_spec.rb +++ b/spec/classes/broker_spec.rb @@ -63,6 +63,7 @@ end context 'defaults' do + it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_notify('Service[kafka]') } it { is_expected.not_to contain_file('/etc/systemd/system/kafka.service').with_content %r{^LimitNOFILE=} } it { is_expected.not_to contain_file('/etc/systemd/system/kafka.service').with_content %r{^LimitCORE=} } it { is_expected.to contain_service('kafka') } @@ -86,6 +87,13 @@ it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^After=dummy\.target$} } it { is_expected.to contain_file('/etc/systemd/system/kafka.service').with_content %r{^Wants=dummy\.target$} } end + + context 'service_restart false' do + let(:params) { super().merge(service_restart: false) } + + it { is_expected.to contain_file('/etc/systemd/system/kafka.service') } + it { is_expected.not_to contain_file('/etc/systemd/system/kafka.service').with_notify('Service[kafka]') } + end end it_validates_parameter 'mirror_url'