From 10e1c6b210c6c4094b0acdb64b51f1143618a589 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 27 Jun 2014 02:47:23 +0900 Subject: [PATCH 1/6] 1. service_name tomcat + node['tomcat']['base_version'] 2. merge from Youscribe/application_java-cookbook/libraries --- libraries/provider_file_deploy.rb | 35 ++++++++++++------------ libraries/provider_remote_file_deploy.rb | 19 +++++-------- metadata.rb | 2 +- providers/tomcat.rb | 4 +-- 4 files changed, 28 insertions(+), 32 deletions(-) diff --git a/libraries/provider_file_deploy.rb b/libraries/provider_file_deploy.rb index c73ffa4..39b6b12 100644 --- a/libraries/provider_file_deploy.rb +++ b/libraries/provider_file_deploy.rb @@ -27,24 +27,16 @@ def initialize(new_resource, run_context) @deploy_resource = new_resource @new_resource = Chef::Resource::File.new(@deploy_resource.name) @new_resource.path ::File.join(@deploy_resource.destination, ::File.basename(@deploy_resource.repository)) - @new_resource.content @deploy_resource.repository - unless @deploy_resource.revision == "HEAD" - @new_resource.checksum @deploy_resource.revision - end + @new_resource.owner @deploy_resource.user @new_resource.group @deploy_resource.group provider = @new_resource.provider @action = action - @current_resource = nil - @run_context = run_context - @converge_actions = nil + super(@new_resource, run_context) if defined?(super) end def target_revision - unless @new_resource.checksum - action_sync - end - @target_revision ||= @new_resource.checksum + action_sync end alias :revision_slug :target_revision @@ -59,14 +51,21 @@ def set_content unless compare_content converge_by("stage local file #{@new_resource.content} to #{@new_resource.path}") do backup @new_resource.path if ::File.exists?(@new_resource.path) - ::FileUtils.cp_r(@new_resource.content, @new_resource.path) - Chef::Log.info("#{@new_resource.content} copied to #{@new_resource.path}") - @new_resource.updated_by_last_action(true) + ::FileUtils.cp_r(@deploy_resource.repository, @new_resource.path) end end end + def compare_content - checksum(@current_resource.path) == checksum(@new_resource.content) + checksum(@deploy_resource.repository) == checksum(@new_resource.path) + end + + def contents_changed? + compare_content + end + + def do_contents_changes + set_content end private @@ -97,8 +96,10 @@ def create_dir_unless_exists(dir) def purge_old_staged_files converge_by("purge old staged files") do Dir.glob( "#{@deploy_resource.destination}/*" ).each do |direntry| - FileUtils.rm_rf( direntry ) unless direntry == @new_resource.path - Chef::Log.info("#{@new_resource} purged old file #{direntry}") + unless direntry == @new_resource.path + FileUtils.rm_rf( direntry ) + Chef::Log.info("#{@new_resource} purged old file #{direntry}") + end end end end diff --git a/libraries/provider_remote_file_deploy.rb b/libraries/provider_remote_file_deploy.rb index 234411b..1f9f245 100644 --- a/libraries/provider_remote_file_deploy.rb +++ b/libraries/provider_remote_file_deploy.rb @@ -28,22 +28,15 @@ def initialize(new_resource, run_context) @new_resource = Chef::Resource::RemoteFile.new(@deploy_resource.name) @new_resource.path ::File.join(@deploy_resource.destination, ::File.basename(@deploy_resource.repository)) @new_resource.source @deploy_resource.repository - unless @deploy_resource.revision == "HEAD" - @new_resource.checksum @deploy_resource.revision - end + @new_resource.owner @deploy_resource.user @new_resource.group @deploy_resource.group @action = action - @current_resource = nil - @run_context = run_context - @converge_actions = nil + super(@new_resource, run_context) if defined?(super) end def target_revision - unless @new_resource.checksum - action_sync - end - @target_revision ||= @new_resource.checksum + action_sync end alias :revision_slug :target_revision @@ -81,8 +74,10 @@ def create_dir_unless_exists(dir) def purge_old_downloads converge_by("purge old downloads") do Dir.glob( "#{@deploy_resource.destination}/*" ).each do |direntry| - FileUtils.rm_rf( direntry ) unless direntry == @new_resource.path - Chef::Log.info("#{@new_resource} purged old download #{direntry}") + unless direntry == @new_resource.path + FileUtils.rm_rf( direntry ) + Chef::Log.info("#{@new_resource} purged old download #{direntry}") + end end end end diff --git a/metadata.rb b/metadata.rb index a45ce69..bbe59ff 100644 --- a/metadata.rb +++ b/metadata.rb @@ -4,7 +4,7 @@ license "Apache 2.0" description "Deploys and configures Java-based applications" long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "3.0.1" +version "3.0.2" %w{ java tomcat }.each do |cb| depends cb diff --git a/providers/tomcat.rb b/providers/tomcat.rb index 5f3b604..2d69058 100644 --- a/providers/tomcat.rb +++ b/providers/tomcat.rb @@ -25,7 +25,7 @@ unless new_resource.restart_command new_resource.restart_command do - run_context.resource_collection.find(:service => "tomcat").run_action(:restart) + run_context.resource_collection.find(:service => "tomcat#{node['tomcat']['base_version']}").run_action(:restart) end end @@ -45,7 +45,7 @@ link "#{node['tomcat']['context_dir']}/#{new_resource.application.name}.xml" do to "#{new_resource.application.path}/shared/#{new_resource.application.name}.xml" - notifies :restart, resources(:service => "tomcat") + notifies :restart, resources(:service => "tomcat#{node['tomcat']['base_version']}") end end From 1ea90fd9b579a41148c0504856396a73496e49fe Mon Sep 17 00:00:00 2001 From: root Date: Sat, 28 Jun 2014 03:54:29 +0900 Subject: [PATCH 2/6] 3. make sub-director 'releases' to deploy (ref##http://docs.opscode.com/resource_deploy.html#deploy-strategies) --- providers/java_webapp.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/providers/java_webapp.rb b/providers/java_webapp.rb index 4b551f4..07e4509 100644 --- a/providers/java_webapp.rb +++ b/providers/java_webapp.rb @@ -45,8 +45,8 @@ protected def create_hierarchy - %w{ log pids system }.each do |dir| - directory "#{new_resource.path}/shared/#{dir}" do + %w{ releases shared/log shared/pids shared/system }.each do |dir| + directory "#{new_resource.path}/#{dir}" do owner new_resource.owner group new_resource.group mode '0755' From 0bc304d971268089c025730743100a14f505941f Mon Sep 17 00:00:00 2001 From: root Date: Sat, 28 Jun 2014 04:11:07 +0900 Subject: [PATCH 3/6] 3. version of recipe 'application' is 4.1. --- metadata.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.rb b/metadata.rb index bbe59ff..c1c3ef1 100644 --- a/metadata.rb +++ b/metadata.rb @@ -10,4 +10,4 @@ depends cb end -depends "application", "~> 3.0" +depends "application", "~> 4.1" From cf0c64940a0a79e78a18a89d3a5b155ff03a93ee Mon Sep 17 00:00:00 2001 From: root Date: Sat, 28 Jun 2014 04:24:14 +0900 Subject: [PATCH 4/6] revert create directory 'releases' --- providers/java_webapp.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/providers/java_webapp.rb b/providers/java_webapp.rb index 07e4509..a16b79b 100644 --- a/providers/java_webapp.rb +++ b/providers/java_webapp.rb @@ -45,7 +45,7 @@ protected def create_hierarchy - %w{ releases shared/log shared/pids shared/system }.each do |dir| + %w{ log pids system }.each do |dir| directory "#{new_resource.path}/#{dir}" do owner new_resource.owner group new_resource.group From c357c0659b118dee98fa68cb8941240514c1acf5 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 30 Jun 2014 06:07:23 +0900 Subject: [PATCH 5/6] dont include recipe 'tomcat' --- providers/tomcat.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/providers/tomcat.rb b/providers/tomcat.rb index 2d69058..9093204 100644 --- a/providers/tomcat.rb +++ b/providers/tomcat.rb @@ -21,8 +21,6 @@ action :before_compile do - include_recipe "tomcat" - unless new_resource.restart_command new_resource.restart_command do run_context.resource_collection.find(:service => "tomcat#{node['tomcat']['base_version']}").run_action(:restart) From 06fb4b645550e61127d4f9f1d2e3a8bdd0ebb812 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 30 Jun 2014 06:59:25 +0900 Subject: [PATCH 6/6] revert include recipe 'tomcat' --- providers/tomcat.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/providers/tomcat.rb b/providers/tomcat.rb index 9093204..2d69058 100644 --- a/providers/tomcat.rb +++ b/providers/tomcat.rb @@ -21,6 +21,8 @@ action :before_compile do + include_recipe "tomcat" + unless new_resource.restart_command new_resource.restart_command do run_context.resource_collection.find(:service => "tomcat#{node['tomcat']['base_version']}").run_action(:restart)