diff --git a/manifests/profile/base/logging/fluentd/fluentd_service.pp b/manifests/profile/base/logging/fluentd/fluentd_service.pp
index b1000d71f..a51d0bb12 100644
--- a/manifests/profile/base/logging/fluentd/fluentd_service.pp
+++ b/manifests/profile/base/logging/fluentd/fluentd_service.pp
@@ -30,7 +30,7 @@ define tripleo::profile::base::logging::fluentd::fluentd_service (
# stub config files.
if !empty($sources) or !empty($filters) or !empty($matches) {
if $fluentd_transform and !empty($sources) {
- $new_source = map($sources) |$source| {
+ $new_source = {} + map($sources) |$source| {
if $source['path'] {
$newpath = {
'path' => regsubst($source['path'],
@@ -44,14 +44,12 @@ define tripleo::profile::base::logging::fluentd::fluentd_service (
}
}
}else{
- $new_source = $sources
+ $new_source = {} + $sources
}
# Insert default values into list of sources.
- $_sources = $new_source.map |$src| {
- $default_source
- + {pos_file => "${pos_file_path}/${src['tag']}.pos"}
- + $src
- }
+ $_sources = { 'pos_file' => "${pos_file_path}/${new_source['tag']}.pos" }
+ + $default_source + $new_source
+
::fluentd::config { "100-openstack-${title}.conf":
config => {
'source' => $_sources,
diff --git a/spec/classes/tripleo_profile_base_logging_fluentd_spec.rb b/spec/classes/tripleo_profile_base_logging_fluentd_spec.rb
index 08c07ac3a..32339e518 100644
--- a/spec/classes/tripleo_profile_base_logging_fluentd_spec.rb
+++ b/spec/classes/tripleo_profile_base_logging_fluentd_spec.rb
@@ -119,8 +119,17 @@ describe 'tripleo::profile::base::logging::fluentd' do
) }
it { is_expected.to contain_fluentd__config('100-openstack-ceilometer_agent_central.conf') }
it { is_expected.to contain_file('/etc/fluentd/config.d/100-openstack-ceilometer_agent_central.conf').with_content(
- /^\s*path \/var\/log\/ceilometer\/central\.log$/
+"# This file is managed by Puppet, do not edit manually.
+
+"
) }
+
end
context 'Config by service -- ceilometer_agent_central with path trasnformation' do
@@ -141,19 +150,18 @@ describe 'tripleo::profile::base::logging::fluentd' do
:pos_file_path => '/var/cache/fluentd/',
:default_format => '/(?