Clear all network adapters during the boot process

This commit is contained in:
Mitchell Hashimoto 2012-01-01 21:58:15 -08:00
parent 22d042cb94
commit 76a77432b8
4 changed files with 35 additions and 0 deletions

View File

@ -33,6 +33,7 @@ module Vagrant
autoload :CheckPortCollisions, 'vagrant/action/vm/check_port_collisions'
autoload :CleanMachineFolder, 'vagrant/action/vm/clean_machine_folder'
autoload :ClearForwardedPorts, 'vagrant/action/vm/clear_forwarded_ports'
autoload :ClearNetworkInterfaces, 'vagrant/action/vm/clear_network_interfaces'
autoload :ClearNFSExports, 'vagrant/action/vm/clear_nfs_exports'
autoload :ClearSharedFolders, 'vagrant/action/vm/clear_shared_folders'
autoload :Customize, 'vagrant/action/vm/customize'

View File

@ -29,6 +29,7 @@ module Vagrant
use VM::ClearSharedFolders
use VM::ShareFolders
use VM::HostName
use VM::ClearNetworkInterfaces
use VM::BridgedNetwork
use VM::HostOnlyNetwork
use VM::Customize

View File

@ -0,0 +1,31 @@
module Vagrant
module Action
module VM
class ClearNetworkInterfaces
def initialize(app, env)
@app = app
end
def call(env)
# Create the adapters array to make all adapters nothing.
# We do adapters 2 to 8 because that is every built-in adapter
# excluding the NAT adapter on port 1 which Vagrant always
# expects to exist.
adapters = []
2.upto(8).each do |i|
adapters << {
:adapter => i,
:type => :none
}
end
# "Enable" all the adapters we setup.
env[:ui].info I18n.t("vagrant.actions.vm.clear_network_interfaces.deleting")
env[:vm].driver.enable_adapters(adapters)
@app.call(env)
end
end
end
end
end

View File

@ -320,6 +320,8 @@ en:
VirtualBox Version: %{virtualbox_version}
clear_forward_ports:
deleting: Clearing any previously set forwarded ports...
clear_network_interfaces:
deleting: Clearing any previously set network interfaces...
clear_shared_folders:
deleting: Cleaning previously set shared folders...
customize: