Mattflaschen has uploaded a new change for review.

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

Change subject: WIP: Use NFS on non-Windows systems, with related permissions 
changes
......................................................................

WIP: Use NFS on non-Windows systems, with related permissions changes

Based on https://gerrit.wikimedia.org/r/#/c/115114

Change-Id: Ia9214dcd5fbbb6d8e3da417dd25a16bae3a50256
---
M Vagrantfile
M puppet/manifests/base.pp
M puppet/modules/mediawiki/manifests/init.pp
M puppet/modules/mediawiki/manifests/settings.pp
4 files changed, 28 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/95/134995/1

diff --git a/Vagrantfile b/Vagrantfile
index 62d203c..af8016b 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -113,10 +113,18 @@
             auto_correct: true
     } unless settings['forward_ports'].nil?
 
-    config.vm.synced_folder '.', '/vagrant',
-        id: 'vagrant-root',
-        owner: 'vagrant',
-        group: 'www-data'
+    root_share_options = {:id => 'vagrant-root'}
+
+    if Vagrant::Util::Platform.windows?
+        root_share_options[:owner] = 'vagrant'
+        root_share_options[:group] = 'www-data'
+    else
+        root_share_options[:type] = :nfs
+        config.nfs.map_uid = Process.uid
+        config.nfs.map_gid = Process.gid
+    end
+
+    config.vm.synced_folder '.', '/vagrant', root_share_options
 
     # www-data needs to write to the logs, but doesn't need write
     # access for all of /vagrant
@@ -163,6 +171,15 @@
             'forwarded_port'     => settings['http_port'],
             'shared_apt_cache'   => '/vagrant/apt-cache/',
         }
+
+        if Vagrant::Util::Platform.windows?
+            $FACTER['share_owner'] = 'vagrant'
+            $FACTER['share_group'] = 'www-data'
+        else
+            $FACTER['share_owner'] = Process.uid
+            $FACTER['share_group'] = Process.gid
+        end
+
     end
 
     config.vm.provision :mediawiki_reload
diff --git a/puppet/manifests/base.pp b/puppet/manifests/base.pp
index a9b6a2e..f878d4d 100644
--- a/puppet/manifests/base.pp
+++ b/puppet/manifests/base.pp
@@ -42,13 +42,9 @@
     ensure => present,
 }
 
-# Declare default uid / gid and permissions for file resources, and
-# tells Puppet not to back up configuration files by default.
+# Tell Puppet not to back up configuration files by default.
 File {
     backup => false,
-    owner  => 'root',
-    group  => 'root',
-    mode   => '0644',
 }
 
 file { '/srv':
diff --git a/puppet/modules/mediawiki/manifests/init.pp 
b/puppet/modules/mediawiki/manifests/init.pp
index d9641b1..73e81d0 100644
--- a/puppet/modules/mediawiki/manifests/init.pp
+++ b/puppet/modules/mediawiki/manifests/init.pp
@@ -94,9 +94,8 @@
 
     file { $settings_dir:
         ensure => directory,
-        owner  => 'vagrant',
-        group  => 'www-data',
-        mode   => '0755',
+        owner => $::share_owner,
+        group => $::share_group,
     }
 
     file { [ $cache_dir, $upload_dir ]:
@@ -108,8 +107,8 @@
 
     file { $managed_settings_dir:
         ensure  => directory,
-        owner   => 'vagrant',
-        group   => 'www-data',
+        owner   => $::share_owner,
+        group   => $::share_group,
         mode    => undef,
         recurse => true,
         purge   => true,
diff --git a/puppet/modules/mediawiki/manifests/settings.pp 
b/puppet/modules/mediawiki/manifests/settings.pp
index 9ced46a..ec61f20 100644
--- a/puppet/modules/mediawiki/manifests/settings.pp
+++ b/puppet/modules/mediawiki/manifests/settings.pp
@@ -84,11 +84,8 @@
     file { $settings_file:
         ensure  => $ensure,
         content => template('mediawiki/settings.php.erb'),
-        # Because the file resides on a shared folder, any other owner
-        # or mode will cause VirtualBox and Puppet to play tug-o'-war
-        # over the file.
-        owner   => 'vagrant',
-        group   => 'www-data',
+        owner   => $::share_owner,
+        group   => $::share_group,
         require => Exec['mediawiki setup'],
     }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia9214dcd5fbbb6d8e3da417dd25a16bae3a50256
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Mattflaschen <mflasc...@wikimedia.org>
Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org>

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

Reply via email to