adoptium / adoptium/infrastructure
VPC may need increased timeouts when booting windows machines
- Dominant language
- Python
- Stars
- 96
- Forks
- 106
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 12
Description
I have seen issues with timeouts when booting the Win2012 vagrant systems in [VagrantPlaybookChec](https://ci.adoptium.net/view/Tooling/job/VagrantPlaybookCheck). [Here's a successful launch](https://ci.adoptium.net/view/Tooling/job/VagrantPlaybookCheck/OS=Win2012,label=vagrant/1592/console) in about 5½ minutes:
```
03:18:18 ==> adoptopenjdkW2012: Checking if box 'mwrock/Windows2012R2' version '0.6.1' is up to date...
03:18:30 ==> adoptopenjdkW2012: Setting the name of the VM: ansible_adoptopenjdkW2012_1674011003136_53576
[...]
03:18:34 adoptopenjdkW2012: 22 (guest) => 2201 (host) (adapter 1)
03:18:34 ==> adoptopenjdkW2012: Running 'pre-boot' VM customizations...
03:19:33 ==> adoptopenjdkW2012: Resized disk: old 40000 MB, req 102400 MB, new 102400 MB
03:19:33 ==> adoptopenjdkW2012: You may need to resize the filesystem from within the guest.
03:19:33 ==> adoptopenjdkW2012: Booting VM...
03:19:42 ==> adoptopenjdkW2012: Waiting for machine to boot. This may take a few minutes...
03:19:46 adoptopenjdkW2012: WinRM address: 127.0.0.1:55985
03:19:46 adoptopenjdkW2012: WinRM username: vagrant
03:19:46 adoptopenjdkW2012: WinRM execution_time_limit: PT2H
03:19:46 adoptopenjdkW2012: WinRM transport: negotiate
03:23:51 ==> adoptopenjdkW2012: Machine booted and ready!
```
And [a failing one](https://ci.adoptium.net/view/Tooling/job/VagrantPlaybookCheck/OS=Win2012,label=vagrant/1619/console):
```
17:10:35 ==> adoptopenjdkW2012: Checking if box 'mwrock/Windows2012R2' version '0.6.1' is up to date...
17:10:36 ==> adoptopenjdkW2012: Setting the name of the VM: ansible_adoptopenjdkW2012_1677171284179_6026
[...]
17:10:58 ==> adoptopenjdkW2012: Running 'pre-boot' VM customizations...
17:18:24 ==> adoptopenjdkW2012: Resized disk: old 40000 MB, req 102400 MB, new 102400 MB
17:18:24 ==> adoptopenjdkW2012: You may need to resize the filesystem from within the guest.
17:18:24 ==> adoptopenjdkW2012: Booting VM...
17:18:32 ==> adoptopenjdkW2012: Waiting for machine to boot. This may take a few minutes...
17:18:37 adoptopenjdkW2012: WinRM address: 127.0.0.1:55985
17:18:37 adoptopenjdkW2012: WinRM username: vagrant
17:18:37 adoptopenjdkW2012: WinRM execution_time_limit: PT2H
17:18:37 adoptopenjdkW2012: WinRM transport: negotiate
17:23:34 Timed out while waiting for the machine to boot. This means that
17:23:34 Vagrant was unable to communicate with the guest machine within
17:23:34 the configured ("config.vm.boot_timeout" value) time period.
```
It may just be that when running lots of VMs in parallel the slowness affects it too much. You can see in the second example that the time to get to the disk resize confirmation was around eight minutes, compared to about one minute in the working example.
Contributor guide
Research direction
Start with the VagrantPlaybookCheck console logs and the configuration controlling config.vm.boot_timeout for the Win2012 machines. Compare the successful and failing boot timings, then verify that the configured timeout accommodates slow parallel starts without masking genuine boot failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ansible
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100