class PoiseService::ServiceProviders::Provider

Poise-service provider for AIX. @since 1.0.0

Constants

DEFAULT_PROCESS_ACTION
DEFAULT_RUN_LEVEL

Public Class Methods

provides_auto?(node, _) click to toggle source
# File lib/poise_service/aix/provider.rb, line 28
def self.provides_auto?(node, _)
  node['platform_family'] == 'aix'
end

Public Instance Methods

pid() click to toggle source

Parse the PID from ‘lssrc -s <name>` output. @return [Integer]

# File lib/poise_service/aix/provider.rb, line 34
def pid
  service = shell_out!("lssrc -s #{@new_resource.service_name}").stdout
  service.split(' ')[-1].to_i
end

Private Instance Methods

create_service() click to toggle source
# File lib/poise_service/aix/provider.rb, line 41
def create_service
  Chef::Log.debug("Creating aix service #{new_resource.service_name}")
  command = new_resource.command.split(' ')
  aix_subsystem "#{new_resource.service_name}" do
    program command.first
    arguments command.drop(1).join(' ')
    user new_resource.user
    auto_restart true
  end
end
destroy_service() click to toggle source
# File lib/poise_service/aix/provider.rb, line 71
def destroy_service
  Chef::Log.debug("Destroying aix service #{new_resource.service_name}")
  aix_subsystem "#{new_resource.service_name}" do
    action :delete
  end
end
disable_service() click to toggle source
# File lib/poise_service/aix/provider.rb, line 61
def disable_service
  Chef::Log.debug("Disabling aix service #{new_resource.service_name}")
  aix_inittab "#{new_resource.service_name}" do
    runlevel options['runlevel'] ||= DEFAULT_RUN_LEVEL
    processaction options['processaction'] ||= DEFAULT_PROCESS_ACTION
    command "/usr/bin/startsrc -s #{new_resource.service_name} >/dev/console 2>&1"
    action :remove
  end
end
enable_service() click to toggle source
# File lib/poise_service/aix/provider.rb, line 52
def enable_service
  Chef::Log.debug("Enabling aix service #{new_resource.service_name}")
  aix_inittab "#{new_resource.service_name}" do
    runlevel options['runlevel'] ||= DEFAULT_RUN_LEVEL
    processaction options['processaction'] ||= DEFAULT_PROCESS_ACTION
    command "/usr/bin/startsrc -s #{new_resource.service_name} >/dev/console 2>&1"
  end
end
service_provider() click to toggle source
Calls superclass method
# File lib/poise_service/aix/provider.rb, line 78
def service_provider
  super.tap do |r|
    r.provider(Chef::Provider::Service::Aix)
  end
end