From 38516cba14ec3c5a1acdce40d6f5f59b7d2d3248 Mon Sep 17 00:00:00 2001 From: Tim Meusel <tim@bastelfreak.de> Date: Wed, 2 Dec 2020 17:38:19 +0100 Subject: [PATCH] (FACT-2880) fact: call Puppet within setcode block This change is a result of https://tickets.puppetlabs.com/browse/FACT-2880 previous to this change, we called Puppet outside the setcode block. This works fine on Facter 3. On Facter 4 this sets the service_provider fact to `base`. Moving the code into the setcode block fixes it. --- lib/facter/alert_manager_running.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/facter/alert_manager_running.rb b/lib/facter/alert_manager_running.rb index 24856c388..1e0019279 100644 --- a/lib/facter/alert_manager_running.rb +++ b/lib/facter/alert_manager_running.rb @@ -1,10 +1,9 @@ require 'puppet' -service = Puppet::Type.type(:service).new(:name => 'alert_manager') # rubocop:disable Style/HashSyntax - Facter.add('prometheus_alert_manager_running') do setcode do begin + service = Puppet::Type.type(:service).new(:name => 'alert_manager') # rubocop:disable Style/HashSyntax service.provider.status == :running rescue Puppet::Error false