VBoxManage errors show stderr
This commit is contained in:
parent
4f1a3dad8c
commit
bc2a9fe780
|
@ -9,6 +9,8 @@ IMPROVEMENTS:
|
||||||
- Vagrant will detect Bundler environments, make assumptions that you're
|
- Vagrant will detect Bundler environments, make assumptions that you're
|
||||||
developing plugins, and will quiet its error output a bit.
|
developing plugins, and will quiet its error output a bit.
|
||||||
- More comprehensive synced folder configuration validation.
|
- More comprehensive synced folder configuration validation.
|
||||||
|
- VBoxManage errors now show the output from the command so that
|
||||||
|
users can potentially know what is wrong.
|
||||||
|
|
||||||
BUG FIXES:
|
BUG FIXES:
|
||||||
|
|
||||||
|
|
|
@ -279,6 +279,9 @@ module VagrantPlugins
|
||||||
# Variable to store our execution result
|
# Variable to store our execution result
|
||||||
r = nil
|
r = nil
|
||||||
|
|
||||||
|
# If there is an error with VBoxManage, this gets set to true
|
||||||
|
errored = false
|
||||||
|
|
||||||
retryable(:on => Vagrant::Errors::VBoxManageError, :tries => tries, :sleep => 1) do
|
retryable(:on => Vagrant::Errors::VBoxManageError, :tries => tries, :sleep => 1) do
|
||||||
# Execute the command
|
# Execute the command
|
||||||
r = raw(*command, &block)
|
r = raw(*command, &block)
|
||||||
|
@ -294,7 +297,7 @@ module VagrantPlugins
|
||||||
# This is usually indicative of a corrupted VirtualBox install.
|
# This is usually indicative of a corrupted VirtualBox install.
|
||||||
raise Vagrant::Errors::VBoxManageNotFoundError
|
raise Vagrant::Errors::VBoxManageNotFoundError
|
||||||
else
|
else
|
||||||
raise Vagrant::Errors::VBoxManageError, :command => command.inspect
|
errored = true
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
# Sometimes, VBoxManage fails but doesn't actual return a non-zero
|
# Sometimes, VBoxManage fails but doesn't actual return a non-zero
|
||||||
|
@ -302,11 +305,19 @@ module VagrantPlugins
|
||||||
# occurred.
|
# occurred.
|
||||||
if r.stderr =~ /VBoxManage: error:/
|
if r.stderr =~ /VBoxManage: error:/
|
||||||
@logger.info("VBoxManage error text found, assuming error.")
|
@logger.info("VBoxManage error text found, assuming error.")
|
||||||
raise Vagrant::Errors::VBoxManageError, :command => command.inspect
|
errored = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# If there was an error running VBoxManage, show the error and the
|
||||||
|
# output.
|
||||||
|
if errored
|
||||||
|
raise Vagrant::Errors::VBoxManageError,
|
||||||
|
:command => command.inspect,
|
||||||
|
:stderr => r.stderr
|
||||||
|
end
|
||||||
|
|
||||||
# Return the output, making sure to replace any Windows-style
|
# Return the output, making sure to replace any Windows-style
|
||||||
# newlines with Unix-style.
|
# newlines with Unix-style.
|
||||||
r.stdout.gsub("\r\n", "\n")
|
r.stdout.gsub("\r\n", "\n")
|
||||||
|
|
|
@ -386,12 +386,12 @@ en:
|
||||||
|
|
||||||
%{file}
|
%{file}
|
||||||
vboxmanage_error: |-
|
vboxmanage_error: |-
|
||||||
There was an error executing the following command with VBoxManage:
|
There was an error while executing `VBoxManage`, a CLI used by Vagrant
|
||||||
|
for controlling VirtualBox. The command and stderr is shown below.
|
||||||
|
|
||||||
%{command}
|
Command: %{command}
|
||||||
|
|
||||||
For more information on the failure, enable detailed logging by setting
|
Stderr: %{stderr}
|
||||||
the environment variable VAGRANT_LOG to DEBUG.
|
|
||||||
vboxmanage_not_found_error: |-
|
vboxmanage_not_found_error: |-
|
||||||
The "VBoxManage" command or one of its dependencies could not
|
The "VBoxManage" command or one of its dependencies could not
|
||||||
be found. Please verify VirtualBox is properly installed. You can verify
|
be found. Please verify VirtualBox is properly installed. You can verify
|
||||||
|
|
Loading…
Reference in New Issue