Closed Sharpie closed 8 years ago
Nice, it's always a good idea to switch to a standard middleware.
You marked the legacy option ssh_timeout
as deprecated (which is a good point) but the way you have implemented it, the parameter's value is just ignored. Actually, deprecated means the parameter is still working but will be remove in a future release.
Ignoring the option can be annoying for users because they will have unexpected behaviour after a plugin upgrade. It silently breaks the backward compatibility. As long as the option exists, its value must be taken into account.
What i would do here :
ssh_timeout
is set, automatically set its value in config.vm.boot_timeout
and log the deprecation warningssh_timeout
and config.vm.boot_timeout
are set (it's a user mistake), throw an error to encourage the user to remove the legacy option.I re-factored the deprecation patch to copy ssh_timeout
over to config.vm.boot_timeout
if set and log a deprecation warning. Throwing an error if both are set by the user is difficult as config.vm.boot_timeout
has a default value of 300.
LGTM
The OpenStack provider's action_up used a custom WaitForServerToBeAccessible action to poll instances via SSH in order to determine when the VM is up and running. One large shortcoming of this custom implementation is that it does not support communicators other than SSH, notably WinRM. This patch replaces the WaitForServerToBeAccessible with the built-in WaitForCommunicator action which has been part of Vagrant since v1.3 and is able to handle multiple communicators.