[chef] Re: Re: Ohai bombs out on start in fresh (VM) install


Chronological Thread 
  • From: Matthew King < >
  • To:
  • Subject: [chef] Re: Re: Ohai bombs out on start in fresh (VM) install
  • Date: Sat, 20 Mar 2010 18:18:10 +0000

Adam Jacob 
< >
 writes:

> hrm, odd.  The data gets set in lib/plugins/os.rb
>
> Can you file a ticket at tickets.opscode.com, and include the output of
> ohai -l debug?
>
> Meanwhile, we'll check it out on squeeze.

I've found the problem. It's much (embarrassingly) less than I thought
but still a bug. A small dependency bug - ruby1.8 was pulled in through
the chain of packages but ruby itself wasn't, so the ruby -> ruby1.8
link didn't get created and

ruby -e "require 'rbconfig'; puts 
\"host_os:#{::Config::CONFIG['host_os']},target_cpu:#{::Config::CONFIG['target_cpu']},host_vendor:#{::Config::CONFIG['host_vendor']},target_vendor:#{::Config::CONFIG['target_vendor']},target:#{::Config::CONFIG['target']},bin_dir:#{::Config::CONFIG['bindir']},target_os:#{::Config::CONFIG['target_os']},ruby_bin:#{::File.join(::Config::CONFIG['bindir'],
 
::Config::CONFIG['ruby_install_name'])},host:#{::Config::CONFIG['host']},platform:#{RUBY_PLATFORM},host_cpu:#{::Config::CONFIG['host_cpu']},version:#{RUBY_VERSION},release_date:#{RUBY_RELEASE_DATE},\""

ran successfully .... on another VM with a similar name, so I didn't
catch it.

Looked through the debug output (again) and noted the auspicious, but
well hidden:

[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: sh: ruby: not found

So to fix it:

* Add ruby to the Debian package dependencies.

* Not run ruby from within ruby, except I assume there's a good reason
  for it doing this that I don't know about.

* Make debugging output easier to read:

[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: ---- Begin ruby -e "require 
'rbconfig'; puts 
\"host_vendor:#{::Config::CONFIG['host_vendor']},release_date:#{RUBY_RELEASE_DATE},bin_dir:#{::Config::CONFIG['bindir']},platform:#{RUBY_PLATFORM},target_cpu:#{::Config::CONFIG['target_cpu']},ruby_bin:#{::File.join(::Config::CONFIG['bindir'],
 
::Config::CONFIG['ruby_install_name'])},host_os:#{::Config::CONFIG['host_os']},target:#{::Config::CONFIG['target']},target_vendor:#{::Config::CONFIG['target_vendor']},host:#{::Config::CONFIG['host']},version:#{RUBY_VERSION},target_os:#{::Config::CONFIG['target_os']},host_cpu:#{::Config::CONFIG['host_cpu']},\""
 STDOUT ----
[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: 
[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: ---- End ruby -e "require 
'rbconfig'; puts 
\"host_vendor:#{::Config::CONFIG['host_vendor']},release_date:#{RUBY_RELEASE_DATE},bin_dir:#{::Config::CONFIG['bindir']},platform:#{RUBY_PLATFORM},target_cpu:#{::Config::CONFIG['target_cpu']},ruby_bin:#{::File.join(::Config::CONFIG['bindir'],
 
::Config::CONFIG['ruby_install_name'])},host_os:#{::Config::CONFIG['host_os']},target:#{::Config::CONFIG['target']},target_vendor:#{::Config::CONFIG['target_vendor']},host:#{::Config::CONFIG['host']},version:#{RUBY_VERSION},target_os:#{::Config::CONFIG['target_os']},host_cpu:#{::Config::CONFIG['host_cpu']},\""
 STDOUT ----
[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: ---- Begin ruby -e "require 
'rbconfig'; puts 
\"host_vendor:#{::Config::CONFIG['host_vendor']},release_date:#{RUBY_RELEASE_DATE},bin_dir:#{::Config::CONFIG['bindir']},platform:#{RUBY_PLATFORM},target_cpu:#{::Config::CONFIG['target_cpu']},ruby_bin:#{::File.join(::Config::CONFIG['bindir'],
 
::Config::CONFIG['ruby_install_name'])},host_os:#{::Config::CONFIG['host_os']},target:#{::Config::CONFIG['target']},target_vendor:#{::Config::CONFIG['target_vendor']},host:#{::Config::CONFIG['host']},version:#{RUBY_VERSION},target_os:#{::Config::CONFIG['target_os']},host_cpu:#{::Config::CONFIG['host_cpu']},\""
 STDERR ----
[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: sh: ruby: not found
[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: ---- End ruby -e "require 
'rbconfig'; puts 
\"host_vendor:#{::Config::CONFIG['host_vendor']},release_date:#{RUBY_RELEASE_DATE},bin_dir:#{::Config::CONFIG['bindir']},platform:#{RUBY_PLATFORM},target_cpu:#{::Config::CONFIG['target_cpu']},ruby_bin:#{::File.join(::Config::CONFIG['bindir'],
 
::Config::CONFIG['ruby_install_name'])},host_os:#{::Config::CONFIG['host_os']},target:#{::Config::CONFIG['target']},target_vendor:#{::Config::CONFIG['target_vendor']},host:#{::Config::CONFIG['host']},version:#{RUBY_VERSION},target_os:#{::Config::CONFIG['target_os']},host_cpu:#{::Config::CONFIG['host_cpu']},\""
 STDERR ----
[Sat, 20 Mar 2010 16:21:31 +0000] DEBUG: Ran  (ruby -e "require 'rbconfig'; 
puts 
\"host_vendor:#{::Config::CONFIG['host_vendor']},release_date:#{RUBY_RELEASE_DATE},bin_dir:#{::Config::CONFIG['bindir']},platform:#{RUBY_PLATFORM},target_cpu:#{::Config::CONFIG['target_cpu']},ruby_bin:#{::File.join(::Config::CONFIG['bindir'],
 
::Config::CONFIG['ruby_install_name'])},host_os:#{::Config::CONFIG['host_os']},target:#{::Config::CONFIG['target']},target_vendor:#{::Config::CONFIG['target_vendor']},host:#{::Config::CONFIG['host']},version:#{RUBY_VERSION},target_os:#{::Config::CONFIG['target_os']},host_cpu:#{::Config::CONFIG['host_cpu']},\"")
 returned 127

Matthew

-- 
I must take issue with the term "a mere child", for it has been my
invariable experience that the company of a mere child is infinitely
preferable to that of a mere adult.
                                           --  Fran Lebowitz



Archive powered by MHonArc 2.6.16.

§