BryanDavis has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/304885

Change subject: Extract /etc/profile.d/umask-wikidev.sh to a shared class
......................................................................

Extract /etc/profile.d/umask-wikidev.sh to a shared class

Make applying role::deployment::server and role::labs::mediawiki_vagrant
to the same Labs instance possible by refactoring the Puppet code that
provisions the /etc/profile.d/umask-wikidev.sh for both roles.

Three roles (role::deployment::server, role::statistics, and
role::labs::mediawiki_vagrant) all provision an
/etc/profile.d/umask-wikidev.sh file which sets the default umask to
0002 for members of the wikidev user group. Two of the three roles
actually used the same file resource but via separate File defines.

Change-Id: I4bc08455c84e2c822b6a0f6ce384784f05127948
---
M manifests/role/statistics.pp
R modules/deployment/files/umask-wikidev-profile-d.sh
A modules/deployment/manifests/umask_wikidev.pp
M modules/role/manifests/deployment/server.pp
D modules/vagrant/files/umask-wikidev-profile-d.sh
M modules/vagrant/manifests/mediawiki.pp
6 files changed, 17 insertions(+), 34 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/85/304885/1

diff --git a/manifests/role/statistics.pp b/manifests/role/statistics.pp
index 7b05fae..96e41f3 100644
--- a/manifests/role/statistics.pp
+++ b/manifests/role/statistics.pp
@@ -1,4 +1,6 @@
 class role::statistics {
+    include ::deployment::umask_wikidev
+
     # Manually set a list of statistics servers.
     $statistics_servers = hiera(
         'statistics_servers',
@@ -30,15 +32,6 @@
         proto  => 'tcp',
         port   => '873',
         srange => '($INTERNAL)',
-    }
-
-    # Set umask for wikidev users so that newly-created files are g+w
-    file { '/etc/profile.d/umask-wikidev.sh':
-        ensure => 'present',
-        owner  => 'root',
-        group  => 'root',
-        mode   => '0444',
-        source => 
'puppet:///modules/role/deployment/umask-wikidev-profile-d.sh',
     }
 }
 
diff --git a/modules/role/files/deployment/umask-wikidev-profile-d.sh 
b/modules/deployment/files/umask-wikidev-profile-d.sh
similarity index 100%
rename from modules/role/files/deployment/umask-wikidev-profile-d.sh
rename to modules/deployment/files/umask-wikidev-profile-d.sh
diff --git a/modules/deployment/manifests/umask_wikidev.pp 
b/modules/deployment/manifests/umask_wikidev.pp
new file mode 100644
index 0000000..323a3d1
--- /dev/null
+++ b/modules/deployment/manifests/umask_wikidev.pp
@@ -0,0 +1,12 @@
+# == Class: deployment::umask_wikidev
+#
+# Set umask for wikidev users so that newly-created files are g+w
+class deployment::umask_wikidev {
+    file { '/etc/profile.d/umask-wikidev.sh':
+        ensure => 'present',
+        owner  => 'root',
+        group  => 'root',
+        mode   => '0444',
+        source => 'puppet:///modules/deployment/umask-wikidev-profile-d.sh',
+    }
+}
diff --git a/modules/role/manifests/deployment/server.pp 
b/modules/role/manifests/deployment/server.pp
index fb5c86a..6348550 100644
--- a/modules/role/manifests/deployment/server.pp
+++ b/modules/role/manifests/deployment/server.pp
@@ -14,18 +14,10 @@
     # anything to do with Mediawiki.
     include scap::server
 
+    include ::deployment::umask_wikidev
+
     class { 'deployment::deployment_server':
         deployment_group => $deployment_group,
-    }
-
-    # set umask for wikidev users so that newly-created files are g+w
-    file { '/etc/profile.d/umask-wikidev.sh':
-        ensure => present,
-        owner  => 'root',
-        group  => 'root',
-        mode   => '0444',
-        # NOTE: This file is also used in role::statistics
-        source => 
'puppet:///modules/role/deployment/umask-wikidev-profile-d.sh',
     }
 
     include ::apache
diff --git a/modules/vagrant/files/umask-wikidev-profile-d.sh 
b/modules/vagrant/files/umask-wikidev-profile-d.sh
deleted file mode 100644
index 3d0baab..0000000
--- a/modules/vagrant/files/umask-wikidev-profile-d.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-# Set umask to 0002 for wikidev users to make shared management of
-# mediawiki-vagrant files easier
-if groups | grep -w -q wikidev; then
-  umask 0002
-fi
diff --git a/modules/vagrant/manifests/mediawiki.pp 
b/modules/vagrant/manifests/mediawiki.pp
index ad3f297..f1896cc 100644
--- a/modules/vagrant/manifests/mediawiki.pp
+++ b/modules/vagrant/manifests/mediawiki.pp
@@ -11,6 +11,7 @@
     $install_directory = '/srv/mediawiki-vagrant',
 ) {
     require ::vagrant::lxc
+    include ::deployment::umask_wikidev
 
     # Add a local NFS server to export the /srv/mediawiki-vagrant files to the
     # LXC container. NFS is actually slower than native LXC sharing but it
@@ -70,16 +71,6 @@
         group   => 'root',
         mode    => '0555',
         content => template('vagrant/labs-vagrant.erb'),
-    }
-
-    # Set umask for wikidev users so that newly-created files are g+w.
-    # This makes shared ownership of $install_directory easier
-    file { '/etc/profile.d/umask-wikidev.sh':
-        ensure => present,
-        owner  => 'root',
-        group  => 'root',
-        mode   => '0444',
-        source => 'puppet:///modules/vagrant/umask-wikidev-profile-d.sh',
     }
 
     # T127129: Attempt to start an existing MediaWiki-Vagrant LXC container on

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4bc08455c84e2c822b6a0f6ce384784f05127948
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BryanDavis <bda...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to