From 964f340f099cd56a93b7b97cd3e1c22504862d3b Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 9 Jul 2015 10:24:40 -0600 Subject: [PATCH] synced_folders/nfs: verify_installed option [GH-5269] --- plugins/synced_folders/nfs/config.rb | 3 +++ plugins/synced_folders/nfs/synced_folder.rb | 16 +++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/plugins/synced_folders/nfs/config.rb b/plugins/synced_folders/nfs/config.rb index 88e4fa2e3..4d8cfdbc3 100644 --- a/plugins/synced_folders/nfs/config.rb +++ b/plugins/synced_folders/nfs/config.rb @@ -6,6 +6,7 @@ module VagrantPlugins attr_accessor :functional attr_accessor :map_uid attr_accessor :map_gid + attr_accessor :verify_installed def initialize super @@ -13,12 +14,14 @@ module VagrantPlugins @functional = UNSET_VALUE @map_uid = UNSET_VALUE @map_gid = UNSET_VALUE + @verify_installed = UNSET_VALUE end def finalize! @functional = true if @functional == UNSET_VALUE @map_uid = :auto if @map_uid == UNSET_VALUE @map_gid = :auto if @map_gid == UNSET_VALUE + @verify_installed = true if @verify_installed == UNSET_VALUE end def to_s diff --git a/plugins/synced_folders/nfs/synced_folder.rb b/plugins/synced_folders/nfs/synced_folder.rb index 7cf51aabe..8fe0f69c3 100644 --- a/plugins/synced_folders/nfs/synced_folder.rb +++ b/plugins/synced_folders/nfs/synced_folder.rb @@ -43,13 +43,15 @@ module VagrantPlugins raise Vagrant::Errors::NFSNoHostIP if !nfsopts[:nfs_host_ip] raise Vagrant::Errors::NFSNoGuestIP if !nfsopts[:nfs_machine_ip] - if machine.guest.capability?(:nfs_client_installed) - installed = machine.guest.capability(:nfs_client_installed) - if !installed - can_install = machine.guest.capability?(:nfs_client_install) - raise Vagrant::Errors::NFSClientNotInstalledInGuest if !can_install - machine.ui.info I18n.t("vagrant.actions.vm.nfs.installing") - machine.guest.capability(:nfs_client_install) + if machine.config.nfs.verify_installed + if machine.guest.capability?(:nfs_client_installed) + installed = machine.guest.capability(:nfs_client_installed) + if !installed + can_install = machine.guest.capability?(:nfs_client_install) + raise Vagrant::Errors::NFSClientNotInstalledInGuest if !can_install + machine.ui.info I18n.t("vagrant.actions.vm.nfs.installing") + machine.guest.capability(:nfs_client_install) + end end end