From: Tom Hughes Date: Tue, 10 Feb 2015 19:17:00 +0000 (+0000) Subject: Use inline compile mode for apache LWRPs X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/e050b6df164ed5daf4c90115d65cd1700858cc1c?hp=e54da9eaec238be8640da3ebc26677969a316db1 Use inline compile mode for apache LWRPs --- diff --git a/cookbooks/apache/providers/conf.rb b/cookbooks/apache/providers/conf.rb index 489be8b84..d7eddc636 100644 --- a/cookbooks/apache/providers/conf.rb +++ b/cookbooks/apache/providers/conf.rb @@ -21,6 +21,8 @@ def whyrun_supported? true end +use_inline_resources + action :create do # ~FC017 if node[:lsb][:release].to_f >= 14.04 create_conf @@ -50,45 +52,34 @@ action :delete do # ~FC017 end def create_conf - t = template available_name do + template available_name do cookbook new_resource.cookbook source new_resource.template owner "root" group "root" mode 0644 variables new_resource.variables - notifies :reload, "service[apache2]" if enabled? || available_name == enabled_name end - - new_resource.updated_by_last_action(t.updated_by_last_action?) end def enable_conf - l = link enabled_name do + link enabled_name do to available_name owner "root" group "root" - notifies :reload, "service[apache2]" end - - new_resource.updated_by_last_action(l.updated_by_last_action?) end def disable_conf - l = link enabled_name do + link enabled_name do action :delete - notifies :reload, "service[apache2]" end - - new_resource.updated_by_last_action(l.updated_by_last_action?) end def delete_conf - f = file available_name do + file available_name do action :delete end - - new_resource.updated_by_last_action(f.updated_by_last_action?) end def available_name @@ -106,7 +97,3 @@ def enabled_name "/etc/apache2/conf.d/#{new_resource.name}" end end - -def enabled? - ::File.exist?(enabled_name) -end diff --git a/cookbooks/apache/providers/module.rb b/cookbooks/apache/providers/module.rb index 0a85f7ee4..e824a0343 100644 --- a/cookbooks/apache/providers/module.rb +++ b/cookbooks/apache/providers/module.rb @@ -21,75 +21,52 @@ def whyrun_supported? true end +use_inline_resources + action :install do - if !installed? + unless installed? package package_name - - updated = true - else - updated = false end - if new_resource.conf - t = template available_name("conf") do + if new_resource.conf # ~FC023 + template available_name("conf") do source new_resource.conf owner "root" group "root" mode 0644 variables new_resource.variables - notifies :reload, "service[apache2]" if enabled? end - - updated ||= t.updated_by_last_action? end - - new_resource.updated_by_last_action(updated) end action :enable do - unless enabled? - link enabled_name("load") do - to available_name("load") - owner "root" - group "root" - notifies :restart, "service[apache2]" - end - - link enabled_name("conf") do - to available_name("conf") - owner "root" - group "root" - notifies :reload, "service[apache2]" - only_if { ::File.exist?(available_name("conf")) } - end + link enabled_name("load") do + to available_name("load") + owner "root" + group "root" + end - new_resource.updated_by_last_action(true) + link enabled_name("conf") do + to available_name("conf") + owner "root" + group "root" + only_if { ::File.exist?(available_name("conf")) } end end action :disable do - if enabled? - link enabled_name("load") do - action :delete - notifies :restart, "service[apache2]" - end - - link enabled_name("conf") do - action :delete - notifies :reload, "service[apache2]" - end + link enabled_name("load") do + action :delete + end - new_resource.updated_by_last_action(true) + link enabled_name("conf") do + action :delete end end action :delete do - if installed? - package package_name do - action :remove - end - - new_resource.updated_by_last_action(true) + package package_name do + action :remove end end @@ -108,7 +85,3 @@ end def installed? ::File.exist?(available_name("load")) end - -def enabled? - ::File.exist?(enabled_name("load")) -end diff --git a/cookbooks/apache/providers/site.rb b/cookbooks/apache/providers/site.rb index 9c3303251..a8c903449 100644 --- a/cookbooks/apache/providers/site.rb +++ b/cookbooks/apache/providers/site.rb @@ -21,46 +21,37 @@ def whyrun_supported? true end +use_inline_resources + action :create do - t = template available_name do + template available_name do cookbook new_resource.cookbook source new_resource.template owner "root" group "root" mode 0644 variables new_resource.variables.merge(:name => new_resource.name, :directory => site_directory) - notifies :reload, "service[apache2]" if enabled? end - - new_resource.updated_by_last_action(t.updated_by_last_action?) end action :enable do - l = link enabled_name do + link enabled_name do to available_name owner "root" group "root" - notifies :reload, "service[apache2]" end - - new_resource.updated_by_last_action(l.updated_by_last_action?) end action :disable do - l = link enabled_name do + link enabled_name do action :delete - notifies :reload, "service[apache2]" end - - new_resource.updated_by_last_action(l.updated_by_last_action?) end action :delete do - f = file available_name do + file available_name do action :delete end - - new_resource.updated_by_last_action(f.updated_by_last_action?) end def site_directory @@ -92,7 +83,3 @@ def enabled_name end end end - -def enabled? - ::File.exist?(enabled_name) -end diff --git a/cookbooks/apache/resources/conf.rb b/cookbooks/apache/resources/conf.rb index e17d25bbb..a6487c98c 100644 --- a/cookbooks/apache/resources/conf.rb +++ b/cookbooks/apache/resources/conf.rb @@ -24,3 +24,8 @@ attribute :name, :kind_of => String, :name_attribute => true attribute :cookbook, :kind_of => String attribute :template, :kind_of => String, :required => true attribute :variables, :kind_of => Hash, :default => {} +attribute :reload_apache, :kind_of => [TrueClass, FalseClass], :default => true + +def after_created + notifies :reload, "service[apache2]" if reload_apache +end diff --git a/cookbooks/apache/resources/module.rb b/cookbooks/apache/resources/module.rb index f2d95551e..cded39a47 100644 --- a/cookbooks/apache/resources/module.rb +++ b/cookbooks/apache/resources/module.rb @@ -24,3 +24,8 @@ attribute :name, :kind_of => String, :name_attribute => true attribute :package, :kind_of => String attribute :conf, :kind_of => String attribute :variables, :kind_of => Hash, :default => {} +attribute :restart_apache, :kind_of => [TrueClass, FalseClass], :default => true + +def after_created + notifies :restart, "service[apache2]" if restart_apache +end diff --git a/cookbooks/apache/resources/site.rb b/cookbooks/apache/resources/site.rb index d6735ba8f..0e6a2fedf 100644 --- a/cookbooks/apache/resources/site.rb +++ b/cookbooks/apache/resources/site.rb @@ -25,3 +25,8 @@ attribute :directory, :kind_of => String attribute :cookbook, :kind_of => String attribute :template, :kind_of => String, :required => true attribute :variables, :kind_of => Hash, :default => {} +attribute :reload_apache, :kind_of => [TrueClass, FalseClass], :default => true + +def after_created + notifies :reload, "service[apache2]" if reload_apache +end