Hi, we use a custom fact, that gives us the loaded puppet moduels and loaded puppet classes. With Debian Bookworm it breaks:
Notice: /File[/var/cache/puppet/lib/facter/classes.rb]/content: content changed '{sha256}ca4b2b426bf27e0176a993ce39c7c64796996c90430a8712da30514fb914aea8' to '{sha256}b3540b60fd4cf67d7d4aeb762d0c7709d135eed82ad01cf13a2b8b28947a66e7' Info: Loading facts Error: Facter: --puppet_vardir-- not implemented but required with params: [] with block: nil called by: ["/var/cache/puppet/lib/facter/classes.rb:7:in `<top (required)>'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:115:in `load'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:115:in `kernel_load'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:98:in `load_file'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:47:in `block (2 levels) in load_all'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:45:in `each'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:45:in `block in load_all'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:41:in `each'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/loader.rb:41:in `load_all'", "/usr/lib/ruby/vendor_ruby/facter/custom_facts/util/collection.rb:118:in `custom_facts'", "/usr/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/external_fact_loader.rb:20:in `load_custom_facts'", "/usr/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/external_fact_loader.rb:6:in `custom_facts'", "/usr/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/fact_loader.rb:56:in `load_custom_facts'", "/usr/lib/ruby/vendor_ruby/facter/framework/core/fact_loaders/fact_loader.rb:23:in `load'", "/usr/lib/ruby/vendor_ruby/facter/framework/core/fact_manager.rb:20:in `resolve_facts'", "/usr/lib/ruby/vendor_ruby/facter.rb:380:in `to_hash'", "/usr/lib/ruby/vendor_ruby/puppet/facter_impl.rb:25:in `to_hash'", "/usr/lib/ruby/vendor_ruby/puppet/indirector/facts/facter.rb:40:in `find'", "/usr/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:223:in `find'", "/usr/lib/ruby/vendor_ruby/puppet/configurer/fact_handler.rb:15:in `find_facts'", "/usr/lib/ruby/vendor_ruby/puppet/configurer.rb:241:in `block in get_facts'", "/usr/lib/ruby/vendor_ruby/puppet/util.rb:567:in `block in thinmark'", "/usr/lib/ruby/3.1.0/benchmark.rb:311:in `realtime'", "/usr/lib/ruby/vendor_ruby/puppet/util.rb:566:in `thinmark'", "/usr/lib/ruby/vendor_ruby/puppet/configurer.rb:240:in `get_facts'", "/usr/lib/ruby/vendor_ruby/puppet/configurer.rb:423:in `run_internal'", "/usr/lib/ruby/vendor_ruby/puppet/configurer.rb:339:in `run'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:83:in `block (6 levels) in run'", "/usr/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'", "/usr/lib/ruby/vendor_ruby/puppet.rb:289:in `override'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:82:in `block (5 levels) in run'", "/usr/lib/ruby/3.1.0/timeout.rb:107:in `block in timeout'", "/usr/lib/ruby/3.1.0/timeout.rb:117:in `timeout'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:81:in `block (4 levels) in run'", "/usr/lib/ruby/vendor_ruby/puppet/agent/locker.rb:21:in `lock'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:71:in `block (3 levels) in run'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:162:in `with_client'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:67:in `block (2 levels) in run'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:127:in `run_in_fork'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:66:in `block in run'", "/usr/lib/ruby/vendor_ruby/puppet/application.rb:172:in `controlled_run'", "/usr/lib/ruby/vendor_ruby/puppet/agent.rb:47:in `run'", "/usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:433:in `onetime'", "/usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:393:in `block in run_command'", "/usr/lib/ruby/vendor_ruby/puppet/context.rb:62:in `override'", "/usr/lib/ruby/vendor_ruby/puppet.rb:289:in `override'", "/usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:390:in `run_command'", "/usr/lib/ruby/vendor_ruby/puppet/application.rb:421:in `block in run'", "/usr/lib/ruby/vendor_ruby/puppet/util.rb:756:in `exit_on_fail'", "/usr/lib/ruby/vendor_ruby/puppet/application.rb:421:in `run'", "/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:143:in `run'", "/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:77:in `execute'", "/usr/bin/puppet:5:in `<main>'"] The line, where it breaks is: Facter.puppet_vardir can someone give me a hint, how we can solve it ? the full fact is: #!/usr/bin/env ruby # Puppet classes and modules as facts # Source: modules/custom/lib/facter/classes.rb require 'facter' begin Facter.puppet_vardir rescue Facter.loadfacts() end vardir=Facter.value("puppet_vardir") statedir="#{vardir}/state" classes_file="#{statedir}/classes.txt" if File.exists?(classes_file) #File exists, load it. f=File.open(classes_file, 'r') classes_hash = {} modules_array = [] File.foreach(classes_file) do |l| modules_array << l.chomp.gsub(/::.*/, '') end modules_array = modules_array.sort.uniq modules_array.each do |i| classes_array = [] classes_array << i File.foreach(classes_file) do |l| classes_array << l.chomp if l =~ /^#{i}/ classes_array = classes_array.sort.uniq end classes_hash[i] = classes_array end Facter.add(:puppet_modules) do confine :kernel => 'Linux' setcode do modules_array.sort.uniq.join(', ').to_s end end Facter.add(:puppet_classes) do confine :kernel => 'Linux' setcode do classes_hash.map { |_k, v| v }.sort.uniq.join(', ').to_s end end end cu denny -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/4cd5ad31-ef7e-4cd4-a838-4600f3f6d43cn%40googlegroups.com.