[chef] chef-client runs only locally as root


Chronological Thread 
  • From: Gilles Devaux < >
  • To:
  • Subject: [chef] chef-client runs only locally as root
  • Date: Thu, 11 Mar 2010 10:18:02 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=TNIbytTL4O1ovEohvLSbAK1/pEkPca5upHulYdBW/zJ94YalUhO52Za8NYnx+JXpBQ m2/Cukoob1CabR7JZ5M4QZbcwjjQNRiBIYmo4bOprmLgIao2F+g5U82d9k/4pNBJPjMx vVgt0OjMbsjrbVomkPEHp3sxyq0IzSkVu83T4=

Hi,

I am trying to execute chef-client remotely but I run into this exception:

/usr/local/lib/ruby/gems/1.8/gems/ohai-0.5.0/lib/ohai/system.rb:121:in 
`join': can't convert nil into String (TypeError)
        from 
/usr/local/lib/ruby/gems/1.8/gems/ohai-0.5.0/lib/ohai/system.rb:121:in 
`all_plugins'
        from 
/usr/local/lib/ruby/gems/1.8/gems/ohai-0.5.0/lib/ohai/system.rb:118:in `each'
        from 
/usr/local/lib/ruby/gems/1.8/gems/ohai-0.5.0/lib/ohai/system.rb:118:in 
`all_plugins'
        from 
/usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/../lib/chef/client.rb:121:in 
`run_ohai'
        from 
/usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/../lib/chef/client.rb:126:in 
`determine_node_name'
        from 
/usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/../lib/chef/client.rb:83:in 
`run'
        from 
/usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/../lib/chef/application/client.rb:204:in
 `run_application'
        from 
/usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/../lib/chef/application/client.rb:196:in
 `loop'
        from 
/usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/../lib/chef/application/client.rb:196:in
 `run_application'
        from 
/usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/../lib/chef/application.rb:57:in
 `run'
        from /usr/local/lib/ruby/gems/1.8/gems/chef-0.8.6/bin/chef-client:26
        from /usr/local/bin/chef-client:19:in `load'
        from /usr/local/bin/chef-client:19

Here is the debug log

[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: Loading plugin kernel
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -s STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: Linux
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -s STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -s STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: 
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -s STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: Ran  (uname -s) returned 0
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -r STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: 2.6.32.1-rscloud
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -r STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -r STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: 
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -r STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: Ran  (uname -r) returned 0
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -v STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: #15 SMP Mon Feb 22 13:22:15 UTC 2010
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -v STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -v STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: 
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -v STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: Ran  (uname -v) returned 0
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -m STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: x86_64
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -m STDOUT ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- Begin uname -m STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: 
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: ---- End uname -m STDERR ----
[Thu, 11 Mar 2010 18:09:45 +0000] DEBUG: Ran  (uname -m) returned 0

I am having the same exception when:
- I invoke sudo chef-client from a non-root user (this is the same use case 
as trying remotely with ssh 'sudo chef-client'
- the chef-client deamon runs every 30 minutes -> the deamon runs as 
root:root: (root      1218  0.0  0.9  92588 19360 ?        S    Mar10   0:00 
/usr/local/bin/ruby /usr/bin/chef-client -d -c /etc/chef/client.rb -i 1800 -s 
20 -L /var/log/chef/client.log)

only running chef-client as root locally works.

I have the same $PATH in both cases:
- running as root
- running as sudo (I have included /sbin, /usr/sbin, /usr/local/sbin)

Any help appreciated at this point

Thanks

--Gilles


Archive powered by MHonArc 2.6.16.

§