Forward port GH-1142

This commit is contained in:
Mitchell Hashimoto 2012-09-18 22:26:51 -07:00
parent f7c231758f
commit 184f6dccb2
1 changed files with 24 additions and 5 deletions

View File

@ -23,18 +23,37 @@ module VagrantPlugins
@ui.info I18n.t("vagrant.hosts.arch.nfs_export.prepare") @ui.info I18n.t("vagrant.hosts.arch.nfs_export.prepare")
sleep 0.5 sleep 0.5
nfs_cleanup(id)
output.split("\n").each do |line| output.split("\n").each do |line|
# This should only ask for administrative permission once, even # This should only ask for administrative permission once, even
# though its executed in multiple subshells. # though its executed in multiple subshells.
system(%Q[sudo su root -c "echo '#{line}' >> /etc/exports"]) system(%Q[sudo su root -c "echo '#{line}' >> /etc/exports"])
end end
# We run restart here instead of "update" just in case nfsd if systemd?
# is not starting # Call start to be nice. This will be a no-op if things are
# already running. Then use exportfs to pick up the changes we
# just made.
system("sudo systemctl start nfsd.service rpc-idmapd.service rpc-mountd.service rpcbind.service")
system("sudo exportfs -r")
else
# The restarting of services when we might not need to can be
# considered evil, but this will be obviated by systemd soon
# enough anyway.
system("sudo /etc/rc.d/rpcbind restart") system("sudo /etc/rc.d/rpcbind restart")
system("sudo /etc/rc.d/nfs-common restart") system("sudo /etc/rc.d/nfs-common restart")
system("sudo /etc/rc.d/nfs-server restart") system("sudo /etc/rc.d/nfs-server restart")
end end
end end
protected
# This tests to see if systemd is used on the system. This is used
# in newer versions of Arch, and requires a change in behavior.
def systemd?
Kernel.system("which systemctl &>/dev/null")
end
end
end end
end end