diff --git a/README.md b/README.md index 159b4369..22ae8072 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,8 @@ the .tar.gz. * `node['java']['oracle']['jce']['home']` - Where the JCE policy files should be installed to * `node['java']['oracle']['jce'][java_version]['checksum']` - Checksum of the JCE policy zip. Can be sha256 or md5 * `node['java']['oracle']['jce'][java_version]['url']` - URL which to download the JCE policy zip +* `node['java']['ark_timeout']` - timeout in seconds for http connect for Oracle download (passed to curl) +* `node['java']['shell_timeout']` - total timeout in seconds for Oracle download Recipes ----- diff --git a/attributes/default.rb b/attributes/default.rb index f37933e2..09f2aaee 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -31,6 +31,7 @@ default['java']['ark_retries'] = 0 default['java']['ark_retry_delay'] = 2 default['java']['ark_timeout'] = 600 +default['java']['shell_timeout'] = 600 case node['platform_family'] when "windows" diff --git a/providers/ark.rb b/providers/ark.rb index 38f64e96..4857f8cd 100644 --- a/providers/ark.rb +++ b/providers/ark.rb @@ -78,7 +78,8 @@ def download_direct_from_oracle(tarball_name, new_resource) converge_by(description) do Chef::Log.debug "downloading oracle tarball straight from the source" cmd = shell_out!( - %Q[ curl --create-dirs -L --retry #{new_resource.retries} --retry-delay #{new_resource.retry_delay} --cookie "#{cookie}" #{new_resource.url} -o #{download_path} --connect-timeout #{new_resource.connect_timeout} ] + %Q[ curl --create-dirs -L --retry #{new_resource.retries} --retry-delay #{new_resource.retry_delay} --cookie "#{cookie}" #{new_resource.url} -o #{download_path} --connect-timeout #{new_resource.connect_timeout} ], + :timeout => new_resource.shell_timeout ) end else diff --git a/recipes/oracle.rb b/recipes/oracle.rb index 4c5c80e1..2b9bc540 100644 --- a/recipes/oracle.rb +++ b/recipes/oracle.rb @@ -60,6 +60,7 @@ retries node['java']['ark_retries'] retry_delay node['java']['ark_retry_delay'] connect_timeout node['java']['ark_timeout'] + shell_timeout node['java']['shell_timeout'] action :install end diff --git a/recipes/oracle_i386.rb b/recipes/oracle_i386.rb index b83ecd4c..dfbe9875 100644 --- a/recipes/oracle_i386.rb +++ b/recipes/oracle_i386.rb @@ -58,6 +58,7 @@ bin_cmds bin_cmds retries node['java']['ark_retries'] retry_delay node['java']['ark_retries'] + shell_timeout node['java']['shell_timeout'] action :install default false end diff --git a/resources/ark.rb b/resources/ark.rb index e594e0f1..80449ffe 100644 --- a/resources/ark.rb +++ b/resources/ark.rb @@ -46,6 +46,7 @@ attribute :retries, :kind_of => Integer, :default => 0 attribute :retry_delay, :kind_of => Integer, :default => 2 attribute :connect_timeout, :kind_of => Integer, :default => 30 # => 30 seconds +attribute :shell_timeout, :kind_of => Integer, :default => 600 # => 600 seconds # we have to set default for the supports attribute # in initializer since it is a 'reserved' attribute name