Skip to content

Instantly share code, notes, and snippets.

@mrchrisadams
Created April 26, 2010 14:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrchrisadams/379413 to your computer and use it in GitHub Desktop.
Save mrchrisadams/379413 to your computer and use it in GitHub Desktop.
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: Processing group[rails]
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: group[rails] using Chef::Provider::Group::Gpasswd
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: group[rails]: group does not exist
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: group[rails]: setting gid to 250
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: Executing groupadd -g '250' rails
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: ---- Begin output of groupadd -g '250' rails ----
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: STDOUT:
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: STDERR: sh: groupadd: command not found
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: ---- End output of groupadd -g '250' rails ----
[Mon, 26 Apr 2010 15:39:23 +0100] DEBUG: Ran groupadd -g '250' rails returned 127
[Mon, 26 Apr 2010 15:39:23 +0100] ERROR: group[rails] (/tmp/vagrant-chef/cookbooks-0/users/recipes/default.rb line 9) had an error:
groupadd -g '250' rails returned 127, expected 0
---- Begin output of groupadd -g '250' rails ----
STDOUT: STDERR: sh: groupadd: command not found---- End output of groupadd -g '250' rails ----
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/mixin/command.rb:179:in `handle_command_failures'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/mixin/command.rb:122:in `run_command'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/provider/group/groupadd.rb:38:in `create_group'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/provider/group.rb:79:in `action_create'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:60:in `send'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:60:in `run_action'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:114:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:113:in `each'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:113:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:91:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/client.rb:319:in `converge'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/client.rb:110:in `run_solo'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/application/solo.rb:198:in `run_application'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/application/solo.rb:190:in `loop'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/application/solo.rb:190:in `run_application'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/application.rb:57:in `run'
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/chef-solo:26
/usr/bin/chef-solo:19:in `load'
/usr/bin/chef-solo:19
/usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/mixin/command.rb:179:in `handle_command_failures': groupadd -g '250' rails returned 127, expected 0 (Chef::Exceptions::Exec)
---- Begin output of groupadd -g '250' rails ----
STDOUT: STDERR: sh: groupadd: command not found---- End output of groupadd -g '250' rails ----
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/mixin/command.rb:122:in `run_command'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/provider/group/groupadd.rb:38:in `create_group'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/provider/group.rb:79:in `action_create'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:60:in `send'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:60:in `run_action'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:114:in `converge'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:113:in `each'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/runner.rb:113:in `converge'
... 13 levels...
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/../lib/chef/application.rb:57:in `run'
from /usr/lib/ruby/gems/1.8/gems/chef-0.8.10/bin/chef-solo:26
from /usr/bin/chef-solo:19:in `load'
from /usr/bin/chef-solo:19
[vagrant@vagrant-centos-5 vagrant-chef]$
#
# Centos doesn't ship with libshadow by default, so we need to add it so we can
# create shadow passwords.
#
package "ruby-shadow"
node[:groups].each do |group_key, config|
group group_key do
group_name group_key.to_s
gid config[:gid]
action [:create, :manage]
end
end
if node[:active_users]
node[:active_users].each do |username|
config = node[:users][username]
user username do
comment config[:comment]
uid config[:uid]
gid config[:groups].first
home "/home/#{username}"
shell "/bin/bash"
password config[:password]
supports :manage_home => true
action [:create, :manage]
end
end
end
node[:active_groups].each do |group_name, config|
users = node[:users].find_all { |u| u.last[:groups].include?(group_name) }
users.each do |u, config|
# puts "setting up #{u}"
user u do
comment config[:comment]
uid config[:uid]
gid config[:groups].first
home "/home/#{u}"
shell "/bin/bash"
password config[:password]
supports :manage_home => true
action [:create, :manage]
end
# puts "added #{u}"
config[:groups].each do |g|
group g do
group_name g.to_s
gid node[:groups][g][:gid]
members [ u ]
append true
action [:modify]
# puts "added group #{g}"
end
end
# puts "setting up home directories"
directory "/home/#{u}/.ssh" do
action :create
owner u
group config[:groups].first.to_s
mode 0700
end
# puts "setting up public keys for admins"
template "/home/#{u}/.ssh/authorized_keys" do
source "authorized_keys.erb"
action :create
owner u
group config[:groups].first.to_s
# puts node[:ssh_keys][u]
variables(:key => node[:ssh_keys][u])
mode 0600
end
end
# puts "adding ssh environment variables "
template "/home/#{u}/.ssh/environment" do
source "ssh_environment.erb"
action :create
owner u
group config[:groups].first.to_s
# puts node[:ssh_keys][u]
variables(:key => node[:ssh_environment][u])
mode 0600
end
end
# puts "finished!"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment