Always clear NFS exports for the VM booting [GH-529]
This commit is contained in:
parent
6d212efdbd
commit
70705d2861
|
@ -60,19 +60,19 @@ module Vagrant
|
||||||
# task.
|
# task.
|
||||||
def extract_folders
|
def extract_folders
|
||||||
# Load the NFS enabled shared folders
|
# Load the NFS enabled shared folders
|
||||||
@folders = @env[:vm].config.vm.shared_folders.inject({}) do |acc, data|
|
@folders = {}
|
||||||
key, opts = data
|
@env[:vm].config.vm.shared_folders.each do |name, opts|
|
||||||
|
|
||||||
if opts[:nfs]
|
if opts[:nfs]
|
||||||
# Duplicate the options, set the hostpath, and set disabled on the original
|
# Duplicate the options, set the hostpath, and set disabled on the original
|
||||||
# options so the ShareFolders middleware doesn't try to mount it.
|
# options so the ShareFolders middleware doesn't try to mount it.
|
||||||
acc[key] = opts.dup
|
opts = opts.dup
|
||||||
acc[key][:hostpath] = File.expand_path(opts[:hostpath], @env[:root_path])
|
opts[:hostpath] = File.expand_path(opts[:hostpath], @env[:root_path])
|
||||||
opts[:disabled] = true
|
opts[:disabled] = true
|
||||||
|
@folders[key] = opts
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
acc
|
@folders
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Prepares the settings for the NFS folders, such as setting the
|
# Prepares the settings for the NFS folders, such as setting the
|
||||||
|
|
|
@ -56,9 +56,6 @@ module Vagrant
|
||||||
return if !File.exist?("/etc/exports")
|
return if !File.exist?("/etc/exports")
|
||||||
|
|
||||||
retryable(:tries => 10, :on => TypeError) do
|
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
|
# Use sed to just strip out the block of code which was inserted
|
||||||
# by Vagrant, and restart NFS.
|
# by Vagrant, and restart NFS.
|
||||||
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
|
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
|
||||||
|
@ -67,5 +64,4 @@ module Vagrant
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -52,14 +52,11 @@ module Vagrant
|
||||||
|
|
||||||
def nfs_cleanup(id)
|
def nfs_cleanup(id)
|
||||||
return if !File.exist?("/etc/exports")
|
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
|
# Use sed to just strip out the block of code which was inserted
|
||||||
# by Vagrant
|
# by Vagrant
|
||||||
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
|
system("sudo sed -e '/^# VAGRANT-BEGIN: #{id}/,/^# VAGRANT-END: #{id}/ d' -ibak /etc/exports")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue