Issue #22622 has been updated by Josh Cooper. Subject changed from Puppet 3.3.0 and Facter completely broken on Windows Server 2003 to Puppet fails when facter loads a script based external fact that doesn't return any output
This affects windows (powershell, bat, etc) and unix (.sh). It's because `Facter::Util::Resolution.exec` returns nil, and we call `each_line` on it. ---------------------------------------- Bug #22622: Puppet fails when facter loads a script based external fact that doesn't return any output https://projects.puppetlabs.com/issues/22622#change-99806 * Author: Martijn Grendelman * Status: Accepted * Priority: Normal * Assignee: Martijn Grendelman * Category: * Target version: 1.7.4 * Keywords: windows * Branch: * Affected Facter version: 1.7.3 ---------------------------------------- After upgrading Puppet agent on a Windows Server 2003 instance to 3.3.0 (from Puppetlabs-supplied puppet-3.3.0.msi), both Facter and Puppet did no longer work: Facter: Running Facter on demand ... Failed to load feature test for root: undefined method `each_line' for nil:NilClass Error: undefined method `each_line' for nil:NilClass Puppet: Running Puppet agent on demand ... Failed to load feature test for root: undefined method `each_line' for nil:NilClass C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/parser.rb:73:in `parse': undefined method `each_line' for nil:NilClass (NoMethodError) from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/parser.rb:120:in `results' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/directory_loader.rb:61:in `block in load' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/directory_loader.rb:55:in `each' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/directory_loader.rb:55:in `load' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/composite_loader.rb:10:in `block in load' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/composite_loader.rb:10:in `each' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/composite_loader.rb:10:in `load' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/collection.rb:109:in `load' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/collection.rb:84:in `fact' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter/util/collection.rb:139:in `value' from C:/Program Files/Puppet Labs/Puppet/facter/lib/facter.rb:112:in `block (2 levels) in singletonclass' from C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/defaults.rb:4:in `default_diffargs' from C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/defaults.rb:183:in `<module:Puppet>' from C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/defaults.rb:1:in `<top (required)>' from C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet.rb:109:in `<module:Puppet>' from C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet.rb:29:in `<top (required)>' from C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Program Files/Puppet Labs/Puppet/puppet/lib/puppet/util/command_line.rb:12:in `<top (required)>' from C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:3:in `<main>' Downgrading to 3.2.4 fixed the problem and restored functionality. The problem does not occur on Windows Server 2008 with Puppet 3.3.0. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.
