Trevor Hemsley
2009-Mar-04 13:01 UTC
[Puppet Users] Get uncaught exception when using LDAP users in multiple groups
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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Luke Kanies
2009-Mar-05 00:16 UTC
[Puppet Users] Re: Get uncaught exception when using LDAP users in multiple groups
Definitely a bug; can you file it with the stack trace? On Mar 4, 2009, at 5:10 PM, Trevor Hemsley wrote:> > 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. > > [root@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 /*/ > > > >-- It has recently been discovered that research causes cancer in labratory rats. --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---
Trevor Hemsley
2009-Mar-05 00:33 UTC
[Puppet Users] Re: Get uncaught exception when using LDAP users in multiple groups
Luke Kanies wrote:> Definitely a bug; can you file it with the stack trace? >Bug #2050. I''m willing to work with anyone to help debug this as it has crippled my development of a new grid that I have to roll out very soon. Thanks. -- 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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---