[chef] Re: Querying a Chef server through it's API


Chronological Thread 
  • From: ANGELA EBIRIM < >
  • To:
  • Subject: [chef] Re: Querying a Chef server through it's API
  • Date: Tue, 27 Jan 2015 09:09:25 +0000 (GMT)

Hi Brandon,

I've been using Ridley to actually query a test Chef server and it worked fine (always the way!). However when I tried it with a dev Chef server received the following error https://github.com/RiotGames/ridley/issues/301. Apparently I discovered a bug that they have now flagged up as a potential feature. If you try to find a databag on a Chef server, using Ridley, you may receive a 301 error. Unfortunately you don't get any information on what the new location for the databag should be!

Once I find a solution, I'll post it here just in case someone else has the same problem.

Thanks for your help!

Regards
Sent from iCloud

On Jan 23, 2015, at 01:09 PM, Brandon Raabe < > wrote:

Hi Angela,

It sounds like you might be getting a nil or empty response back from the chef server. I would try running the same thing in a pry/irb session and see what the return value looks like from rest.get_rest('/nodes').

For what it's worth, you might also want to give ridley a try.


Thanks,
Brandon

On Fri, Jan 23, 2015 at 10:48 AM, ANGELA EBIRIM < " data-mce-href="mailto: "> > wrote:
Hello everyone,

I'm new to Chef so be gentle!

I'm trying to query a Chef server through it's API and have developed the following code:-

require 'chef/config'
require 'chef/log'
require 'chef/rest'
chef_server_url = "http//chef.prod.practor.service"
client_name = "ace67"
signing_key_filename=File.dirname(__FILE__) + "/.chef/ace67.pem"
 
rest = Chef::REST.new(chef_server_url, client_name, signing_key_filename)
nodes = rest.get_rest("/nodes")
 
nodes.keys.each do |node_name|
    puts "Node name: #{node_name}"
end

It's a simple Ruby script to query the Chef server. through it's API, for a list of nodes. However when I run the script, I get an error of TypeError: can't dup NilClass. It's occurring on the nodes  =  rest.get_rest("/nodes") line.

I'm running Chef version 11.16.2

I'd appreciate any assistance with this.

Many thanks

Angela Ebirim

Sent from iCloud




Archive powered by MHonArc 2.6.16.

§