diff --git a/manifests/logging.pp b/manifests/logging.pp index c25db9d1..8a28eea0 100644 --- a/manifests/logging.pp +++ b/manifests/logging.pp @@ -111,7 +111,11 @@ class ironic::logging( $use_syslog_real = pick($::ironic::use_syslog,$use_syslog) $use_stderr_real = pick($::ironic::use_stderr,$use_stderr) $log_facility_real = pick($::ironic::log_facility,$log_facility) - $log_dir_real = pick($::ironic::log_dir,$log_dir) + if $log_dir != '' { + $log_dir_real = pick($::ironic::log_dir,$log_dir) + } else { + $log_dir_real = $log_dir + } $debug_real = pick($::ironic::debug,$debug) oslo::log { 'ironic_config': diff --git a/releasenotes/notes/accept-empty-strings-log-dir-fc9ebec7543ea3a5.yaml b/releasenotes/notes/accept-empty-strings-log-dir-fc9ebec7543ea3a5.yaml new file mode 100644 index 00000000..e630b322 --- /dev/null +++ b/releasenotes/notes/accept-empty-strings-log-dir-fc9ebec7543ea3a5.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + It is now possible to pass empty strings to the log_dir option. This enables + logging to stdout/stderr. diff --git a/spec/classes/ironic_logging_spec.rb b/spec/classes/ironic_logging_spec.rb index 0bbee0b9..86044052 100644 --- a/spec/classes/ironic_logging_spec.rb +++ b/spec/classes/ironic_logging_spec.rb @@ -31,6 +31,13 @@ describe 'ironic::logging' do } end + let :empty_log_dir_param do + { + :log_dir => '', + } + end + + shared_examples_for 'ironic-logging' do context 'with basic logging options and default settings' do @@ -51,6 +58,11 @@ describe 'ironic::logging' do it_configures 'logging params unset' end + context 'with empty log_dir' do + before { params.merge!( empty_log_dir_param ) } + it_configures 'empty log dir' + end + end shared_examples 'basic default logging settings' do @@ -110,6 +122,14 @@ describe 'ironic::logging' do } end + shared_examples 'empty log dir' do + it 'configures ironic logging with empty log dir' do + is_expected.to contain_oslo__log('ironic_config').with( + :log_dir => '', + ) + end + end + on_supported_os({ :supported_os => OSDefaults.get_supported_os }).each do |os,facts|