Issue #15990 has been updated by Gary Larizza.
I think I found the issue: libxml-ruby is installed on 10.5 and 10.6 by default 10.5: `libxml-ruby (0.9.5, 0.3.8.4) ` 10.6 `libxml-ruby (1.1.2) ` The libraries are there, and I SUSPECT that the version of libxml-ruby on 10.5 is too old to have the LibXML::XML::Parser::Options constant. Checking /usr/lib/ruby/gems/1.8/gems/libxml-ruby-0.9.5/lib/libxml/document.rb on 10.5, it looks like that's actually the case (XML::Parser::Options IS on the version of libxml-ruby on 10.6). To summarize, the version of libxml-ruby on 10.5 is too old for a constant being passed by CFPropertyLIst, but the fact that libxml-ruby EXISTS means that CFPropertyList is going to try to use it (i.e. it won't failover to a built-in technology). There may be a way to force CFPropertyList to use REXML on 10.5 (or versions of libxml-ruby older than, say, 1.1.2) - I'll contact the author of CFP and see what he thinks. In the meantime, yes, I think we need to look at reverting CFP back to facter/util/plist for the 2.0.0 release since that library DOES work all the way back to 10.5. ---------------------------------------- Bug #15990: Puppet fails due to facter error on 10.5.8 clients https://projects.puppetlabs.com/issues/15990#change-70452 Author: Chris Barker Status: Needs More Information Priority: Normal Assignee: Chris Barker Category: Target version: Keywords: cfpropertylist xml plist parse Branch: Affected Facter version: 2.0.0rc3 Running on ruby 1.8.6, it appears that CFPropertyList is not returning a proper plist, or is just full of null values. Trace: Error: Could not run: Could not retrieve facts for 10-5-8-pl-vm.local: undefined method `each' for nil:NilClass /Users/puppet/src/facter/lib/facter/macosx.rb:30 The line is: Facter::Util::Macosx.hardware_overview.each do |fact, value| Putting test code in place, it appears that around line 30/31 in facter/utils/macosx.rb the call to CFPropertList::List.new is returning nil values, so it might be a rexml issue in rbCFTypes util/macosx.rb: plist = Facter::Util::CFPropertyList::List.new begin plist.load_str(xml) rescue => e fail("A plist file could not be properly read by Facter::Util::CFPropertyList: #{e.inspect}") end The plist.load_str(xml) never appears to return. I am working with Gary on this, so I will update as we dig into this more. -- 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 post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
