Always clear NFS exports for the VM booting [GH-529]

This commit is contained in:
Mitchell Hashimoto 2012-01-12 18:15:43 -08:00
parent 6d212efdbd
commit 70705d2861
3 changed files with 14 additions and 21 deletions

View File

@ -60,19 +60,19 @@ module Vagrant
# task.
def extract_folders
# Load the NFS enabled shared folders
@folders = @env[:vm].config.vm.shared_folders.inject({}) do |acc, data|
key, opts = data
@folders = {}
@env[:vm].config.vm.shared_folders.each do |name, opts|
if opts[:nfs]
# Duplicate the options, set the hostpath, and set disabled on the original
# options so the ShareFolders middleware doesn't try to mount it.
acc[key] = opts.dup
acc[key][:hostpath] = File.expand_path(opts[:hostpath], @env[:root_path])
opts = opts.dup
opts[:hostpath] = File.expand_path(opts[:hostpath], @env[:root_path])
opts[:disabled] = true
@folders[key] = opts
end
acc
end
@folders
end
# Prepares the settings for the NFS folders, such as setting the

View File

@ -56,14 +56,10 @@ module Vagrant
return if !File.exist?("/etc/exports")
retryable(:tries => 10, :on => TypeError) do
system("cat /etc/exports | grep 'VAGRANT-BEGIN: #{id}' > /dev/null 2>&1")
if $?.to_i == 0
# Use sed to just strip out the block of code which was inserted
# by Vagrant, and restart NFS.
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
system(@nfs_restart_command)
end
# Use sed to just strip out the block of code which was inserted
# by Vagrant, and restart NFS.
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
system(@nfs_restart_command)
end
end
end

View File

@ -52,13 +52,10 @@ module Vagrant
def nfs_cleanup(id)
return if !File.exist?("/etc/exports")
system("cat /etc/exports | grep 'VAGRANT-BEGIN: #{id}' > /dev/null 2>&1")
if $?.to_i == 0
# Use sed to just strip out the block of code which was inserted
# by Vagrant
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
end
# Use sed to just strip out the block of code which was inserted
# by Vagrant
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
end
end
end