From 750af911a27a1a37ae9a1b53776b9c28e459b09a Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 14 Feb 2014 11:47:30 +0800 Subject: [PATCH] added max_keepalive_requests variable to template, params and init --- manifests/init.pp | 89 ++++++++++++----------- manifests/params.pp | 13 ++-- spec/acceptance/apache_parameters_spec.rb | 3 +- templates/httpd.conf.erb | 2 +- 4 files changed, 55 insertions(+), 52 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 94900ea5c1..15aa750507 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -13,50 +13,51 @@ # Sample Usage: # class apache ( - $service_name = $apache::params::service_name, - $default_mods = true, - $default_vhost = true, - $default_confd_files = true, - $default_ssl_vhost = false, - $default_ssl_cert = $apache::params::default_ssl_cert, - $default_ssl_key = $apache::params::default_ssl_key, - $default_ssl_chain = undef, - $default_ssl_ca = undef, - $default_ssl_crl_path = undef, - $default_ssl_crl = undef, - $ip = undef, - $service_enable = true, - $service_ensure = 'running', - $purge_configs = true, - $purge_vdir = false, - $serveradmin = 'root@localhost', - $sendfile = 'On', - $error_documents = false, - $timeout = '120', - $httpd_dir = $apache::params::httpd_dir, - $server_root = $apache::params::server_root, - $confd_dir = $apache::params::confd_dir, - $vhost_dir = $apache::params::vhost_dir, - $vhost_enable_dir = $apache::params::vhost_enable_dir, - $mod_dir = $apache::params::mod_dir, - $mod_enable_dir = $apache::params::mod_enable_dir, - $mpm_module = $apache::params::mpm_module, - $conf_template = $apache::params::conf_template, - $servername = $apache::params::servername, - $manage_user = true, - $manage_group = true, - $user = $apache::params::user, - $group = $apache::params::group, - $keepalive = $apache::params::keepalive, - $keepalive_timeout = $apache::params::keepalive_timeout, - $logroot = $apache::params::logroot, - $log_level = $apache::params::log_level, - $ports_file = $apache::params::ports_file, - $apache_version = $apache::version::default, - $server_tokens = 'OS', - $server_signature = 'On', - $trace_enable = 'On', - $package_ensure = 'installed', + $service_name = $apache::params::service_name, + $default_mods = true, + $default_vhost = true, + $default_confd_files = true, + $default_ssl_vhost = false, + $default_ssl_cert = $apache::params::default_ssl_cert, + $default_ssl_key = $apache::params::default_ssl_key, + $default_ssl_chain = undef, + $default_ssl_ca = undef, + $default_ssl_crl_path = undef, + $default_ssl_crl = undef, + $ip = undef, + $service_enable = true, + $service_ensure = 'running', + $purge_configs = true, + $purge_vdir = false, + $serveradmin = 'root@localhost', + $sendfile = 'On', + $error_documents = false, + $timeout = '120', + $httpd_dir = $apache::params::httpd_dir, + $server_root = $apache::params::server_root, + $confd_dir = $apache::params::confd_dir, + $vhost_dir = $apache::params::vhost_dir, + $vhost_enable_dir = $apache::params::vhost_enable_dir, + $mod_dir = $apache::params::mod_dir, + $mod_enable_dir = $apache::params::mod_enable_dir, + $mpm_module = $apache::params::mpm_module, + $conf_template = $apache::params::conf_template, + $servername = $apache::params::servername, + $manage_user = true, + $manage_group = true, + $user = $apache::params::user, + $group = $apache::params::group, + $keepalive = $apache::params::keepalive, + $keepalive_timeout = $apache::params::keepalive_timeout, + $max_keepalive_requests = $apache::params::max_keepalive_requests, + $logroot = $apache::params::logroot, + $log_level = $apache::params::log_level, + $ports_file = $apache::params::ports_file, + $apache_version = $apache::version::default, + $server_tokens = 'OS', + $server_signature = 'On', + $trace_enable = 'On', + $package_ensure = 'installed', ) inherits apache::params { validate_bool($default_vhost) validate_bool($default_ssl_vhost) diff --git a/manifests/params.pp b/manifests/params.pp index 1f5f45b413..5b55eb5a33 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -88,12 +88,13 @@ 'php5' => 'libphp5.so', 'nss' => 'libmodnss.so', } - $conf_template = 'apache/httpd.conf.erb' - $keepalive = 'Off' - $keepalive_timeout = 15 - $fastcgi_lib_path = undef - $mime_support_package = 'mailcap' - $mime_types_config = '/etc/mime.types' + $conf_template = 'apache/httpd.conf.erb' + $keepalive = 'Off' + $keepalive_timeout = 15 + $max_keepalive_requests = 100 + $fastcgi_lib_path = undef + $mime_support_package = 'mailcap' + $mime_types_config = '/etc/mime.types' } elsif $::osfamily == 'Debian' { $user = 'www-data' $group = 'www-data' diff --git a/spec/acceptance/apache_parameters_spec.rb b/spec/acceptance/apache_parameters_spec.rb index 597739f5c2..af4879be4a 100644 --- a/spec/acceptance/apache_parameters_spec.rb +++ b/spec/acceptance/apache_parameters_spec.rb @@ -289,7 +289,7 @@ class { 'apache': describe 'keepalive' do describe 'setup' do it 'applies cleanly' do - pp = "class { 'apache': keepalive => 'On', keepalive_timeout => '30' }" + pp = "class { 'apache': keepalive => 'On', keepalive_timeout => '30', max_keepalive_requests => '50' }" apply_manifest(pp, :catch_failures => true) end end @@ -298,6 +298,7 @@ class { 'apache': it { should be_file } it { should contain 'KeepAlive On' } it { should contain 'KeepAliveTimeout 30' } + it { should contain 'MaxKeepAliveRequests 50' } end end diff --git a/templates/httpd.conf.erb b/templates/httpd.conf.erb index 66b70836bb..7dac25adf5 100644 --- a/templates/httpd.conf.erb +++ b/templates/httpd.conf.erb @@ -8,7 +8,7 @@ ServerRoot "<%= @server_root %>" PidFile <%= @pidfile %> Timeout <%= @timeout %> KeepAlive <%= @keepalive %> -MaxKeepAliveRequests 100 +MaxKeepAliveRequests <%= @max_keepalive_requests %> KeepAliveTimeout <%= @keepalive_timeout %> User <%= @user %>