Included Modules

Class/Module Index [+]

Quicksearch

Chef::Provider::Service::Redhat

Public Class Methods

new(new_resource, run_context) click to toggle source
# File lib/chef/provider/service/redhat.rb, line 32
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 39
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 71
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 67
def enable_service()
  shell_out! "/sbin/chkconfig #{@new_resource.service_name} on"
end
load_current_resource() click to toggle source
# File lib/chef/provider/service/redhat.rb, line 55
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

[Validate]

Generated with the Darkfish Rdoc Generator 2.