More on this problem, I found the --trace option and enabled it and get this out of a puppetd run with the setup I listed earlier.
[r...@myhost manifests]# puppetd --test --noop --tags users --trace info: Loading fact drbd info: Retrieving facts info: Loading fact drbd warning: Found multiple default providers for group: ldap, groupadd; using ldap warning: Found multiple default providers for user: ldap, useradd; using ldap info: Caching catalog at /var/lib/puppet/localconfig.yaml notice: Starting catalog run notice: //Node[basicnode]/users/Sysusersetup[apache]/Usersetup[apache]/User[apache]/groups: is upload, should be upload,opt-query (noop) notice: //Node[basicnode]/users/Ldapuser[opt-query]/User[opt-query]/gid: is 504, should be 504 (noop) notice: //Node[basicnode]/users/Ldapuser[opt-arch]/User[opt-arch]/gid: is 503, should be 503 (noop) /usr/lib/ruby/site_ruby/1.8/puppet/property/list.rb:13:in `is_to_s' /usr/lib/ruby/site_ruby/1.8/puppet/transaction/change.rb:49:in `go' /usr/lib/ruby/site_ruby/1.8/puppet/transaction/change.rb:72:in `forward' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:118:in `apply_changes' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:111:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:111:in `apply_changes' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:83:in `apply' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:239:in `eval_resource' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:425:in `thinmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:424:in `thinmark' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:238:in `eval_resource' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:310:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:425:in `thinmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:424:in `thinmark' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:309:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:303:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:303:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/node/catalog.rb:124:in `apply' /usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:256:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:180:in `benchmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:179:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:255:in `run' /usr/lib/ruby/1.8/sync.rb:229:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:237:in `run' /usr/sbin/puppetd:417 /usr/lib/ruby/site_ruby/1.8/puppet/property/list.rb:13:in `is_to_s' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:124:in `apply_changes' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:111:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:111:in `apply_changes' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:83:in `apply' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:239:in `eval_resource' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:425:in `thinmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:424:in `thinmark' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:238:in `eval_resource' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:310:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:425:in `thinmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:424:in `thinmark' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:309:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:303:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:303:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/node/catalog.rb:124:in `apply' /usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:256:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:180:in `benchmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:179:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:255:in `run' /usr/lib/ruby/1.8/sync.rb:229:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:237:in `run' /usr/sbin/puppetd:417 err: Got an uncaught exception of type NoMethodError: undefined method `join' for :absent:Symbol notice: Finished catalog run in 4.96 seconds Trevor Hemsley wrote: > Hi all > > I am using puppet 0.24.7 on Centos 5.2 and am attempting to set up users > in LDAP via puppet. I am getting an error msg that says > > err: Got an uncaught exception of type NoMethodError: undefined method > `join' for :absent:Symbol > > on the second run of puppetd. First time through I run > > puppetd --test --tags users > > and it works and sets up the users "opt-query" and "opt-arch" in my LDAP > directory. If I then run the exact same command again then it fails with > the error above. Here's a simplified test case of what I have set up and > it fails for me using this. It appears to be something to do with the > multiple groups specified for the opt-arch user - do I have a mistake in > the way I have this set up in the define? > > define ldapuser > ( > $uid, > $groups, > $home, > $shell > ) > { > group {"$title": > gid => $uid, > provider => "ldap", > ensure => present > } > user {"$title": > comment => "$title", > ensure => present, > groups => [ "$groups" ], > gid => "$uid", > home => "$home", > managehome => "false", > provider => "ldap", > shell => "$shell", > uid => "$uid", > require => Group["$title"] > } > } > > class users > { > ldapuser {"opt-query": > home => "/some/dir/here", > shell => "/sbin/nologin", > uid => "506", > groups => ["opt-query"] > } > ldapuser {"opt-arch": > home => "/some/dir/here", > shell => "/sbin/nologin", > uid => "507", > groups => [ "opt-query","opt-arch" ], > require => [ Ldapuser["opt-query"] ] > } > } > > -- Trevor Hemsley Infrastructure Engineer ................................................. * C A L Y P S O * 4th Floor, Tower Point, 44 North Road, Brighton, BN1 1YR, UK OFFICE +44 (0) 1273 666 350 FAX +44 (0) 1273 666 351 ................................................. www.calypso.com This electronic-mail might contain confidential information intended only for the use by the entity named. If the reader of this message is not the intended recipient, the reader is hereby notified that any dissemination, distribution or copying is strictly prohibited. * P * /*/ Please consider the environment before printing this e-mail /*/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---