docker-windows executor hangs with host-bound volumes
Summary
While experimenting with using the new docker-windows executor, I found that anytime I added host-bound volume, the runner would hang.
Steps to reproduce
- Configure a docker-windows runner with a host-bound volume
- Run CI/CD job on said runner
.gitlab-ci.yml
dir:
stage: test
script:
- dir
Actual behavior
-
job hangs
-
runner doesn't pick up other jobs even after timeout
Expected behavior
- runner/job doesn't hang
- an error should be displayed on either the job or the runner if not supported
Relevant logs and/or screenshots
job log
Running with gitlab-runner 11.11.0 (6c154264)
on mygitlabrunner xxxxxxxx
***
Environment description
Corporate GitLab Enterprise Edition 11.5.3-ee installation.
`docker info` contents
C:\>docker info
Containers: 9
Running: 2
Paused: 0
Stopped: 7
Images: 65
Server Version: 18.09.2
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd gelf json-file local logentries splunk syslog
Swarm: inactive
Default Isolation: process
Kernel Version: 10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434)
Operating System: Windows 10 Enterprise Version 1809 (OS Build 17763.195)
OSType: windows
Architecture: x86_64
CPUs: 16
Total Memory: 63.68GiB
Name: xxxxxx
ID: MI6N:H27P:SCWQ:U76G:G57X:5ZJI:W2DI:HBVH:T3JP:HUNA:VJ72:5E64
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: -1
Goroutines: 56
System Time: 2019-05-23T09:53:37.5939536-07:00
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
config.toml contents
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "mygitlabrunner"
url = "https://gitlab.xxx/"
token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
executor = "docker-windows"
[runners.docker]
disable_cache = false
disable_entrypoint_overwrite = false
image = "mcr.microsoft.com/windows/servercore:1809"
oom_kill_disable = false
privileged = false
shm_size = 0
tls_verify = false
volumes = ["c:\\cache", "c:\\source:c:\\destination"]
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
Used GitLab Runner version
C:\>gitlab-runner --version
Version: 11.11.0
Git revision: 6c154264
Git branch: 11-11-stable
GO version: go1.8.7
Built: 2019-05-20T20:19:50+0000
OS/Arch: windows/amd64
Edited by R. Andrew Ohana