I am trying to set up a Rails environment on CentOS 6.3 64bit using Vagrant and Chef-Solo.
The rails cannot be installed when using the chef, with an error message,
Mixlib :: ShellOut :: CommandTimeout: rbenv_gem [rails] (main :: default line 21) had an error: Mixlib :: Shell
Out :: CommandTimeout: command timed out:
How to solve this?
okr
- OS: Mac OS X 10.8.2
- Virtual Box: 4.2.12
- tramp: 1.1.5
- Boss: 11.4.0
- knife solo: 0.3.0
my steps
1. create a stray VM
$ vagrant box add centos https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box`
$ vagrant init centos
$ vagrant up
2. create a chef repository and install a chef on VM
$ knife solo init chefrepo
$ knife solo prepare vagrant@192.168.33.10
OpsCode Public Cookbook 3.import
$ knife cookbook site vendor rbenv
it imports the rbenv cookbook to chefrepo / cookbooks / rbenv
4.Create my cookbook and change default.rb
$ knife cookbook create main -o site-cookbooks
$ vi site-cookbooks/main/recipes/default.rb
include_recipe 'rbenv::default'
include_recipe 'rbenv::ruby_build'
rbenv_ruby "2.0.0-p0" do
global true
end
rbenv_gem "rails" do
ruby_version "2.0.0-p0"
end
5.cook
$ knife solo cook vagrant@192.168.33.10
.
rbenv_gem("rails") do
provider Chef::Provider::Package::RbenvRubygems
action :install
retries 0
retry_delay 2
cookbook_name :main
recipe_name "default"
ruby_version "2.0.0-p0"
package_name "rails"
gem_binary "/opt/rbenv/shims/gem"
version "3.2.13"
end
[2013-04-17T12:00:13+02:00] ERROR: Running exception handlers
[2013-04-17T12:00:13+02:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated
[2013-04-17T12:00:13+02:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2013-04-17T12:00:13+02:00] FATAL: Mixlib::ShellOut::CommandTimeout: rbenv_gem[rails] (main::default line 21) had an error: Mixlib::Shell
Out::CommandTimeout: command timed out:
STDOUT:
STDERR:
ERROR: RuntimeError: chef-solo failed. See output above.
$ sudo gem install rails . 20 .