diff --git a/lib/vagrant/actions/vm/network.rb b/lib/vagrant/actions/vm/network.rb index f8eb84260..b56e555bc 100644 --- a/lib/vagrant/actions/vm/network.rb +++ b/lib/vagrant/actions/vm/network.rb @@ -11,12 +11,15 @@ module Vagrant logger.info "Enabling host only network..." runner.system.prepare_host_only_network - runner.system.enable_host_only_network(runner.env.config.vm.network_options) + + runner.env.config.vm.network_options.compact.each do |network_options| + runner.system.enable_host_only_network(network_options) + end end end def enable_network? - !runner.env.config.vm.network_options.nil? + !runner.env.config.vm.network_options.compact.empty? end # Enables and assigns the host only network to the proper @@ -24,12 +27,13 @@ module Vagrant def assign_network logger.info "Preparing host only network..." - network_options = runner.env.config.vm.network_options - adapter = runner.vm.network_adapters[network_options[:adapter]] - adapter.enabled = true - adapter.attachment_type = :host_only - adapter.host_interface = network_name(network_options) - adapter.save + runner.env.config.vm.network_options.compact.each do |network_options| + adapter = runner.vm.network_adapters[network_options[:adapter]] + adapter.enabled = true + adapter.attachment_type = :host_only + adapter.host_interface = network_name(network_options) + adapter.save + end end # Returns the name of the proper host only network, or creates diff --git a/lib/vagrant/config.rb b/lib/vagrant/config.rb index df3a45e67..577ebafde 100644 --- a/lib/vagrant/config.rb +++ b/lib/vagrant/config.rb @@ -102,7 +102,7 @@ module Vagrant @forwarded_ports = {} @shared_folders = {} @provisioner = nil - @network_options = nil + @network_options = [] end def forward_port(name, guestport, hostport, options=nil) @@ -140,7 +140,7 @@ module Vagrant :name => nil }.merge(options || {}) - @network_options = options + @network_options[options[:adapter]] = options end def hd_location=(val) diff --git a/test/vagrant/actions/vm/network_test.rb b/test/vagrant/actions/vm/network_test.rb index 4a7672661..3c4bef8eb 100644 --- a/test/vagrant/actions/vm/network_test.rb +++ b/test/vagrant/actions/vm/network_test.rb @@ -25,6 +25,7 @@ class NetworkTest < Test::Unit::TestCase context "after boot" do setup do + @runner.env.config.vm.network("foo") @action.stubs(:enable_network?).returns(true) end