I've been building and using Linux images in Vagrant for while now, but only recently extended coverage to Windows. I've worked images to cater for sysprep, but this has lead to very slow boot times, and subsequent WinRM timeouts have also been problematic. I've tried setting very high timeout values, but they appear to have no effect, i.e. doubled boot timeout but it has dropped
Vagrant.configure(2) do |config|
config.vm.boot_timeout = 1200
config.vm.guest = "windows"
config.vm.communicator = 'winrm'
config.winrm.timeout = 120
config.winrm.retry_limit = 10
In this example I have printed of the system time
Mon Mar 20 18:14:21 NZDT 2017
Expecting 20 minute wait time
==> default: Forcing shutdown of VM...
==> default: Destroying VM and associated drives...
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'WindowsDocker'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: cbe_default_1489986988330_5366
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 3389 (guest) => 13389 (host) (adapter 1)
default: 5985 (guest) => 15985 (host) (adapter 1)
default: 5986 (guest) => 15986 (host) (adapter 1)
default: 5985 (guest) => 55985 (host) (adapter 1)
default: 5986 (guest) => 55986 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: WinRM address: 127.0.0.1:15985
default: WinRM username: vagrant
default: WinRM execution_time_limit: PT2H
default: WinRM transport: negotiate
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.
If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.
If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
This has exited after 4 minutes
Mon Mar 20 18:18:42 NZDT 2017
Platform details
- Host is Windows 10
- Vagrant 1.9.2
- VirtualBox 5.1.18
- Guest Windows Server 2016
This message was misleading
I've changed the WinRM timeout from 120 seconds to 30 minutes and now the guest completes the boot and machine attempts connect.