From 39ab142c8a7e93ec9767bf7c5bfb7c44d8c2ca6e Mon Sep 17 00:00:00 2001 From: Marty Ewings Date: Wed, 14 Jun 2023 11:57:00 +0100 Subject: [PATCH 1/3] remove S0019 from testing to prevent false fails --- spec/acceptance/pe_status_check_spec.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spec/acceptance/pe_status_check_spec.rb b/spec/acceptance/pe_status_check_spec.rb index 4f1c25f..7dc2a7f 100644 --- a/spec/acceptance/pe_status_check_spec.rb +++ b/spec/acceptance/pe_status_check_spec.rb @@ -5,11 +5,14 @@ # Tests pe_status_check class for default behaviours, no notification on all facts passing # Ensures default PE deployment passes all test cases +# removes s0019 as its always a false positive describe 'pe_status_check class' do context 'activates module default parameters' do it 'applies the class with default parameters' do pp = <<-MANIFEST - include pe_status_check + class {'pe_status_check': + indicator_exclusions => ['S0019'], + } MANIFEST idempotent_apply(pp) end @@ -38,7 +41,7 @@ it 'if in the exclude list a parameter should not notify' do ppp = <<-MANIFEST class {'pe_status_check': - indicator_exclusions => ['S0001'], + indicator_exclusions => ['S0001,S0019'], } MANIFEST idempotent_apply(ppp) From 465944219eb0e45a47a25b5cc32c5c4c7d2b896a Mon Sep 17 00:00:00 2001 From: martyewings Date: Mon, 4 Sep 2023 15:33:17 +0100 Subject: [PATCH 2/3] (SUP-4402) pe_status_check fails if hiera.yaml is empty --- lib/facter/pe_status_check.rb | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lib/facter/pe_status_check.rb b/lib/facter/pe_status_check.rb index 8751c15..77f9da5 100644 --- a/lib/facter/pe_status_check.rb +++ b/lib/facter/pe_status_check.rb @@ -387,16 +387,22 @@ chunk(:S0033) do next unless ['primary', 'legacy_primary', 'replica', 'pe_compiler', 'legacy_compiler'].include?(Facter.value('pe_status_check_role')) - hiera_config_path = Puppet.settings['hiera_config'] - next unless File.exist?(hiera_config_path) - hiera_config_file = YAML.load_file(hiera_config_path) - hiera_version = hiera_config_file.dig('version') - if hiera_version.nil? + if File.exist?(hiera_config_path) + hiera_config_file = YAML.load_file(hiera_config_path) + else { S0033: false } - # Is Hiera 5 in use? + end + + if hiera_config_file.is_a?(Hash) && !hiera_config_file.empty? + hiera_version = hiera_config_file.dig('version') + if hiera_version.nil? + { S0033: false } + else + { S0033: hiera_version.to_i == 5 } + end else - { S0033: hiera_version.to_i == 5 } + { S0033: false } end end From cd268822261eb67d49071a215bd594aab87dc2a4 Mon Sep 17 00:00:00 2001 From: martyewings Date: Mon, 4 Sep 2023 15:43:07 +0100 Subject: [PATCH 3/3] Revert "remove S0019 from testing to prevent false fails" This reverts commit 39ab142c8a7e93ec9767bf7c5bfb7c44d8c2ca6e. --- spec/acceptance/pe_status_check_spec.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/spec/acceptance/pe_status_check_spec.rb b/spec/acceptance/pe_status_check_spec.rb index 7dc2a7f..4f1c25f 100644 --- a/spec/acceptance/pe_status_check_spec.rb +++ b/spec/acceptance/pe_status_check_spec.rb @@ -5,14 +5,11 @@ # Tests pe_status_check class for default behaviours, no notification on all facts passing # Ensures default PE deployment passes all test cases -# removes s0019 as its always a false positive describe 'pe_status_check class' do context 'activates module default parameters' do it 'applies the class with default parameters' do pp = <<-MANIFEST - class {'pe_status_check': - indicator_exclusions => ['S0019'], - } + include pe_status_check MANIFEST idempotent_apply(pp) end @@ -41,7 +38,7 @@ class {'pe_status_check': it 'if in the exclude list a parameter should not notify' do ppp = <<-MANIFEST class {'pe_status_check': - indicator_exclusions => ['S0001,S0019'], + indicator_exclusions => ['S0001'], } MANIFEST idempotent_apply(ppp)