Hashar has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/337377 )

Change subject: jenkins: support umask via service default
......................................................................

jenkins: support umask via service default

We used to set the Jenkins process umask via a .daemonrc file. Upstream
has made the sysvinit and default file to support an UMASK parameter.

Drop /var/lib/jenkins/.daemonrc
Add a umask parameter to the default template
Set umask=0002 as the jenkins class default and explicitly set at the
role::ci::master level.

Also, make the service to depends on the default file.

Change-Id: Ic4a6240695ce7ae4d2f44d66fcfe2e4764da4c5e
---
M modules/jenkins/manifests/init.pp
M modules/jenkins/templates/etc/default/jenkins.sh.erb
M modules/role/manifests/ci/master.pp
3 files changed, 8 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/77/337377/1

diff --git a/modules/jenkins/manifests/init.pp 
b/modules/jenkins/manifests/init.pp
index 9978640..5029d3e 100644
--- a/modules/jenkins/manifests/init.pp
+++ b/modules/jenkins/manifests/init.pp
@@ -15,10 +15,14 @@
 # [*service_enable*]
 # Passed to Puppet Service['jenkins'] as 'enable'. Default: true.
 #
+# [*umask*]
+# Control permission bits of files created by Jenkins. Passed to 'daemon'.
+# Default: '0002'
 class jenkins(
     $prefix,
     $service_ensure  = 'running',
     $service_enable = true,
+    $umask = '0002'
 )
 {
     require ::jenkins::user
@@ -40,18 +44,8 @@
         require => Package['openjdk-7-jre-headless'],
     }
 
-
-    # Jenkins should write everything group writable so admins can interact 
with
-    # files easily, hence we need it to run with umask 0002.
-    # The Jenkins software is daemonized in the init script using
-    # /usr/bin/daemon which reset the umask value.  Daemon accepts per user
-    # configuration via the ~/.daemonrc, set the umask there.
     file { '/var/lib/jenkins/.daemonrc':
-        ensure  => 'present',
-        content => "jenkins umask=0002\n",
-        owner   => 'jenkins',
-        group   => 'jenkins',
-        mode    => '0644',
+        ensure  => 'absent',
     }
 
     # Workaround for a Jenkins security issue.
@@ -80,8 +74,7 @@
         ensure     => $real_ensure,
         enable     => $service_enable,
         hasrestart => true,
-        # Better have umask properly set before starting
-        require    => File['/var/lib/jenkins/.daemonrc'],
+        require    => File['/etc/default/jenkins'],
     }
 
     # nagios monitoring
diff --git a/modules/jenkins/templates/etc/default/jenkins.sh.erb 
b/modules/jenkins/templates/etc/default/jenkins.sh.erb
index 78fcceb..e12ffd6 100644
--- a/modules/jenkins/templates/etc/default/jenkins.sh.erb
+++ b/modules/jenkins/templates/etc/default/jenkins.sh.erb
@@ -64,7 +64,7 @@
 #   If commented out, the value from the OS is inherited,  which is normally 
022 (as of Ubuntu 12.04,
 #   by default umask comes from pam_umask(8) and /etc/login.defs
 
-# UMASK=027
+UMASK=<%= @umask %>
 
 # port for HTTP connector (default 8080; disable with -1)
 HTTP_PORT=8080
diff --git a/modules/role/manifests/ci/master.pp 
b/modules/role/manifests/ci/master.pp
index 6081a06..f2171df 100644
--- a/modules/role/manifests/ci/master.pp
+++ b/modules/role/manifests/ci/master.pp
@@ -26,6 +26,7 @@
     # Load the Jenkins module, that setup a Jenkins master
     class { '::jenkins':
         prefix => $jenkins_prefix,
+        umask  => '0002',
     }
     class { '::contint::proxy_jenkins':
         prefix => $jenkins_prefix,

-- 
To view, visit https://gerrit.wikimedia.org/r/337377
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic4a6240695ce7ae4d2f44d66fcfe2e4764da4c5e
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to