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


Chronological Thread 
  • From: Noah Kantrowitz < >
  • To:
  • Subject: [chef] Re: Calling Chef::Knife::Ssh directly(?)
  • Date: Wed, 1 Jun 2011 10:42:10 -0700

You might want to look in to Fabric+PyChef for this, it is actually made for the task :-)

--Noah

On Jun 1, 2011, at 10:29 AM, Miles, Ken wrote:

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.

§