Skip to content

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:
Screenshot_2019-12-26_at_12.53.38

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.toml and 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

Edited by Rav Sispal