Issue #21512 has been updated by Robert Yeo.
UPDATE I have narrowed this down to a facter fact that is causing the issue. No idea why though especially on my linux boxes which should skip it. Runs fine on earlier versions of Puppet (3.1.1 is what I am testing with currently), but not on later versions (3.2.2 and 3.2.3). I need to double check 3.2.0 and 3.2.1. require 'rexml/document' include REXML # Thanks to Marcus https://github.com/DrMegahertz/ for helping out! if Facter.value('operatingsystem') == 'Darwin' def parse(element) case element.name when 'array' element.elements.map {|child| parse(child)} when 'dict' result = {} element.elements.each_slice(2) do |key, value| result[key.text] = parse(value) end result when 'real' element.text.to_f when 'integer' element.text.to_i when 'string', 'date' element.text else # FIXME: Remove me or beef me up # puts "Unknown type " + element.name end end begin xml = Facter::Util::Resolution.exec('system_profiler SPApplicationsDataType -xml') xmldoc = Document.new(xml) result = parse(xmldoc.root[1]) rescue result = '' end begin apps = [] result[0]['_items'].each do |application| # Remove all spaces and convert app name to lowercase app_name = application['_name'].downcase.gsub(' ','') # Only list applications in /Applications, Skip /Application/Utilities if application['path'].match(/^\/Applications/) and application['path'].index('Utilities') == nil if !application['version'].nil? Facter.add('app_' + app_name + '_version') { setcode { application['version'] } } #Facter.add('app_' + app_name) { setcode { true } } apps << app_name end end end # Create apps fact with all applications separated by comma # Facter.add('apps') { setcode { apps.join ',' } } rescue end else end ---------------------------------------- Bug #21512: Non-PE OS X Node on PE3 Master throws unknown method error https://projects.puppetlabs.com/issues/21512#change-95904 * Author: Nate Walck * Status: Needs More Information * Priority: Normal * Assignee: Nate Walck * Category: * Target version: * Affected Puppet version: 3.2.2 * Keywords: * Branch: ---------------------------------------- I started with a fresh PE3 Master and added a Fresh OSX Client to it using Puppet 3.2.2, Facter 1.7.1 and Hiera 1.2.1. Upon running puppet agent -t and signing the certificate (Autosign * is enabled for this dev box), I get the following errors: err Could not retrieve catalog; skipping run Puppet 2013-06-28 01:30 UTC err Failed to generate additional resources using 'eval_generate: Could not intern_multiple from pson: undefined method `encoding' for #<String:0x10291e490> /File[/var/lib/puppet/lib] 2013-06-28 01:30 UTC err Could not retrieve catalog from remote server: Could not intern from pson: undefined method `encoding' for #<String:0x102b15398> Puppet 2013-06-28 01:30 UTC err Could not evaluate: Could not intern from pson: undefined method `encoding' for #<String:0x102907628> Could not retrieve file metadata for puppet://puppet/plugins: Could not intern from pson: undefined method `encoding' for #<String:0x102907628> /File[/var/lib/puppet/lib] 2013-06-28 01:30 UTC The agent throws this error every run and doesn't seem to pickup custom facts (I tried removing the facts to see if they caused the issue, but to no avail). Let me know if you need any additional information. -- 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.
