Skip to content

vagrant up windows_10 hangs while installing Git

Summary

Running the following command hangs inside the VM while running the Git install:

vagrant up windows_10

Steps to reproduce

I followed the instructions from the development README on a MacOS system.

Actual behavior

Vagrant doesn't proceed with the script after the Git install command.

Expected behavior

I'd expect the Vagrantfile script to actually finish executing. The workaround I followed was to comment out running the Git installation in the Powershell script and instead run it later manually in the VM.

Relevant logs and/or screenshots

Vagrant output
==> windows_10: Running provisioner: shell...
    windows_10: Running: scripts/vagrant/provision/base.ps1 as c:\tmp\vagrant-shell.ps1
    windows_10: downloading https://storage.googleapis.com/golang/go1.13.windows-amd64.msi
    windows_10: https://storage.googleapis.com/golang/go1.13.windows-amd64.msi downloaded as C:\Users\vagrant\AppData\Local\Temp\tmpE52F.tmp
    windows_10: installing go 1.13...
    windows_10: done
    windows_10: downloading https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/Git-2.23.0-64-bit.exe
    windows_10: https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/Git-2.23.0-64-bit.exe downloaded as C:\Users\vagrant\AppData\Local\Temp\tmp720.tmp
    windows_10: installing git 2.23.0...

Environment description

MacBook Pro with MacOS Catalina (10.15.3)

Possible fixes

https://gitlab.com/gitlab-org/gitlab-runner/blob/40b2b51f9c6289905e6b239ee879a085685e166e/scripts/vagrant/provision/base.ps1#L48

I noticed that the log folder is not created when the Git setup is invoked. If I change Install-Git to not pass the /LOG argument, the Vagrant script completes successfully. However, if I precreate the log folder, the Go setup hangs.

Proposal

Migrate the provionsing script to use chocolatey instead to install all the dependencies. This would make our provisioning script much more portable and robust since we would leverage the Windows community to install the software.