A missing synced folders cache indicates an empty cache, not a failure
that should be handled by the caller. The cache file is missing from
data dirs created by an earlier version of Vagrant.
Fixes#3550.
In addition to checking if a port is open, we now check if a port is
"leased", which we do for a period of 60 seconds. This gives the provider
time to actually put the port into use.
Initial work
commands/up: make sure all names to with_target_vms are strings
providers/docker: create a docker host VM if needed
providers/docker: executor abstraction for driver to eventually support remote
providers/docker: vagrant executor
providers/docker: support creating the machine
providers/docker: status works if host VM is gone
providers/docker: use start fence to get real docker output
core: Call preserves stack ordering
core: support Message post option
providers/docker: Guard some features with HasSSH checks
providers/docker: much better messaging around create/destroy
providers/docker: output the container ID on create
providers/docker: copy the hostmachine Vagrantfile to the data dir
providers/docker: should make host machine before any up action
providers/docker: HandleBox before the host machine
providers/virtualbox: functional_vboxsf to disable vboxsf
providers/virtualbox: synced folder usable method should take 2 args
providers/docker: default machine name to :default
before this patch:
```
$ vagrant box remove --box-version 0.2.9 berendt/ubuntu-14.04-amd64
You requested to remove the box 'berendt/ubuntu-14.04-amd64' version '0.2.9' with
provider 'virtualbox', but that specific version of the box is
not install. Please double-check and try again. The available versions
for this box are:
0.2.11, 0.2.10
```
after this patch:
```
You requested to remove the box 'berendt/ubuntu-14.04-amd64' version '0.2.9' with
provider 'virtualbox', but that specific version of the box is
not install. Please double-check and try again. The available versions
for this box are:
* 0.2.10
* 0.2.11
```
When trying to remove a not existing version of an existing box an
exception is thrown. The exception should be handled and some message
(box version 0.1.2 not available) should be printed.
With this patch the exception is handled correctly by using a newly
introduced exception BoxRemoveVersionNotFound.
Example output:
You requested to remove the box 'berendt/alpine-2.7.5-amd64' with provider
'virtualbox' in version '0.0.2'. The box 'berendt/alpine-2.7.5-amd64'
exists but not in the specified version '0.0.2'.
Please double-check and try again.
The available versions for this box are: 0.1.0
Fixes issue #3344