Show error if host only networking on Windows
This commit is contained in:
parent
e98db8dc86
commit
2358130c0e
|
@ -10,6 +10,8 @@
|
|||
- Enumerate VMs in a multi-VM environment in order they were defined. [GH-244]
|
||||
- Check for VM boot changed to use `timeout` library, which works better with Windows.
|
||||
- Show special error if VirtualBox not detected on 64-bit Windows.
|
||||
- Show error to Windows users attempting to use host only networking since
|
||||
it doesn't work yet.
|
||||
|
||||
## 0.6.8 (November 30, 2010)
|
||||
|
||||
|
|
|
@ -8,6 +8,10 @@ module Vagrant
|
|||
@app = app
|
||||
@env = env
|
||||
|
||||
if enable_network? && Util::Platform.windows?
|
||||
raise Errors::NetworkNotImplemented
|
||||
end
|
||||
|
||||
env["config"].vm.network_options.compact.each do |network_options|
|
||||
raise Errors::NetworkCollision.new if !verify_no_bridge_collision(network_options)
|
||||
end
|
||||
|
|
|
@ -183,6 +183,13 @@ module Vagrant
|
|||
error_key(:not_found, "vagrant.actions.vm.network")
|
||||
end
|
||||
|
||||
# Note: This is a temporary error for Windows users while host-only
|
||||
# networking doesn't quite work.
|
||||
class NetworkNotImplemented < VagrantError
|
||||
status_code(49)
|
||||
error_key(:windows_not_implemented, "vagrant.actions.vm.network")
|
||||
end
|
||||
|
||||
class NFSHostRequired < VagrantError
|
||||
status_code(31)
|
||||
error_key(:host_required, "vagrant.actions.vm.nfs")
|
||||
|
|
|
@ -304,14 +304,19 @@ en:
|
|||
This will cause your specified IP to be inaccessible. Please change
|
||||
the IP or name of your host only network to not match that of
|
||||
a bridged or non-hostonly network.
|
||||
creating: Creating new host only network for environment...
|
||||
enabling: Enabling host only network...
|
||||
creating: "Creating new host only network for environment..."
|
||||
enabling: "Enabling host only network..."
|
||||
not_found: |-
|
||||
The specified host network could not be found: '%{name}.'
|
||||
If the name specification is removed, Vagrant will create a new
|
||||
host only network for you. Alternatively, please create the
|
||||
specified network manually.
|
||||
preparing: Preparing host only network...
|
||||
preparing: "Preparing host only network..."
|
||||
windows_not_implemented: |-
|
||||
Host only networking is currently broken on Windows due to a bug
|
||||
in jruby-win32ole. When the bug is fixed, a patch release for Vagrant
|
||||
will be released to remove this error. Until then, please just use
|
||||
forwarded ports.
|
||||
nfs:
|
||||
host_required: |-
|
||||
A host class is required for NFS shared folders. By default, these
|
||||
|
|
|
@ -16,6 +16,24 @@ class NetworkVMActionTest < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
context "initializing" do
|
||||
should "raise an error if on windows and networking is enabled" do
|
||||
Vagrant::Util::Platform.stubs(:windows?).returns(true)
|
||||
@env.env.config.vm.network("foo")
|
||||
|
||||
assert_raises(Vagrant::Errors::NetworkNotImplemented) {
|
||||
@klass.new(@app, @env)
|
||||
}
|
||||
end
|
||||
|
||||
should "not raise an error if not on windows and networking is enabled" do
|
||||
Vagrant::Util::Platform.stubs(:windows?).returns(false)
|
||||
@env.env.config.vm.network("foo")
|
||||
|
||||
assert_nothing_raised {
|
||||
@klass.new(@app, @env)
|
||||
}
|
||||
end
|
||||
|
||||
should "verify no bridge collisions for each network enabled" do
|
||||
@env.env.config.vm.network("foo")
|
||||
@klass.any_instance.expects(:verify_no_bridge_collision).returns(true).once.with() do |options|
|
||||
|
|
Loading…
Reference in New Issue