JGonera has uploaded a new change for review.
https://gerrit.wikimedia.org/r/131005
Change subject: [WIP] Use NFS by default on non-Windows hosts
......................................................................
[WIP] Use NFS by default on non-Windows hosts
NFS is dramatically faster than VirtualBox Shared Folders, so use it where
possible, which currently means everywhere except Windows. Tell Facter who the
owner / group of the shared folder is likely to be, so Puppet can set
permissions correctly.
Rebased version of the patch by Ori (Iacaf59b6fc6bbc92637788ba3fdece28d5633649).
Conflicts:
Vagrantfile
Change-Id: I03c1a8e931b968edad5e3110a5493175e6f8a84e
---
M Vagrantfile
M puppet/manifests/base.pp
M puppet/modules/mediawiki/manifests/init.pp
M puppet/modules/mediawiki/manifests/settings.pp
4 files changed, 27 insertions(+), 24 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant
refs/changes/05/131005/1
diff --git a/Vagrantfile b/Vagrantfile
index 69dd278..c7598c4 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -116,17 +116,18 @@
end
end
- config.vm.synced_folder '.', '/vagrant',
- id: 'vagrant-root',
- owner: 'vagrant',
- group: 'www-data'
+ share_options = {:id => 'vagrant-root'}
- # www-data needs to write to the logs, but doesn't need write
- # access for all of /vagrant
- config.vm.synced_folder './logs', '/vagrant/logs',
- id: 'vagrant-logs',
- owner: 'www-data',
- group: 'www-data'
+ if Vagrant::Util::Platform.windows?
+ share_options[:owner] = 'vagrant'
+ share_options[:group] = 'www-data'
+ else
+ share_options[:type] = :nfs
+ config.nfs.map_uid = Process.uid
+ config.nfs.map_gid = Process.gid
+ end
+
+ config.vm.synced_folder '.', '/vagrant', share_options
config.vm.provider :virtualbox do |vb|
# See http://www.virtualbox.org/manual/ch08.html for additional
options.
@@ -159,13 +160,22 @@
end
# Windows's Command Prompt has poor support for ANSI escape sequences.
- puppet.options << '--color=false' if windows?
+ puppet.options << '--color=false' if Vagrant::Util::Platform.windows?
puppet.facter = $FACTER = {
'fqdn' => config.vm.hostname,
'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 ff2f3b5..fcd1249 100644
--- a/puppet/manifests/base.pp
+++ b/puppet/manifests/base.pp
@@ -45,9 +45,6 @@
# tells 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 741e7e6..22c47a6 100644
--- a/puppet/modules/mediawiki/manifests/init.pp
+++ b/puppet/modules/mediawiki/manifests/init.pp
@@ -89,9 +89,8 @@
file { $settings_dir:
ensure => directory,
- owner => 'vagrant',
- group => 'www-data',
- mode => '0755',
+ owner => $::share_owner,
+ group => $::share_group,
}
file { $upload_dir:
@@ -103,8 +102,8 @@
file { "${settings_dir}/puppet-managed":
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 4c543f7..297019c 100644
--- a/puppet/modules/mediawiki/manifests/settings.pp
+++ b/puppet/modules/mediawiki/manifests/settings.pp
@@ -80,11 +80,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/131005
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I03c1a8e931b968edad5e3110a5493175e6f8a84e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: JGonera <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits