Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 0.9.10
-
Component/s: Chef Client
-
Labels:None
-
Environment:
CentOS 5.4 (on rackspace cloud servers)
Description
I have the following in a recipe:
user "root" do
action :lock
end
Works ok on Ubuntu 10.04, but on CentOS 5.4 I get:
[Fri, 06 Aug 2010 14:21:01 -0500] INFO: Starting Chef Run (Version 0.9.8)
[Fri, 06 Aug 2010 14:21:02 -0500] ERROR: user[root] (/var/chef/cache/cookbooks/users/recipes/default.rb:27:in `from_file') had an error:
Cannot determine if user[root] is locked!
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/user/useradd.rb:58:in `check_lock'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/user.rb:147:in `action_lock'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:51:in `send'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:51:in `run_action'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:109:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `each'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:82:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:304:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:106:in `run'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:212:in `run_application'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `loop'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `run_application'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application.rb:62:in `run'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/chef-client:26
/usr/local/bin/chef-client:19:in `load'
/usr/local/bin/chef-client:19
[Fri, 06 Aug 2010 14:21:02 -0500] ERROR: Running exception handlers
[Fri, 06 Aug 2010 14:21:02 -0500] ERROR: Exception handlers complete
[Fri, 06 Aug 2010 14:21:02 -0500] ERROR: Re-raising exception: Chef::Exceptions::User - Cannot determine if user[root] is locked!
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/user/useradd.rb:58:in `check_lock'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/user.rb:147:in `action_lock'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:51:in `send'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:51:in `run_action'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:109:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `each'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:82:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:304:in `converge'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:106:in `run'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:212:in `run_application'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `loop'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `run_application'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application.rb:62:in `run'
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/chef-client:26
/usr/local/bin/chef-client:19:in `load'
/usr/local/bin/chef-client:19
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/user/useradd.rb:58:in `check_lock': Cannot determine if user[root] is locked! (Chef::Exceptions::User)
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/provider/user.rb:147:in `action_lock'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:51:in `send'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:51:in `run_action'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:109:in `converge'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `each'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:108:in `converge'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/runner.rb:82:in `converge'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:304:in `converge'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/client.rb:106:in `run'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:212:in `run_application'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `loop'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application/client.rb:202:in `run_application'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/../lib/chef/application.rb:62:in `run'
from /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/chef-0.9.8/bin/chef-client:26
from /usr/local/bin/chef-client:19:in `load'
from /usr/local/bin/chef-client:19
I did some research on this and discovered that this issue exists on all current 5.x centos (and I'm assuming rhel) releases.
Here's my research results:
http://gist.github.com/526513
After a little digging, I found that this is a know bug with rhel and that it was recently fixed. It appears as though the updated passwd rpm is now available for rhel, but not yet for centos.
Red Hat passwd bug:
https://bugzilla.redhat.com/show_bug.cgi?id=578534
Red Hat fix announcement:
http://rhn.redhat.com/errata/RHBA-2010-0620.html
Here's my patch:
http://github.com/thbishop/chef/tree/CHEF-1537