From dbc4f7ad2a58fd518ec7276ea27fb7b895a6aeae Mon Sep 17 00:00:00 2001 From: Juan Antonio Osorio Robles Date: Fri, 6 Oct 2017 13:00:16 +0300 Subject: [PATCH] Accept empty strings for log_dir An empty string is an acceptable value of this entry, and it forces logging to stdout/stderr, which is useful when running on containers. Change-Id: I79a53d59f948c19b22f883d120e1afed7439d643 --- manifests/logging.pp | 6 +++++- ...mpty-strings-log-dir-fc9ebec7543ea3a5.yaml | 5 +++++ spec/classes/ironic_logging_spec.rb | 20 +++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/accept-empty-strings-log-dir-fc9ebec7543ea3a5.yaml 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|