From deca790b25c885410fffb0da75bb178c110312bf Mon Sep 17 00:00:00 2001 From: David Leggett Date: Fri, 15 Sep 2023 12:48:17 +0100 Subject: [PATCH 1/2] Fix fqdn_rotate determinism This was changed in e2d8b18 and ever since fqqdn_rotate has changed result on every succesive run. --- lib/puppet/parser/functions/fqdn_rotate.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/parser/functions/fqdn_rotate.rb b/lib/puppet/parser/functions/fqdn_rotate.rb index 1437caa38..8d8f2e658 100644 --- a/lib/puppet/parser/functions/fqdn_rotate.rb +++ b/lib/puppet/parser/functions/fqdn_rotate.rb @@ -36,7 +36,7 @@ elements = result.size - seed = Digest::MD5.hexdigest([lookupvar('facts'), args].join(':')).hex + seed = Digest::MD5.hexdigest([lookupvar('::fqdn'), args].join(':')).hex # deterministic_rand() was added in Puppet 3.2.0; reimplement if necessary if Puppet::Util.respond_to?(:deterministic_rand) offset = Puppet::Util.deterministic_rand(seed, elements).to_i From 209de2fe91c5eb7e4468012ef3504c4716341ecc Mon Sep 17 00:00:00 2001 From: David Leggett Date: Fri, 15 Sep 2023 14:20:52 +0100 Subject: [PATCH 2/2] get networking.fqdn fact by more modern method --- lib/puppet/parser/functions/fqdn_rotate.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/puppet/parser/functions/fqdn_rotate.rb b/lib/puppet/parser/functions/fqdn_rotate.rb index 8d8f2e658..0b4145159 100644 --- a/lib/puppet/parser/functions/fqdn_rotate.rb +++ b/lib/puppet/parser/functions/fqdn_rotate.rb @@ -36,7 +36,7 @@ elements = result.size - seed = Digest::MD5.hexdigest([lookupvar('::fqdn'), args].join(':')).hex + seed = Digest::MD5.hexdigest([self['facts']['networking']['fqdn'], args].join(':')).hex # deterministic_rand() was added in Puppet 3.2.0; reimplement if necessary if Puppet::Util.respond_to?(:deterministic_rand) offset = Puppet::Util.deterministic_rand(seed, elements).to_i