Parallels Executor & Windows 10 VM - Stuck "Creating new VM..."
Summary
Hi,
I'm using Parallels Executor in order to test/build/deploy an Electron+React application using a pre-prepared MacOS and Windows 10 VM which also have SSH access enabled (tested too).
When registering the runners I then proceeded to add the relevant SSH user and password details into the config.toml.
The MacOS image works fine when a new build comes through, pipeline succeeds. However, the Windows 10 stages just hang endlessly and times out:

The Runner receives the job and Parallels even creates the template VM and the linked image. It appears as though GitLab Runner doesn't receive confirmation of this though and proceeds to do nothing which leads to the job timing out after a number of reattempts.
Hard to know whether there's something intricate I am missing with Windows, or whether this might be a bug with Gitlab Runner itself.
Any ideas? Really dont want to have to endure setting up another VM in VirtualBox runner just for Win10.
Steps to reproduce
- Create a Windows 10 Parallels VM and install/configure OpenSSH
- Register a runner using Parallels as the executor
- Edit the
config.tomland add the SSH user and password under the[runners.ssh]section - Ensure the Windows 10 VM image is properly shut down (not suspended)
- Run a build and watch the above happen
.gitlab-ci.yml
stages:
- test
test-win10:
stage: test
tags:
- windows10
variables:
NODE_ENV: "development"
DEBUG_MODE: 'true'
script:
- npm install
- npm run test
Actual behavior
The Windows 10 VM will be started by Parallels, based off the template it created. From there, the build process will not proceed any further and you'll be left with a Windows 10 VM running happily doing 0. An hour later the build will fail.
Expected behavior
The defined stage should complete!
Relevant logs and/or screenshots
job log
1 Running with gitlab-runner 12.6.0 (ac8e767a)
2 on [Ravs iMac]Parallels Windows 10 VM rpMNC3Qo
3
Using Parallels 14.1.0 executor...
4 Creating new VM...
5 ERROR: Preparation failed: PrlctlOutput error:
6 Will be retried in 3s ...
7 Using Parallels 14.1.0 executor...
8 Creating new VM...
9 ERROR: Preparation failed: PrlctlOutput error:
10 Will be retried in 3s ...
11 Using Parallels 14.1.0 executor...
12 Creating new VM...
13 ERROR: Job failed: execution took longer than 1h0m0s seconds
Environment description
config.toml contents
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "[Ravs iMac]Parallels MacOS VM"
url = "https://gitlab.com/"
token = "**********"
executor = "parallels"
[runners.custom_build_dir]
[runners.ssh]
user = "ci"
password = "password"
host = "macos-ci.shared"
port = "22"
[runners.parallels]
base_name = "macOS_CI"
disable_snapshots = false
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[[runners]]
name = "[Ravs iMac]Parallels Windows 10 VM"
url = "https://gitlab.com"
token = "**********"
executor = "parallels"
[runners.custom_build_dir]
[runners.ssh]
user = "ci"
password = "password"
host = "10.211.55.5"
port = "22"
[runners.parallels]
base_name = "Windows10_CI"
disable_snapshots = false
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
Used GitLab Runner version
Version: 12.6.0
Git revision: ac8e767a
Git branch: 12-6-stable
GO version: go1.13.4
Built: 2019-12-22T11:55:34+0000
OS/Arch: darwin/amd64
Parallels Version
Version 14.1.0 (45387) Business Edition
Possible fixes
N/A