summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraliasgar16 <aliasgar.batterywala@msystechnologies.com>2016-10-27 17:16:20 +0530
committeraliasgar16 <aliasgar.batterywala@msystechnologies.com>2016-10-27 17:16:20 +0530
commit13a02abe2d02a59c846fb0a65d8429314652d618 (patch)
treea4fd26b6fc25c42045d1779b7d0649db0c5c23d7
parent95dd383a6059d896e5c587b6a6eb65195e144a28 (diff)
downloadchef-13a02abe2d02a59c846fb0a65d8429314652d618.tar.gz
Fixed knife download cookbooks issue which used to corrupt the certificate files each time the command was fired.
Signed-off-by: aliasgar16 <aliasgar.batterywala@msystechnologies.com>
-rw-r--r--lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb10
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb b/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb
index 426cc62039..ad50054dc9 100644
--- a/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb
+++ b/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb
@@ -39,17 +39,13 @@ class Chef
def read
begin
tmpfile = rest.streaming_request(file[:url])
+ File.open(tmpfile, "rb") { |f| f.read }
rescue Timeout::Error => e
raise Chef::ChefFS::FileSystem::OperationFailedError.new(:read, self, e, "Timeout reading #{file[:url]}: #{e}")
rescue Net::HTTPServerException => e
raise Chef::ChefFS::FileSystem::OperationFailedError.new(:read, self, e, "#{e.message} retrieving #{file[:url]}")
- end
-
- begin
- tmpfile.open
- tmpfile.read
- ensure
- tmpfile.close!
+ rescue Errno::ENOENT
+ raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!)
end
end