Bug #1639
uninitialized constant Puppet::Type::User::ProviderUseradd
| Status: | Closed | Start date: | 10/08/2008 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | user | |||
| Target version: | 0.24.6 | |||
| Affected Puppet version: | Branch: | |||
| Keywords: | ||||
| Votes: | 0 |
Description
With a recent git checkout of Puppet 0.24.6 from git://github.com/jamtur01/puppet.git (up to commit 80e5c111fd2d227ef076fd0409213f30af13bc56), I’m getting the following error message. This does not seem to happen on all nodes, but I’m not sure what’s different for this node.
$ sudo puppetd --no-daemonize --no-splay --onetime --logdest console --debug --trace info: Loading fact debian info: Loading fact backupsshkey info: Loading fact xen info: Loading fact perc info: Loading fact drbd debug: Creating default schedules debug: Failed to load library 'ldap' for feature 'ldap' /usr/lib/ruby/1.8/puppet/provider/user/user_role_add.rb:3 /usr/lib/ruby/1.8/puppet/util/autoload.rb:116:in `require' /usr/lib/ruby/1.8/puppet/util/autoload.rb:116:in `loadall' /usr/lib/ruby/1.8/puppet/util/autoload.rb:112:in `each' /usr/lib/ruby/1.8/puppet/util/autoload.rb:112:in `loadall' /usr/lib/ruby/1.8/puppet/util/autoload.rb:132:in `eachdir' /usr/lib/ruby/1.8/puppet/util/autoload.rb:130:in `each' /usr/lib/ruby/1.8/puppet/util/autoload.rb:130:in `eachdir' /usr/lib/ruby/1.8/puppet/util/autoload.rb:111:in `loadall' /usr/lib/ruby/1.8/puppet/metatype/manager.rb:93:in `newtype' /usr/lib/ruby/1.8/puppet.rb:373:in `newtype' /usr/lib/ruby/1.8/puppet/type/user.rb:6 /usr/lib/ruby/1.8/puppet/util/autoload.rb:77:in `load' /usr/lib/ruby/1.8/puppet/util/autoload.rb:77:in `load' /usr/lib/ruby/1.8/puppet/util/autoload.rb:132:in `eachdir' /usr/lib/ruby/1.8/puppet/util/autoload.rb:130:in `each' /usr/lib/ruby/1.8/puppet/util/autoload.rb:130:in `eachdir' /usr/lib/ruby/1.8/puppet/util/autoload.rb:73:in `load' /usr/lib/ruby/1.8/puppet/metatype/manager.rb:119:in `type' /usr/lib/ruby/1.8/puppet.rb:378:in `type' /usr/lib/ruby/1.8/puppet/type.rb:1971:in `autorequire' /usr/lib/ruby/1.8/puppet/type.rb:1961:in `eachautorequire' /usr/lib/ruby/1.8/puppet/type.rb:1960:in `each' /usr/lib/ruby/1.8/puppet/type.rb:1960:in `eachautorequire' /usr/lib/ruby/1.8/puppet/type.rb:1969:in `autorequire' /usr/lib/ruby/1.8/puppet/node/catalog.rb:346:in `relationship_graph' /usr/lib/ruby/1.8/puppet/node/catalog.rb:345:in `each' /usr/lib/ruby/1.8/puppet/node/catalog.rb:345:in `relationship_graph' /usr/lib/ruby/1.8/puppet/transaction.rb:515:in `relationship_graph' /usr/lib/ruby/1.8/puppet/transaction.rb:511:in `prepare' /usr/lib/ruby/1.8/puppet/transaction.rb:300:in `evaluate' /usr/lib/ruby/1.8/puppet/node/catalog.rb:124:in `apply' /usr/lib/ruby/1.8/puppet/util/settings.rb:731:in `use' /usr/lib/ruby/1.8/sync.rb:229:in `synchronize' /usr/lib/ruby/1.8/puppet/util/settings.rb:711:in `use' /usr/lib/ruby/1.8/puppet/network/client/master.rb:197:in `initialize' /usr/sbin/puppetd:328:in `new' /usr/sbin/puppetd:328 Could not autoload "/usr/lib/ruby/1.8/puppet/provider/user/user_role_add.rb": uninitialized constant Puppet::Type::User::ProviderUseradd
History
Updated by Luke Kanies over 3 years ago
- Status changed from Unreviewed to Needs More Information
- Target version set to 0.24.6
What platform is this?
Updated by Bart Cortooms over 3 years ago
luke wrote:
What platform is this?
Sorry, should have thought of adding that to the description. This is on Debian Linux (4.0).
I’ve tested the same Puppet version on two other Debian nodes, and they don’t show the error. All nodes I tested have the ruby libraries as below.
$ dpkg -l | grep ruby ii libopenssl-ruby 1.0.0+ruby1.8.2-1 OpenSSL interface for Ruby ii libopenssl-ruby1.8 1.8.5-4etch2 OpenSSL interface for Ruby 1.8 ii libruby1.8 1.8.5-4etch2 Libraries necessary to run Ruby 1.8 ii libshadow-ruby1.8 1.4.1-7 Interface of shadow password for Ruby 1.8 ii libxmlrpc-ruby 1.8.2-1 XML-RPC support for Ruby ii ruby 1.8.2-1 An interpreter of object-oriented scripting ii ruby1.8 1.8.5-4etch2 Interpreter of object-oriented scripting lan
The two other nodes do have different manifests, but it doesn’t seem to be related to the manifest, since I’m also getting it with a simple test run with ‘puppet’ on the node which shows the problem:
$ cat test.pp
#!/usr/bin/env puppet
file { "/tmp/test":
ensure => present,
}
$ ./test.pp
/dev/mem: Permission denied
Could not autoload "/usr/lib/ruby/1.8/puppet/provider/user/user_role_add.rb": uninitialized constant Puppet::Type::User::ProviderUseradd
Any tips for debugging this? E.g. strategic places where I could add some print statements?
Updated by Andrew Shafer over 3 years ago
I believe this is a problem with ordering in the autoloader.
Try the attached patch and let me know if that fixes the problem.
Updated by Bart Cortooms over 3 years ago
andrew wrote:
Try the attached patch and let me know if that fixes the problem.
It does, that fixes it. Many thanks!
Updated by James Turnbull over 3 years ago
- Status changed from Needs More Information to Closed
Pushed in commit:2b4aa0c442f40125526cf2a19c15af4908684388 in branch 0.24.x