class Chef::Provider::Service::Redhat
Constants
- CHKCONFIG_MISSING
- CHKCONFIG_ON
Public Class Methods
new(new_resource, run_context)
click to toggle source
Calls superclass method
Chef::Provider::Service::Init.new
# File lib/chef/provider/service/redhat.rb, line 31 def initialize(new_resource, run_context) super @init_command = "/sbin/service #{@new_resource.service_name}" @new_resource.supports[:status] = true @service_missing = false end
Public Instance Methods
define_resource_requirements()
click to toggle source
# File lib/chef/provider/service/redhat.rb, line 38 def define_resource_requirements shared_resource_requirements requirements.assert(:all_actions) do |a| chkconfig_file = "/sbin/chkconfig" a.assertion { ::File.exists? chkconfig_file } a.failure_message Chef::Exceptions::Service, "#{chkconfig_file} does not exist!" end requirements.assert(:start, :enable, :reload, :restart) do |a| a.assertion { !@service_missing } a.failure_message Chef::Exceptions::Service, "#{@new_resource}: unable to locate the init.d script!" a.whyrun "Assuming service would be disabled. The init script is not presently installed." end end
disable_service()
click to toggle source
# File lib/chef/provider/service/redhat.rb, line 70 def disable_service() shell_out! "/sbin/chkconfig #{@new_resource.service_name} off" end
enable_service()
click to toggle source
# File lib/chef/provider/service/redhat.rb, line 66 def enable_service() shell_out! "/sbin/chkconfig #{@new_resource.service_name} on" end
load_current_resource()
click to toggle source
Calls superclass method
Chef::Provider::Service::Simple#load_current_resource
# File lib/chef/provider/service/redhat.rb, line 54 def load_current_resource super if ::File.exists?("/sbin/chkconfig") chkconfig = shell_out!("/sbin/chkconfig --list #{@current_resource.service_name}", :returns => [0,1]) @current_resource.enabled(!!(chkconfig.stdout =~ CHKCONFIG_ON)) @service_missing = !!(chkconfig.stderr =~ CHKCONFIG_MISSING) end @current_resource end