chef-boneyard / knife-container

DEPRECATED: Container support for Chef's Knife Command
Apache License 2.0
57 stars 11 forks source link

docker init fails with relative paths in knife.rb #59

Open kplimack opened 9 years ago

kplimack commented 9 years ago

works when I change my knife[:validation_key] to a full path instead of ~/.chef/chef-validator.pem knife-container (0.2.4)

================================================================================
Recipe Compile Error in /Users/eulipion/.chefdk/gem/ruby/2.1.0/gems/knife-container-0.2.4/lib/knife-container/skeletons/knife_container/recipes/docker_init.rb
================================================================================

Errno::ENOENT
-------------
No such file or directory @ rb_sysopen - ~/.chef/chef-validator.pem

Cookbook Trace:
---------------
  /Users/eulipion/.chefdk/gem/ruby/2.1.0/gems/knife-container-0.2.4/lib/knife-container/skeletons/knife_container/recipes/docker_init.rb:141:in `read'
  /Users/eulipion/.chefdk/gem/ruby/2.1.0/gems/knife-container-0.2.4/lib/knife-container/skeletons/knife_container/recipes/docker_init.rb:141:in `block in from_file'
  /Users/eulipion/.chefdk/gem/ruby/2.1.0/gems/knife-container-0.2.4/lib/knife-container/skeletons/knife_container/recipes/docker_init.rb:140:in `from_file'

Relevant File Content:
----------------------
/Users/eulipion/.chefdk/gem/ruby/2.1.0/gems/knife-container-0.2.4/lib/knife-container/skeletons/knife_container/recipes/docker_init.rb:

134:  #
135:  if context.chef_client_mode == "client"
136:
137:    directory File.join(temp_chef_repo, 'secure')
138:
139:    # Add validation.pem
140:    file File.join(temp_chef_repo, 'secure', "validation.pem") do
141>>     content File.read(context.validation_key)
142:      mode '0600'
143:    end
144:
145:    # Copy over trusted certs
146:    unless Dir["#{context.trusted_certs_dir}/*"].empty?
147:      directory File.join(temp_chef_repo, 'secure', "trusted_certs")
148:      execute "cp -r #{context.trusted_certs_dir}/* #{File.join(temp_chef_repo, 'secure', "trusted_certs/")}"
149:    end
150:

ERROR: Errno::ENOENT: No such file or directory @ rb_sysopen - ~/.chef/chef-validator.pem

╭─eulipion@Jake.local ~/repos/chef/cookbooks  ‹docker*›
╰─➤  file ~/.chef/chef-validator.pem
/Users/eulipion/.chef/chef-validator.pem: ASCII text