diff --git a/manifests/init.pp b/manifests/init.pp
index babba491..a6ccf0c7 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -81,12 +81,13 @@
$pool_remove_abandoned_timeout = 300,
$pool_test_while_idle = true,
$pool_test_on_borrow = false,
+ $tcpkeepalive = 240,
# JVM Settings
$javahome = undef,
$jvm_xms = '256m',
$jvm_xmx = '1024m',
$jvm_permgen = '256m',
- $jvm_optional = '-XX:-HeapDumpOnOutOfMemoryError',
+ $jvm_optional = '-XX:-HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps',
$java_opts = '',
$catalina_opts = '',
# Misc Settings
@@ -131,6 +132,7 @@
$tomcat_keystore_pass = 'changeit',
Enum['JKS', 'JCEKS', 'PKCS12'] $tomcat_keystore_type = 'JKS',
$tomcat_accesslog_format = '%a %{jira.request.id}r %{jira.request.username}r %t "%m %U%q %H" %s %b %D "%{Referer}i" "%{User-Agent}i" "%{jira.request.assession.id}r"',
+ $tomcat_stuckvalve_threshold = '180',
# Tomcat Tunables
$tomcat_max_threads = '150',
$tomcat_accept_count = '100',
diff --git a/manifests/params.pp b/manifests/params.pp
index 91e8e3cc..1142b234 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -14,6 +14,12 @@
$service_file_template = 'jira/jira.initscript.erb'
$service_lockfile = '/var/lock/subsys/jira'
$service_provider = undef
+ } elsif $facts['operatingsystem'] == 'Amazon' and $facts['operatingsystemmajrelease'] =='2' {
+ $json_packages = [ 'rubygem-json' ]
+ $service_file_location = '/usr/lib/systemd/system/jira.service'
+ $service_file_template = 'jira/jira.service.erb'
+ $service_lockfile = '/var/lock/subsys/jira'
+ $service_provider = 'systemd'
} elsif versioncmp($facts['operatingsystemmajrelease'], '7') >= 0 {
$json_packages = [ 'rubygem-json' ]
$service_file_location = '/usr/lib/systemd/system/jira.service'
diff --git a/templates/dbconfig.postgresql.xml.erb b/templates/dbconfig.postgresql.xml.erb
index e7cba3f9..2ac5201f 100644
--- a/templates/dbconfig.postgresql.xml.erb
+++ b/templates/dbconfig.postgresql.xml.erb
@@ -24,5 +24,6 @@
<%= scope.lookupvar('jira::pool_test_while_idle') %>
<%= scope.lookupvar('jira::pool_test_on_borrow') %>
<% end -%>
+ tcpKeepAlive=true;socketTimeout=<%= scope.lookupvar('jira::tcpkeepalive') %>
diff --git a/templates/server.xml.erb b/templates/server.xml.erb
index fb656104..934521c6 100644
--- a/templates/server.xml.erb
+++ b/templates/server.xml.erb
@@ -49,6 +49,10 @@
<%- if @tomcat_address -%>
address="<%= @tomcat_address %>"
<%- end -%>
+ <%- if ( scope.function_versioncmp([@version, '7.12.1']) > 0 && @product =~ /^jira/ ) or @product =~ /^servicedesk/ -%>
+ relaxedPathChars="[]|"
+ relaxedQueryChars="[]|{}^\`"<>"
+ <%- end -%>
maxThreads="<%= @tomcat_max_threads %>"
minSpareThreads="<%= @tomcat_min_spare_threads %>"
connectionTimeout="<%= @tomcat_connection_timeout %>"
@@ -77,6 +81,10 @@
<%- if @tomcat_address -%>
address="<%= @tomcat_address %>"
<%- end -%>
+ <%- if ( scope.function_versioncmp([@version, '7.12.1']) > 0 && @product =~ /^jira/ ) or @product =~ /^servicedesk/ -%>
+ relaxedPathChars="[]|"
+ relaxedQueryChars="[]|{}^\`"<>"
+ <%- end -%>
maxHttpHeaderSize="<%= @tomcat_max_http_header_size %>"
SSLEnabled="true"
maxThreads="<%= @tomcat_max_threads %>"
@@ -126,6 +134,8 @@
+
+
diff --git a/templates/setenv.sh.erb b/templates/setenv.sh.erb
index 80788a7f..bab566e4 100755
--- a/templates/setenv.sh.erb
+++ b/templates/setenv.sh.erb
@@ -3,6 +3,8 @@
#
JIRA_HOME="<%= scope.lookupvar('jira::homedir') %>"
+export LC_ALL="en_US.UTF-8"
+
#
# Additional JAVA_OPTS
#
@@ -47,7 +49,9 @@ DISABLE_NOTIFICATIONS=" -Datlassian.mail.senddisabled=true -Datlassian.mail.fetc
# This allows us to actually debug GC related issues by correlating timestamps
# with other parts of the application logs.
#-----------------------------------------------------------------------------------
-JVM_EXTRA_ARGS="-XX:+PrintGCDateStamps"
+JVM_EXTRA_ARGS=""
+
+JVM_OPENS=$(cat $PRGDIR/java-opens.txt)
PRGDIR=`dirname "$0"`
cat "${PRGDIR}"/jirabanner.txt