ArielGlenn has submitted this change and it was merged.

Change subject: contint: jenkins slave user had no home
......................................................................


contint: jenkins slave user had no home

The jenkins-slave user was being created but lacked a home directory.
Instead make it a systemuser (with home under /var/lib/${user}) and
change the jenkins::slave to let us specify the working directory.  This
way we can let puppet manage the Jenkins slave homedir without risking
to lost its workspace.

Change-Id: Ic7e24ddba89841af6f515bae11d077955827ca85
---
M manifests/role/jenkins.pp
M modules/jenkins/manifests/slave.pp
2 files changed, 12 insertions(+), 14 deletions(-)

Approvals:
  ArielGlenn: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/role/jenkins.pp b/manifests/role/jenkins.pp
index e1609fe..15e14e3 100644
--- a/manifests/role/jenkins.pp
+++ b/manifests/role/jenkins.pp
@@ -33,7 +33,7 @@
                # Lamely restrict to master which is gallium
                ssh_key_options    => [ 'from="208.80.154.135"' ],
                user               => 'jenkins-slave',
-               home               => '/srv/ssd/jenkins-slave',
+               workdir            => '/srv/ssd/jenkins-slave',
                require            => Mount['/srv/ssd'],
        }
 
diff --git a/modules/jenkins/manifests/slave.pp 
b/modules/jenkins/manifests/slave.pp
index 5e1478d..ce9fa7e 100644
--- a/modules/jenkins/manifests/slave.pp
+++ b/modules/jenkins/manifests/slave.pp
@@ -5,35 +5,33 @@
   $ssh_key_name,
   $ssh_key_options = [],
   $user = 'jenkins-slave',
-  $home = '/home/jenkins-slave',
+  $workdir = '/var/lib/jenkins-slave',
 ) {
 
   package { 'openjdk-7-jre-headless':
     ensure => present,
   }
 
-  group { $user:
-    ensure    => present,
-    name      => $user,
-    system    => true,
-    allowdupe => false,
-  }
-
-  user { $user:
+  systemuser { $user:
     ensure     => present,
     name       => $user,
-    home       => $home,
-    managehome => false,
     shell      => '/bin/bash',
-    system     => true,
   }
 
+  file { $workdir:
+    ensure  => directory,
+    owner   => $user,
+    group   => $user,
+    mode    => '0775',
+    require => Systemuser[$user],
+  }
+
+  # Finally publish the Jenkins master authorized key
   ssh_authorized_key { $ssh_key_name:
       ensure  => present,
       user    => $user,
       type    => 'ssh-rsa',
       key     => $ssh_authorized_key,
-      target  => "${home}/.ssh/authorized_keys",
       options => $ssh_key_options,
   }
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic7e24ddba89841af6f515bae11d077955827ca85
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <[email protected]>
Gerrit-Reviewer: ArielGlenn <[email protected]>
Gerrit-Reviewer: jenkins-bot

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

Reply via email to