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 brandocorp@gmail.com 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 aebirim@icloud.com 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