From d42a6c0f0120ed4f5c4a9af99c6b17365cb237a1 Mon Sep 17 00:00:00 2001
From: "James E. Blair" <jeblair@hp.com>
Date: Thu, 12 Jul 2012 14:58:29 -0700
Subject: [PATCH] Add jenkins defaults file.

Set java params for a 12G heap, and log GC events.

Change-Id: I29d0e8e11cc62124352f4f709cce9337abbee747
---
 manifests/site.pp                             |  4 ++
 .../files/jenkins/jenkins.default             | 60 +++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 modules/openstack-ci-config/files/jenkins/jenkins.default

diff --git a/manifests/site.pp b/manifests/site.pp
index c426c743bc..17e55deab1 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -347,6 +347,10 @@ node "jenkins.openstack.org" {
     ensure => 'present',
     source => 'puppet:///modules/openstack-ci-config/zuul/logging.conf'
   }
+  file { "/etc/default/jenkins":
+    ensure => 'present',
+    source => 'puppet:///modules/openstack-ci-config/jenkins/jenkins.default'
+  }
 }
 
 node "jenkins-dev.openstack.org" {
diff --git a/modules/openstack-ci-config/files/jenkins/jenkins.default b/modules/openstack-ci-config/files/jenkins/jenkins.default
new file mode 100644
index 0000000000..42038c1e6d
--- /dev/null
+++ b/modules/openstack-ci-config/files/jenkins/jenkins.default
@@ -0,0 +1,60 @@
+# defaults for jenkins continuous integration server
+
+# pulled in from the init script; makes things easier.
+NAME=jenkins
+
+# location of java
+JAVA=/usr/bin/java
+
+# arguments to pass to java
+#JAVA_ARGS="-Xmx256m"
+#JAVA_ARGS="-Djava.net.preferIPv4Stack=true" # make jenkins listen on IPv4 address
+JAVA_ARGS="-Xloggc:/var/log/jenkins/gc.log -XX:+PrintGCDetails -Xmx12g"
+
+PIDFILE=/var/run/jenkins/jenkins.pid
+
+# user id to be invoked as (otherwise will run as root; not wise!)
+JENKINS_USER=jenkins
+
+# location of the jenkins war file
+JENKINS_WAR=/usr/share/jenkins/jenkins.war
+
+# jenkins home location
+JENKINS_HOME=/var/lib/jenkins
+
+# set this to false if you don't want Hudson to run by itself
+# in this set up, you are expected to provide a servlet container
+# to host jenkins.
+RUN_STANDALONE=true
+
+# log location.  this may be a syslog facility.priority
+JENKINS_LOG=/var/log/jenkins/$NAME.log
+#HUDSON_LOG=daemon.info
+
+# OS LIMITS SETUP
+#   comment this out to observe /etc/security/limits.conf
+#   this is on by default because http://github.com/jenkinsci/jenkins/commit/2fb288474e980d0e7ff9c4a3b768874835a3e92e
+#   reported that Ubuntu's PAM configuration doesn't include pam_limits.so, and as a result the # of file
+#   descriptors are forced to 1024 regardless of /etc/security/limits.conf
+MAXOPENFILES=8192
+
+# port for HTTP connector (default 8080; disable with -1)
+HTTP_PORT=8080
+
+# port for AJP connector (disabled by default)
+AJP_PORT=-1
+
+# servlet context, important if you want to use apache proxying  
+PREFIX=/jenkins
+
+# arguments to pass to jenkins.
+# --javahome=$JAVA_HOME
+# --httpPort=$HTTP_PORT (default 8080; disable with -1)
+# --httpsPort=$HTTP_PORT
+# --ajp13Port=$AJP_PORT
+# --argumentsRealm.passwd.$ADMIN_USER=[password]
+# --argumentsRealm.$ADMIN_USER=admin
+# --webroot=~/.jenkins/war
+# --prefix=$PREFIX
+
+JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT"