Skip to content

Instantly share code, notes, and snippets.

@darron
Created October 20, 2014 21:30
Show Gist options
  • Save darron/e4ffd4d4c4c8bdec324c to your computer and use it in GitHub Desktop.
Save darron/e4ffd4d4c4c8bdec324c to your computer and use it in GitHub Desktop.
Blender and blender-chef
darron@server:~/blender$ knife search 'role:chef-server'
1 items found
Node Name: i-xxxxxxx
Environment: staging
FQDN: ip-an-ip-address-goes-here.ec2.internal
IP: xx.xx.xx.xx
Run List: role[chef-server]
Roles: chef-server
Platform: ubuntu 12.04
Tags:
darron@server:~/blender$ cat config.json
{
"node_name": "darron",
"chef_server_url": "https://chef-server",
"client_key": "/home/darron/.chef/darron.pem"
}
darron@server:~/blender$ cat blender.rb
require 'blender/discoveries/chef'
ruby_task 'print host name' do
execute do |host|
Blender::Log.info("Host: #{host}")
end
members search(:chef, 'role:chef-server')
end
darron@server:~/blender$ blend -f blender.rb -c config.json
[2014-10-20T21:27:45+00:00] WARN: Failed to read the private key /etc/chef/client.pem: #<Errno::EACCES: Permission denied @ rb_sysopen - /etc/chef/client.pem>
/var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http/authenticator.rb:78:in `rescue in load_signing_key': I cannot read /etc/chef/client.pem, which you told me to use to sign requests! (Chef::Exceptions::PrivateKeyMissing)
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http/authenticator.rb:68:in `load_signing_key'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http/authenticator.rb:38:in `initialize'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/rest.rb:66:in `new'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/rest.rb:66:in `initialize'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/search/query.rb:34:in `new'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/search/query.rb:34:in `initialize'
from /var/lib/gems/2.1.0/gems/blender-chef-0.0.1/lib/blender/discoveries/chef.rb:43:in `new'
from /var/lib/gems/2.1.0/gems/blender-chef-0.0.1/lib/blender/discoveries/chef.rb:43:in `search'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/discovery.rb:34:in `search_with_config'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/discovery.rb:38:in `search'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:61:in `block (2 levels) in from_file'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/scheduler/dsl.rb:109:in `instance_eval'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/scheduler/dsl.rb:109:in `ruby_task'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:57:in `block in from_file'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:55:in `instance_eval'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:55:in `block in from_file'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender.rb:40:in `blend'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:54:in `from_file'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/bin/blend:20:in `<top (required)>'
from /usr/local/bin/blend:23:in `load'
from /usr/local/bin/blend:23:in `<main>'
darron@server:~/blender$ sudo blend -f blender.rb -c config.json
/var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http/auth_credentials.rb:40:in `signature_headers': Cannot sign the request without a client name, check that :node_name is assigned (ArgumentError)
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http/authenticator.rb:88:in `authentication_headers'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http/authenticator.rb:43:in `handle_request'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http.rb:217:in `block in apply_request_middleware'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http.rb:215:in `each'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http.rb:215:in `inject'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http.rb:215:in `apply_request_middleware'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/http.rb:139:in `request'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/rest.rb:115:in `get'
from /var/lib/gems/2.1.0/gems/chef-11.12.8/lib/chef/search/query.rb:42:in `search'
from /var/lib/gems/2.1.0/gems/blender-chef-0.0.1/lib/blender/discoveries/chef.rb:44:in `search'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/discovery.rb:34:in `search_with_config'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/discovery.rb:38:in `search'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:61:in `block (2 levels) in from_file'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/scheduler/dsl.rb:109:in `instance_eval'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/scheduler/dsl.rb:109:in `ruby_task'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:57:in `block in from_file'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:55:in `instance_eval'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:55:in `block in from_file'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender.rb:40:in `blend'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/lib/blender/cli.rb:54:in `from_file'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
from /var/lib/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
from /var/lib/gems/2.1.0/gems/pd-blender-0.0.1/bin/blend:20:in `<top (required)>'
from /usr/local/bin/blend:23:in `load'
from /usr/local/bin/blend:23:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment