summaryrefslogtreecommitdiff
path: root/lib/chef/provider
diff options
context:
space:
mode:
authorDavide Cavalca <dcavalca@fb.com>2015-12-14 15:46:22 -0800
committerDavide Cavalca <dcavalca@fb.com>2016-02-22 14:03:17 -0800
commit787c1c76db731040ad4f6ab60e92fa00f737f8d0 (patch)
tree5c4b51abc4d677cbfd70d78099838f269b8460bd /lib/chef/provider
parent7c63cb380d7480d94c58d6e8498cb538a2d579cd (diff)
downloadchef-787c1c76db731040ad4f6ab60e92fa00f737f8d0.tar.gz
rework to use a subclassed SystemdService resource
Diffstat (limited to 'lib/chef/provider')
-rw-r--r--lib/chef/provider/service.rb37
-rw-r--r--lib/chef/provider/service/systemd.rb33
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")