[chef] Calling Chef::Knife::Ssh directly(?)


Chronological Thread 
  • From: "Miles, Ken" < >
  • To: " " < >
  • Subject: [chef] Calling Chef::Knife::Ssh directly(?)
  • Date: Wed, 1 Jun 2011 17:29:17 +0000
  • Accept-language: en-US

Folks,

I am investigating switching some of our Ruby scripts from using the 
'system' function to calling the Chef libraries directly and am not 
having much success.  My latest error is:

/usr/lib/ruby/gems/1.8/gems/chef-0.9.8/lib/chef/rest/auth_credentials.rb:41:
in `signature_headers': Cannot sign the request without a client name,
check that :node_name is assigned (ArgumentError)
 
Below is a code snippet.  

  query = "role:#{role}"
  knife_ssh = Chef::Knife::Ssh.new()
  knife_ssh.config[:config_file] = conf_file
  knife_ssh.config[:identity_file] = params["private_key"]
  knife_ssh.config[:node_name] = ENV['HOSTNAME']
  knife_ssh.config[:client_name] = ENV['HOSTNAME']
  cmd_line = "hostname -f"
  knife_ssh.name_args = [query, cmd_line]
  sys_status =  knife_ssh.run

What am I doing wrong here?  

Thanks,

Ken Miles





Archive powered by MHonArc 2.6.16.

§