Skip to content

Commit d69574b

Browse files
stjmth-haaks
authored andcommitted
new parameters logging support
1 parent 40e341b commit d69574b

File tree

4 files changed

+82
-0
lines changed

4 files changed

+82
-0
lines changed

REFERENCE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ The following parameters are available in the `elasticsearch` class:
131131
* [`logdir_mode`](#-elasticsearch--logdir_mode)
132132
* [`manage_datadir`](#-elasticsearch--manage_datadir)
133133
* [`manage_logdir`](#-elasticsearch--manage_logdir)
134+
* [`manage_logging`](#-elasticsearch--manage_logging)
134135
* [`manage_repo`](#-elasticsearch--manage_repo)
135136
* [`oss`](#-elasticsearch--oss)
136137
* [`package_dir`](#-elasticsearch--package_dir)
@@ -410,6 +411,14 @@ Data type: `Boolean`
410411

411412
Enable logdir management (default true).
412413

414+
##### <a name="-elasticsearch--manage_logging"></a>`manage_logging`
415+
416+
Data type: `Boolean`
417+
418+
Enable logging (log4j) management (default false).
419+
420+
Default value: `false`
421+
413422
##### <a name="-elasticsearch--manage_repo"></a>`manage_repo`
414423

415424
Data type: `Boolean`

manifests/config.pp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,20 @@
141141
$_tls_config = {}
142142
}
143143

144+
# Logging file
145+
if $elasticsearch::manage_logging and !empty($elasticsearch::logging_content) {
146+
file { $elasticsearch::logging_path:
147+
ensure => file,
148+
content => $elasticsearch::logging_content,
149+
group => $elasticsearch::elasticsearch_group,
150+
owner => $elasticsearch::elasticsearch_user,
151+
mode => '0644',
152+
notify => $elasticsearch::_notify_service,
153+
require => File[$elasticsearch::configdir],
154+
before => Class['elasticsearch::service'],
155+
}
156+
}
157+
144158
# Generate Elasticsearch config
145159
$data =
146160
$elasticsearch::config + { 'path.data' => $elasticsearch::datadir } + { 'path.logs' => $elasticsearch::logdir } + $_tls_config

manifests/init.pp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@
139139
# @param manage_logdir
140140
# Enable logdir management (default true).
141141
#
142+
# @param manage_logging
143+
# Enable logging (log4j) management (default false).
144+
#
142145
# @param manage_repo
143146
# Enable repo management by enabling official Elastic repositories.
144147
#
@@ -375,6 +378,9 @@
375378
Optional[String] $keystore_password = undef,
376379
Optional[Stdlib::Absolutepath] $keystore_path = undef,
377380
Stdlib::Filemode $logdir_mode = '2750',
381+
Optional[String] $logging_content = undef,
382+
Stdlib::Absolutepath $logging_path = "${configdir}/log4j2.properties",
383+
Boolean $manage_logging = false,
378384
Boolean $package_hold = false,
379385
Optional[Stdlib::Absolutepath] $private_key = undef,
380386
Enum['rsa','dsa','ec'] $private_key_type = 'rsa',

spec/classes/000_elasticsearch_init_spec.rb

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,59 @@
528528
}
529529
end
530530

531+
context 'When managing the logging file (with content)' do
532+
let(:params) do
533+
default_params.merge(
534+
logging_content: '# Content',
535+
manage_logging: true
536+
)
537+
end
538+
539+
it {
540+
expect(subject).to contain_file('/etc/elasticsearch/log4j2.properties').
541+
with(ensure: 'file', content: '# Content')
542+
}
543+
end
544+
545+
context 'When managing the logging file (with content and specific path)' do
546+
let(:params) do
547+
default_params.merge(
548+
logging_content: '# Content',
549+
logging_path: '/etc/elasticsearch/log4j.properties',
550+
manage_logging: true
551+
)
552+
end
553+
554+
it {
555+
expect(subject).to contain_file('/etc/elasticsearch/log4j.properties').
556+
with(ensure: 'file', content: '# Content')
557+
}
558+
end
559+
560+
context 'When managing the logging file (with no content)' do
561+
let(:params) do
562+
default_params.merge(
563+
manage_logging: true
564+
)
565+
end
566+
567+
it {
568+
expect(subject).not_to contain_file('/etc/elasticsearch/log4j2.properties')
569+
}
570+
end
571+
572+
context 'When not managing the logging file' do
573+
let(:params) do
574+
default_params.merge(
575+
manage_logging: false
576+
)
577+
end
578+
579+
it {
580+
expect(subject).not_to contain_file('/etc/elasticsearch/log4j2.properties')
581+
}
582+
end
583+
531584
context 'with restart_on_change => true' do
532585
let(:params) do
533586
default_params.merge(

0 commit comments

Comments
 (0)