diff --git a/README.md b/README.md index 6e9243b..e15ccab 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,8 @@ The following are node attributes passed to the template for the runit service. - `memcached['memory']` - maximum memory for memcached instances. - `memcached['user']` - user to run memcached as. -- `memcached['port']` - port for memcached to listen on. +- `memcached['port']` - TCP port for memcached to listen on. +- `memcached['udp_port']` - UDP port for memcached to listen on. - `memcached['listen']` - IP address for memcache to listen on, defaults to **0.0.0.0** (world accessible). - `memcached['maxconn']` - maximum number of connections to accept (defaults to 1024) - `memcached['max_object_size']` - maximum size of an object to cache (defaults to 1MB) diff --git a/attributes/default.rb b/attributes/default.rb index 85079a3..ac9d6c5 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -19,6 +19,7 @@ default['memcached']['memory'] = 64 default['memcached']['port'] = 11_211 +default['memcached']['udp_port'] = 11_211 default['memcached']['listen'] = '0.0.0.0' default['memcached']['maxconn'] = 1024 default['memcached']['max_object_size'] = '1m' diff --git a/recipes/default.rb b/recipes/default.rb index 4e4faf7..8bd6076 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -59,6 +59,7 @@ :user => node['memcached']['user'], :group => node['memcached']['group'], :port => node['memcached']['port'], + :udp_port => node['memcached']['udp_port'], :maxconn => node['memcached']['maxconn'], :memory => node['memcached']['memory'], :logfilename => node['memcached']['logfilename'] @@ -81,6 +82,7 @@ :listen => node['memcached']['listen'], :user => node['memcached']['user'], :port => node['memcached']['port'], + :udp_port => node['memcached']['udp_port'], :maxconn => node['memcached']['maxconn'], :memory => node['memcached']['memory'], :max_object_size => node['memcached']['max_object_size'] diff --git a/templates/default/memcached.conf.erb b/templates/default/memcached.conf.erb index 85037d3..9455979 100644 --- a/templates/default/memcached.conf.erb +++ b/templates/default/memcached.conf.erb @@ -27,6 +27,7 @@ logfile /var/log/memcached.log # Default connection port is 11211 -p <%= @port %> +-U <%= @udp_port %> # Run the daemon as root. The start-memcached will default to running as root if no # -u command is present in this config file diff --git a/templates/default/memcached.sysconfig.redhat.erb b/templates/default/memcached.sysconfig.redhat.erb index 5ec7c18..c2e18da 100644 --- a/templates/default/memcached.sysconfig.redhat.erb +++ b/templates/default/memcached.sysconfig.redhat.erb @@ -10,4 +10,4 @@ PORT="<%= @port %>" USER="<%= @user %>" MAXCONN="<%= @maxconn %>" CACHESIZE="<%= @memory %>" -OPTIONS="-l <%= @listen %> >> /var/log/<%= @logfilename %> 2>&1" +OPTIONS="-U <%= @udp_port %> -l <%= @listen %> >> /var/log/<%= @logfilename %> 2>&1" diff --git a/templates/default/memcached.sysconfig.suse.erb b/templates/default/memcached.sysconfig.suse.erb index 9a1b360..e4373d1 100644 --- a/templates/default/memcached.sysconfig.suse.erb +++ b/templates/default/memcached.sysconfig.suse.erb @@ -9,7 +9,7 @@ # see man 1 memcached for more # MEMCACHED_PARAMS="<%= "-l #{@listen} -c #{@maxconn} " + - "-m #{@memory} -p #{@port} >> /var/log/#{@logfilename} 2>&1"%>" + "-m #{@memory} -U #{@udp_port} -p #{@port} >> /var/log/#{@logfilename} 2>&1"%>" ## Path: Network/WWW/Memcached ## Description: username memcached should run as diff --git a/templates/default/sv-memcached-run.erb b/templates/default/sv-memcached-run.erb index 28c2fd5..01c68ad 100644 --- a/templates/default/sv-memcached-run.erb +++ b/templates/default/sv-memcached-run.erb @@ -1,3 +1,3 @@ #!/bin/sh exec 2>&1 -exec chpst -u <%= @options[:user] %> /usr/bin/memcached -v -m <%= @options[:memory] %> -p <%= @options[:port] %> -u <%= @options[:user] %> -l <%= @options[:listen] %> -c <%= @options[:maxconn] %> +exec chpst -u <%= @options[:user] %> /usr/bin/memcached -v -m <%= @options[:memory] %> -U <%= @options[:udp_port] %> -p <%= @options[:port] %> -u <%= @options[:user] %> -l <%= @options[:listen] %> -c <%= @options[:maxconn] %>