Issue #22145 has been reported by Tom Vachon. ---------------------------------------- Bug #22145: Puppet Agent fails (with stack trace) when run through passenger/rack and a dupe UID exists for a user https://projects.puppetlabs.com/issues/22145
* Author: Tom Vachon * Status: Unreviewed * Priority: Normal * Assignee: * Category: * Target version: * Affected Puppet version: 3.2.2 * Keywords: * Branch: ---------------------------------------- I had been running a bunch of servers ok, and then one server kept throwing this error (which originally made me thing PuppetDB had an issue): [code] Error: Could not run Puppet configuration client: argument must be a string. /usr/lib/ruby/vendor_ruby/puppet/provider/user/useradd.rb:195:in `getspnam' /usr/lib/ruby/vendor_ruby/puppet/provider/user/useradd.rb:195:in `block (3 levels) in <top (required)>' /usr/lib/ruby/vendor_ruby/puppet/property.rb:471:in `retrieve' /usr/lib/ruby/vendor_ruby/puppet/type/user.rb:387:in `block in retrieve' /usr/lib/ruby/vendor_ruby/puppet/type/user.rb:381:in `each' /usr/lib/ruby/vendor_ruby/puppet/type/user.rb:381:in `inject' /usr/lib/ruby/vendor_ruby/puppet/type/user.rb:381:in `retrieve' /usr/lib/ruby/vendor_ruby/puppet/type.rb:1041:in `retrieve_resource' /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:32:in `perform_changes' /usr/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:139:in `evaluate' /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:48:in `apply' /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:83:in `eval_resource' /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:103:in `block (2 levels) in evaluate' /usr/lib/ruby/vendor_ruby/puppet/util.rb:351:in `block in thinmark' /usr/lib/ruby/1.9.1/benchmark.rb:295:in `realtime' /usr/lib/ruby/vendor_ruby/puppet/util.rb:350:in `thinmark' /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:103:in `block in evaluate' /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:382:in `traverse' /usr/lib/ruby/vendor_ruby/puppet/transaction.rb:98:in `evaluate' /usr/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:144:in `apply' /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:122:in `block in apply_catalog' /usr/lib/ruby/vendor_ruby/puppet/util.rb:179:in `block in benchmark' /usr/lib/ruby/1.9.1/benchmark.rb:295:in `realtime' /usr/lib/ruby/vendor_ruby/puppet/util.rb:178:in `benchmark' /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:121:in `apply_catalog' /usr/lib/ruby/vendor_ruby/puppet/configurer.rb:179:in `run' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (5 levels) in run' /usr/lib/ruby/vendor_ruby/puppet/agent/locker.rb:20:in `lock' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (4 levels) in run' /usr/lib/ruby/1.9.1/sync.rb:227:in `sync_synchronize' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:45:in `block (3 levels) in run' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:119:in `with_client' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:42:in `block (2 levels) in run' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:84:in `run_in_fork' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:41:in `block in run' /usr/lib/ruby/vendor_ruby/puppet/application.rb:179:in `call' /usr/lib/ruby/vendor_ruby/puppet/application.rb:179:in `controlled_run' /usr/lib/ruby/vendor_ruby/puppet/agent.rb:39:in `run' /usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:353:in `onetime' /usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:327:in `run_command' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block (2 levels) in run' /usr/lib/ruby/vendor_ruby/puppet/application.rb:456:in `plugin_hook' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block in run' /usr/lib/ruby/vendor_ruby/puppet/util.rb:504:in `exit_on_fail' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:86:in `execute' /usr/bin/puppet:4:in `<main>' Error: Could not run: can't convert Puppet::Util::Log into Integer /usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:363:in `exit' /usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:363:in `onetime' /usr/lib/ruby/vendor_ruby/puppet/application/agent.rb:327:in `run_command' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block (2 levels) in run' /usr/lib/ruby/vendor_ruby/puppet/application.rb:456:in `plugin_hook' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `block in run' /usr/lib/ruby/vendor_ruby/puppet/util.rb:504:in `exit_on_fail' /usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `run' /usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:86:in `execute' /usr/bin/puppet:4:in `<main>' [code] When I finally ended up running puppet master --debug --no-daemonize by hand, then the puppet agent showed a much different message: [code] Info: Retrieving plugin Info: Caching catalog for admin.sub.domain.com Info: Applying configuration version '1376331662' Error: Could not create user REDACTED: Execution of '/usr/sbin/useradd -g users -G admins,logs -s /bin/bash -u 1019 -m REDACTED' returned 4: useradd: UID 1019 is not unique Error: /User[REDACTED]/ensure: change from absent to present failed: Could not create user REDACTED: Execution of '/usr/sbin/useradd -g users -G admins,logs -s /bin/bash -u 1019 -m REDACTED' returned 4: useradd: UID 1019 is not unique Notice: /Stage[main]/Users::Developers::REDACTED/Ssh_authorized_key[REDACTED]: Dependency User[REDACTED] has failures: true Warning: /Stage[main]/Users::Developers::REDACTED/Ssh_authorized_key[REDACTED]: Skipping because of failed dependencies [code] Clearly the user provider is doing somethign very unexpected with passenger/rack vs a running puppet master deamon. Puppet: 3.2.2 PuppetDB: 1.4.0 Facter: 1.7.2 -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.
