Dev set up
This commit is contained in:
109
ops/cookbooks/vendor/memcached/libraries/helpers.rb
vendored
Normal file
109
ops/cookbooks/vendor/memcached/libraries/helpers.rb
vendored
Normal file
@ -0,0 +1,109 @@
|
||||
def service_user
|
||||
value_for_platform_family(
|
||||
%w(suse fedora rhel amazon) => 'memcached',
|
||||
'debian' => 'memcache',
|
||||
'default' => 'nobody'
|
||||
)
|
||||
end
|
||||
|
||||
def service_group
|
||||
value_for_platform_family(
|
||||
%w(suse fedora rhel amazon) => 'memcached',
|
||||
'debian' => 'memcache',
|
||||
'default' => 'nogroup'
|
||||
)
|
||||
end
|
||||
|
||||
def binary_path
|
||||
new_resource.binary_path || value_for_platform_family(
|
||||
'suse' => '/usr/sbin/memcached',
|
||||
'default' => '/usr/bin/memcached'
|
||||
)
|
||||
end
|
||||
|
||||
def lock_dir
|
||||
value_for_platform_family(
|
||||
%w(rhel fedora suse amazon) => '/var/lock/subsys',
|
||||
'default' => '/var/lock'
|
||||
)
|
||||
end
|
||||
|
||||
# if the instance name is memcached don't spit out memcached_memcached
|
||||
def memcached_instance_name
|
||||
new_resource.instance_name == 'memcached' ? 'memcached' : "memcached_#{new_resource.instance_name}"
|
||||
end
|
||||
|
||||
def disable_default_memcached_instance
|
||||
return unless new_resource.disable_default_instance
|
||||
|
||||
service 'disable default memcached' do
|
||||
service_name 'memcached'
|
||||
action [:stop, :disable]
|
||||
not_if { new_resource.instance_name == 'memcached' }
|
||||
end
|
||||
end
|
||||
|
||||
def remove_default_memcached_configs
|
||||
return unless new_resource.remove_default_config
|
||||
|
||||
%w(/etc/memcached.conf /etc/sysconfig/memcached /etc/default/memcached).each do |f|
|
||||
file f do
|
||||
action :delete
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def cli_options
|
||||
options = "-m #{new_resource.memory} \
|
||||
-U #{new_resource.udp_port} \
|
||||
-p #{new_resource.port} \
|
||||
-u #{new_resource.user} \
|
||||
-l #{new_resource.listen} \
|
||||
-c #{new_resource.maxconn} \
|
||||
-I #{new_resource.max_object_size}"
|
||||
|
||||
options << " -o #{new_resource.experimental_options.join(',')}" unless new_resource.experimental_options.empty?
|
||||
|
||||
log_arg = ''
|
||||
case new_resource.log_level
|
||||
when 'info'
|
||||
log_arg = 'v'
|
||||
when 'debug'
|
||||
log_arg = 'vv'
|
||||
when 'trace'
|
||||
log_arg = 'vvv'
|
||||
end
|
||||
options << " -#{log_arg}"
|
||||
|
||||
options << " -t #{new_resource.threads}" if new_resource.threads
|
||||
options << " #{new_resource.extra_cli_options.join(' ')}" unless new_resource.extra_cli_options.empty?
|
||||
options
|
||||
end
|
||||
|
||||
def disable_legacy_runit_instance
|
||||
return unless ::File.exist?("/etc/sv/#{memcached_instance_name}/run")
|
||||
|
||||
memcached_instance_runit memcached_instance_name do
|
||||
action :remove
|
||||
end
|
||||
end
|
||||
|
||||
# choose the right platform init class
|
||||
def platform_sysv_init_class
|
||||
value_for_platform_family(
|
||||
'debian' => Chef::Provider::Service::Init::Debian,
|
||||
'default' => Chef::Provider::Service::Init::Redhat
|
||||
)
|
||||
end
|
||||
|
||||
def log_file_name
|
||||
File.join(node['memcached']['logfilepath'], "#{memcached_instance_name}.log")
|
||||
end
|
||||
|
||||
def create_log_file
|
||||
file log_file_name do
|
||||
user service_user
|
||||
group service_group
|
||||
mode '0644'
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user