Bug #4209

Uncaught Exception in Puppet::Resource::Catalog

Added by Gary Larizza almost 2 years ago. Updated almost 2 years ago.

Status:Closed Start date:07/11/2010
Priority:Normal Due date:
Assignee:Markus Roberts % Done:

0%

Category:-
Target version:2.6.0
Affected Puppet version:2.6.0rc1 Branch:
Keywords:
Votes: 1

Description

I’m using an Intel iMac as a test server (running 10.6 Server) that’s acting as both the Master and Agent. As I check through various classes with 2.6, I have a puppetusers class that defines a puppet user and group. It looks like this:

class puppetusers {
  user { 'puppet':
    comment => 'Puppet User',
    home => '/Users/puppet',
    shell => '/bin/bash',
    ensure => 'present',
    uid => '1025',
    gid => '20',
    password => '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C021907F814268FD9F0B405044CCFA0E19710AD29228DE700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
}
group { 'puppet':
  members => ['puppet'],
  ensure => 'present',
  gid => '1025',
}
}

When I specify ONLY that class to one of my nodes, I get an Uncaught Exception error. Here’s a stacktrace:

bash-3.2# puppet agent --no-daemonize -v -d --trace
debug: Failed to load library 'selinux' for feature 'selinux'
debug: Failed to load library 'shadow' for feature 'libshadow'
debug: Failed to load library 'ldap' for feature 'ldap'
debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUseradd: file usermod does not exist
debug: Puppet::Type::User::ProviderDirectoryservice: Executing '/usr/bin/dscl -plist . -list /Users'
debug: Puppet::Type::User::ProviderDirectoryservice: Executing '/usr/bin/dscl -plist . -read /Users/puppet'
debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing
debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/log]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state/classes.txt]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/certs/ca.pem]: Autorequiring File[/etc/puppet/ssl/certs]
debug: /File[/etc/puppet/ssl/certs/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/certs]
debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/private_keys/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/private_keys]
debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/reports]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet]
debug: /File[/etc/puppet/ssl/crl.pem]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/public_keys/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/public_keys]
debug: Finishing transaction 2166995060
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/log]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/crl.pem]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/private_keys/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/private_keys]
debug: /File[/etc/puppet/ssl/certs/ca.pem]: Autorequiring File[/etc/puppet/ssl/certs]
debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/certs/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/certs]
debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet]
debug: /File[/var/lib/puppet/reports]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/public_keys/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/public_keys]
debug: Finishing transaction 2164925160
debug: Using cached certificate for ca
debug: Using cached certificate for demomini.huronhs.com
notice: Starting Puppet client version 2.6.0
debug: Finishing transaction 2164482640
debug: Loaded state in 0.00 seconds
info: Retrieving plugin
debug: Loaded state in 0.00 seconds
debug: Using cached certificate for ca
debug: Using cached certificate for demomini.huronhs.com
debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet]
debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/crl.pem]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/certs/ca.pem]: Autorequiring File[/etc/puppet/ssl/certs]
debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/etc/puppet/ssl/certs/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/certs]
debug: /File[/etc/puppet/ssl/public_keys/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/public_keys]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/puppet/ssl]
debug: /File[/var/lib/puppet/reports]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/log]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/ssl/private_keys/demomini.huronhs.com.pem]: Autorequiring File[/etc/puppet/ssl/private_keys]
debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/ssl]
debug: Finishing transaction 2163967620
debug: Using cached certificate_revocation_list for ca
debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson
info: /File[/var/lib/puppet/lib]: Setting mode to 493
info: /File[/var/lib/puppet/lib]: Storing newly-audited value  for content
info: /File[/var/lib/puppet/lib/facter]: Setting mode to 493
info: /File[/var/lib/puppet/lib/facter]: Storing newly-audited value  for content
info: /File[/var/lib/puppet/lib/facter/pkg_base.rb]: Setting mode to 420
info: /File[/var/lib/puppet/lib/facter/pkg_base.rb]: Setting content to {md5}7b54b8a10b36c81de4957bf1cda106a8
info: /File[/var/lib/puppet/lib/facter/warranty_end.rb]: Setting mode to 420
info: /File[/var/lib/puppet/lib/facter/warranty_end.rb]: Setting content to {md5}3fa6df46d093278c318e8a72e149ac2e
debug: Finishing transaction 2164338460
debug: Storing state
debug: Stored state in 0.05 seconds
info: Loading facts in pkg_base
info: Loading facts in warranty_end
info: Loading facts in pkg_base
info: Loading facts in warranty_end
info: Loading facts in pkg_base
info: Loading facts in warranty_end
info: Loading facts in pkg_base
info: Loading facts in warranty_end
debug: catalog supports formats: b64_zlib_yaml dot marshal pson raw yaml; using pson
debug: importing '/etc/puppet/manifests/classes/ard_all_local.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/boe.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/boeconf.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/boepuppetd.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/boestaff.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demonstration.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/desktopbackground.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/developertools.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/g5lab.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/general_image.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hcspuppetmasters.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hhs.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hhsconf.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hhsfb.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hhspuppetd.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hsart.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hsimaclab.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hsjournalism.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hslabs.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hssped.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/hsstaff.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/leopard.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhs.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhscart01.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhscart02.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhsconf.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhsmultimedia.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhspuppetd.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhssped.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mjhsstaff.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/mms.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/msimaclab.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/nagiosusers.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/nrpe.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/office2008.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/passengerclass.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/passwd.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/puppetconf.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/puppetlaunchdaemon.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/puppetusers.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/sciencelab101.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/sciencelab104.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/sciencelab105.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/sciencelab106.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/shawlabs.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/shawsped.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/shawstaff.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/shel.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/snowleopard.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/staff.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/stafflaptop.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/studentdatafolder.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/studentuser.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/tiger.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wesconf.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wespuppetd.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wessped.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wesstaff.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wis.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wiscart01.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wiscart02.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/wismediacenter.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/clientadmin.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/demodockmcx.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/demofile.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/demopackage.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/demouser.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/directoryservice.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/firefox.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/loginwindow.pp' in environment production
debug: importing '/etc/puppet/manifests/classes/demofiles/motd.pp' in environment production
debug: importing '/etc/puppet/manifests/nodes.pp' in environment production
info: Caching catalog for demomini.huronhs.com
debug: Puppet::Type::Group::ProviderLdap: true value when expecting false
debug: Puppet::Type::Group::ProviderGroupadd: file groupmod does not exist
debug: Puppet::Type::Group::ProviderPw: file /usr/sbin/pw does not exist
debug: Creating default schedules
debug: Loaded state in 0.00 seconds
/Library/Ruby/Site/1.8/puppet/type/user.rb:228
/Library/Ruby/Site/1.8/puppet/type/user.rb:225:in `each'
/Library/Ruby/Site/1.8/puppet/type/user.rb:225
/Library/Ruby/Site/1.8/puppet/type.rb:1554:in `instance_eval'
/Library/Ruby/Site/1.8/puppet/type.rb:1554:in `autorequire'
/Library/Ruby/Site/1.8/puppet/type.rb:1538:in `eachautorequire'
/Library/Ruby/Site/1.8/puppet/type.rb:1537:in `each'
/Library/Ruby/Site/1.8/puppet/type.rb:1537:in `eachautorequire'
/Library/Ruby/Site/1.8/puppet/type.rb:1549:in `autorequire'
/Library/Ruby/Site/1.8/puppet/resource/catalog.rb:324:in `relationship_graph'
/Library/Ruby/Site/1.8/puppet/resource/catalog.rb:323:in `each'
/Library/Ruby/Site/1.8/puppet/resource/catalog.rb:323:in `relationship_graph'
/Library/Ruby/Site/1.8/puppet/transaction.rb:285:in `relationship_graph'
/Library/Ruby/Site/1.8/puppet/transaction.rb:281:in `prepare'
/Library/Ruby/Site/1.8/puppet/transaction.rb:130:in `evaluate'
/Library/Ruby/Site/1.8/puppet/resource/catalog.rb:144:in `apply'
/Library/Ruby/Site/1.8/puppet/configurer.rb:152:in `run'
/Library/Ruby/Site/1.8/puppet/util.rb:175:in `benchmark'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/Library/Ruby/Site/1.8/puppet/util.rb:174:in `benchmark'
/Library/Ruby/Site/1.8/puppet/configurer.rb:151:in `run'
/Library/Ruby/Site/1.8/puppet/agent.rb:39:in `run'
/Library/Ruby/Site/1.8/puppet/agent/locker.rb:21:in `lock'
/Library/Ruby/Site/1.8/puppet/agent.rb:39:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/sync.rb:230:in `synchronize'
/Library/Ruby/Site/1.8/puppet/agent.rb:39:in `run'
/Library/Ruby/Site/1.8/puppet/agent.rb:101:in `with_client'
/Library/Ruby/Site/1.8/puppet/agent.rb:37:in `run'
/Library/Ruby/Site/1.8/puppet/application.rb:171:in `call'
/Library/Ruby/Site/1.8/puppet/application.rb:171:in `controlled_run'
/Library/Ruby/Site/1.8/puppet/agent.rb:35:in `run'
/Library/Ruby/Site/1.8/puppet/agent.rb:76:in `start'
/Library/Ruby/Site/1.8/puppet/external/event-loop/signal-system.rb:95:in `call'
/Library/Ruby/Site/1.8/puppet/external/event-loop/signal-system.rb:95:in `__signal__'
/Library/Ruby/Site/1.8/puppet/external/event-loop/signal-system.rb:95:in `each'
/Library/Ruby/Site/1.8/puppet/external/event-loop/signal-system.rb:95:in `__signal__'
(eval):2:in `signal'
/Library/Ruby/Site/1.8/puppet/external/event-loop/event-loop.rb:313:in `sound_alarm'
/Library/Ruby/Site/1.8/puppet/agent.rb:80:in `start'
/Library/Ruby/Site/1.8/puppet/daemon.rb:124:in `start'
/Library/Ruby/Site/1.8/puppet/application/agent.rb:139:in `main'
/Library/Ruby/Site/1.8/puppet/application/agent.rb:96:in `run_command'
/Library/Ruby/Site/1.8/puppet/application.rb:301:in `run'
/Library/Ruby/Site/1.8/puppet/application.rb:398:in `exit_on_fail'
/Library/Ruby/Site/1.8/puppet/application.rb:301:in `run'
/Library/Ruby/Site/1.8/puppet/util/command_line.rb:55:in `execute'
/usr/bin/puppet:4
err: Got an uncaught exception of type NoMethodError: undefined method `resources' for #<Puppet::Resource::Catalog:0x101ff7fd8>
debug: Storing state
debug: Stored state in 0.01 seconds
notice: Finished catalog run in 0.06 seconds

History

Updated by Markus Roberts almost 2 years ago

  • Status changed from Unreviewed to Investigating
  • Target version set to 2.6.0

Updated by Markus Roberts almost 2 years ago

  • Assignee set to Markus Roberts

Updated by Markus Roberts almost 2 years ago

This appears to be an side effect of

commit 7c6b8836453b2b1e8679923f98854be3b0022edd
Author: Jesse Wolfe 
Date:   Tue Jun 15 14:15:16 2010 -0700

    [#1621] Composite keys for resources

In which resources was renamed to resource_refs. The question is, should this use be changed too, should the method be changed back, or should an alias be added?

Updated by Markus Roberts almost 2 years ago

  • Status changed from Investigating to Closed

Jesse’s fix pushed to master as commit:fa740203ba7af7e797d082657f77ba1b11be6cd8

Also available in: Atom PDF