plugins/providers/virtualbox/action/check_virtualbox.rb in vagrant-unbundled-2.0.2.0 vs plugins/providers/virtualbox/action/check_virtualbox.rb in vagrant-unbundled-2.0.3.0
- old
+ new
@@ -1,18 +1,27 @@
+require 'vagrant/util/platform'
+
module VagrantPlugins
module ProviderVirtualBox
module Action
# Checks that VirtualBox is installed and ready to be used.
class CheckVirtualbox
def initialize(app, env)
@app = app
+ @logger = Log4r::Logger.new("vagrant::provider::virtualbox")
end
def call(env)
# This verifies that VirtualBox is installed and the driver is
# ready to function. If not, then an exception will be raised
# which will break us out of execution of the middleware sequence.
Driver::Meta.new.verify!
+
+ if Vagrant::Util::Platform.windows? && Vagrant::Util::Platform.windows_hyperv_enabled?
+ @logger.error("Virtualbox and Hyper-V cannot be used together at the same time on Windows and will result in a system crash.")
+
+ raise Vagrant::Errors::HypervVirtualBoxError
+ end
# Carry on.
@app.call(env)
end
end