At 6:53 PM -0400 8/21/09, Stephen Bannasch wrote:
I'm installing chef on a centos 5.3 system but I am NOT using
packages for anything ruby related.
When I got to this step:
sudo chef-solo -c solo.rb -j chef.json -r
http://s3.amazonaws.com/chef-solo/bootstrap-0.7.8.tar.gz
it made it through installing and starting couchdb but dies here:
[Fri, 21 Aug 2009 13:20:42 -0400] ERROR: gem_package[stompserver]
(/usr/local/lib/ruby/gems/1.8/gems/chef-0.7.8/lib/chef/recipe.rb
line 191) had an error:
No such file or directory - gem list --local stompserver
Turns out dist_only? was false when running the stompserver recipe so
... that recipe at least was trying to install using rubygems.
The problem was the root user as accessed through sudo doesn't have
access to the Ruby I installed here: /usr/local/bin/ruby
After installing g++, modifying /etc/profile and getting a root shell
with sudo -i then running this got a bunch further:
sudo chef-solo -c solo.rb -j chef.json
(using the cookbook already downloaded into /tmp)
But ... more problems
Later on the passenger_apache2 recipe installed the package versions
of ruby and friends instead of with rubygems:
[Fri, 21 Aug 2009 18:11:54 -0400] INFO: Installing package[ruby]
version 1.8.6.287-2.el5
[Fri, 21 Aug 2009 18:12:06 -0400] INFO: Installing
package[ruby-devel] version 1.8.6.287-2.el5
[Fri, 21 Aug 2009 18:12:12 -0400] INFO: Installing
package[ruby-docs] version 1.8.6.287-2.el5
[Fri, 21 Aug 2009 18:12:20 -0400] INFO: Installing package[ruby-ri]
version 1.8.6.287-2.el5
[Fri, 21 Aug 2009 18:12:35 -0400] INFO: Installing
package[ruby-mode] version 1.8.6.287-2.el5
[Fri, 21 Aug 2009 18:12:40 -0400] INFO: Installing
gem_package[passenger] version 2.2.4
So I'll need to modify that recipe to install from gems because
having two system Ruby's doesn't make sense.
The next problem was presented by the passenger gem -- there were
missing apache2 dependencies:
Some required software is not installed.
But don't worry, this installer will tell you how to install them.
Press Enter to continue, or Ctrl-C to abort.
Installation instructions for required software
* To install Apache 2 development headers:
Please run yum install httpd-devel as root.
* To install Apache Portable Runtime (APR) development headers:
Please run yum install apr-devel as root.
* To install Apache Portable Runtime Utility (APU) development headers:
Please download it from http://httpd.apache.org/
(APR Utility is an integrated part of Apache.)
I'd assume that the apache2 recipe would have installed (or
delegated) those tasks.
This is a bit confusing because on this page:
http://wiki.opscode.com/display/chef/Installation+on+RHEL+and+CentOS+5+with+RPMs
step #4
states: "Uninstall the httpd package if it exists"
But now passenger is telling me I need to: "yum install httpd-devel apr-devel"
OK: sudo yum install httpd-dev
And try his again:
chef-solo -c solo.rb -j chef.json
Now rubygems can't find the chef-server gem
ERROR: gem_package[chef-server]
(/usr/local/lib/ruby/gems/1.8/gems/chef-0.7.8/lib/chef/recipe.rb line
191) had an error:
gem install chef-server -q --no-rdoc --no-ri -v 0.7.8 returned 2, expected 0
---- Begin output of gem install chef-server -q --no-rdoc --no-ri
-v 0.7.8 ----
STDOUT: STDERR: ERROR: could not find gem chef-server locally or
in a repository
I had already added both github and opscode as gem repos with sudo
... but they aren't there when logged in with sudo -i on centos:
Fri Aug 21 - 07:44 PM # gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.8.6 (2009-08-05 patchlevel 384) [i686-linux]
- INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/local/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/local/lib/ruby/gems/1.8
- /root/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org/
This makes the gems available:
gem sources -a http://gems.github.com
gem source -a http://gems.opscode.com/
Now rubygems can find the other chef gems:
Fri Aug 21 - 07:47 PM # gem list chef-server -r
*** REMOTE GEMS ***
chef-server (0.7.8)
chef-server-slice (0.7.8)
Hey!!!!
[Fri, 21 Aug 2009 19:52:23 -0400] INFO: Chef Run complete in
38.561518 seconds
Well, that took a while