diff options
author | Davide Cavalca <dcavalca@fb.com> | 2015-12-14 15:46:22 -0800 |
---|---|---|
committer | Davide Cavalca <dcavalca@fb.com> | 2016-02-22 14:03:17 -0800 |
commit | 787c1c76db731040ad4f6ab60e92fa00f737f8d0 (patch) | |
tree | 5c4b51abc4d677cbfd70d78099838f269b8460bd /lib/chef/provider | |
parent | 7c63cb380d7480d94c58d6e8498cb538a2d579cd (diff) | |
download | chef-787c1c76db731040ad4f6ab60e92fa00f737f8d0.tar.gz |
rework to use a subclassed SystemdService resource
Diffstat (limited to 'lib/chef/provider')
-rw-r--r-- | lib/chef/provider/service.rb | 37 | ||||
-rw-r--r-- | lib/chef/provider/service/systemd.rb | 33 |
2 files changed, 33 insertions, 37 deletions
diff --git a/lib/chef/provider/service.rb b/lib/chef/provider/service.rb index 42dfb1598a..d716e44342 100644 --- a/lib/chef/provider/service.rb +++ b/lib/chef/provider/service.rb @@ -56,9 +56,6 @@ class Chef if @new_resource.running.nil? @new_resource.running(@current_resource.running) end - if ( @new_resource.masked.nil? ) - @new_resource.masked(@current_resource.masked) - end end def shared_resource_requirements @@ -100,32 +97,6 @@ class Chef @new_resource.enabled(false) end - def action_mask - if @current_resource.masked - Chef::Log.debug("#{@new_resource} already masked - nothing to do") - else - converge_by("mask service #{@new_resource}") do - mask_service - Chef::Log.info("#{@new_resource} masked") - end - end - load_new_resource_state - @new_resource.masked(true) - end - - def action_unmask - if @current_resource.masked - converge_by("unmask service #{@new_resource}") do - unmask_service - Chef::Log.info("#{@new_resource} masked") - end - else - Chef::Log.debug("#{@new_resource} already unmasked - nothing to do") - end - load_new_resource_state - @new_resource.masked(false) - end - def action_start unless @current_resource.running converge_by("start service #{@new_resource}") do @@ -195,14 +166,6 @@ class Chef raise Chef::Exceptions::UnsupportedAction, "#{self} does not support :reload" end - def mask_service - raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :mask" - end - - def unmask_service - raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :unmask" - end - protected def default_init_command diff --git a/lib/chef/provider/service/systemd.rb b/lib/chef/provider/service/systemd.rb index 9948d28c0f..0637251a59 100644 --- a/lib/chef/provider/service/systemd.rb +++ b/lib/chef/provider/service/systemd.rb @@ -34,6 +34,13 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple Chef::Platform::ServiceHelpers.config_for_service(resource.service_name).include?(:systemd) end + def load_new_resource_state + super + if ( @new_resource.masked.nil? ) + @new_resource.masked(@current_resource.masked) + end + end + def load_current_resource @current_resource = Chef::Resource::Service.new(new_resource.name) current_resource.service_name(new_resource.service_name) @@ -69,6 +76,32 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple end end + def action_mask + if @current_resource.masked + Chef::Log.debug("#{@new_resource} already masked - nothing to do") + else + converge_by("mask service #{@new_resource}") do + mask_service + Chef::Log.info("#{@new_resource} masked") + end + end + load_new_resource_state + @new_resource.masked(true) + end + + def action_unmask + if @current_resource.masked + converge_by("unmask service #{@new_resource}") do + unmask_service + Chef::Log.info("#{@new_resource} masked") + end + else + Chef::Log.debug("#{@new_resource} already unmasked - nothing to do") + end + load_new_resource_state + @new_resource.masked(false) + end + def start_service if current_resource.running Chef::Log.debug("#{new_resource} already running, not starting") |