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 -~----------~----~----~----~------~----~------~--~---